zabbix 部署、配置、使用

297 阅读3分钟

一、zabbix_server和zabbix_agent部署

1、环境 系统为centos7.6 zabbix版本为zabbix 4.2 数据库使用的是RDS-mysql

2、在zabbix_server上安装zabbix源

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

3、重构缓存

yum clean all
yum  makecache

4、安装zabbix-server和angent

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

5、初始化zabbix数据库,host、user、password、dbname填写实际的信息

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h  host -u user -p password  dbname

6、修改zabbix_server配置文件 /etc/zabbix/zabbix_server.conf 中db相关信息

7、systemctl restart zabbix-server zabbix-agent httpd

8、systemctl enable zabbix-server zabbix-agent httpd

9、通过http://ip/zabbix访问开始配置

10、如果有PHP option "date.timezone" unknown Fail 报错 修改/etc/php.ini 将里面的;date.timezone = 改成date.timezone = Asia/Shanghai/

sed -i 's/;date.timezone =/date.timezone = Asia/Shanghai/'  /etc/php.ini
​
查看并修改/etc/httpd/conf.d/zabbix.conf配置文件的配置
​
vi /etc/httpd/conf.d/zabbix.conf
1
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai //修改时区

11、
image.png

全部ok点击下一步

12、

image.png

输入DB相关信息,下一步

13、

image.png

下一步

14、

image.png

下一步

15、

image.png

点击完成

16、

image.png

登陆 默认账户名密码:admin zabbix

17、

image.png

点击小人。可以设置语言

18、

image.png

新建一个主机群组 配置-主机群组-新建主机群组

19、

image.png

新建一个主机 配置-主机-新建一个主机

至此server已经部署完成,并且server已经正常监控

20、添加agent

在agent的机器上运行

21、rpm -Uvh repo.zabbix.com/zabbix/4.2/…

22、yum clean all

23、yum -y install zabbix-agent

24、vim /etc/zabbix/zabbix_agentd.conf 修改配置文件里的server地址 、ServerActive=serverip Hostname=system.hostname ListenIP=本机ip

server : sed -i 's/Server=127.0.0.1/Server=172.16.196.74/' /etc/zabbix/zabbix_agentd.conf

serveractive ansible all -m shell -a "sed -i 's/ServerActive=127.0.0.1/ServerActive=172.16.196.74/' /etc/zabbix/zabbix_agentd.conf"

hostname [root@iZbp11rab6309tezha2fsqZ zabbix]# more ~/test.sh 
#! /bin/bash
a=`ip a|grep 172.16|awk '{print $2}'|awk -F '/' '{print $1}'` && sed -i "s/Hostname=system.hostname/Hostname=$a/" /etc/zabbix/zabbix_agentd.conf
​
​
ansible  all -m script -a "~/test.sh"
listenip
#! /bin/bash
a=`ip a|grep 172.16|awk '{print $2}'|awk -F '/' '{print $1}'` && sed -i "s/# ListenIP=0.0.0.0/ListenIP=$a/" /etc/zabbix/zabbix_agentd.conf
​

25、systemctl restart zabbix-agent

26、systemctl enable zabbix-agent

27、打开web界面新建主机将agent和server监控一样加到监控中即可

28、zabbix 监控项报sudo tty这样的报错 需要在visduo中加上zabbix ALL = NOPASSWD: ALL

二、增加钉钉和电话告警

1、增加钉钉告警,在zabbix_server服务器上的/usr/lib/zabbix/alertscripts/下添加钉钉告警脚本。脚本内容如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=dingding机器人
def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "1xxxxxxxxxxxxx"
            ],
            "isAtAll": False
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
    text = sys.argv[1]
    print (text)
    msg(text)

2、

image.png

打开zabbix的web监控界面点击管理-报警媒介类型-创建新的媒体类型

3、添加钉钉告警媒介类型,名称自定义,类型选择脚本,脚本名称填zabbix_server /usr/lib/zabbix/alertscripts/下的钉钉告警名称,脚本参数写告警内容,{ALERT.MESSAGE}指动作里操作中的消息内容。

image.png

4、配置用户报警媒介 管理-用户-选择用户-报警媒介

image.png

5、配置动作 ,配置-动作-创建动作

image.png

image.png 新增一个操作

image.png

至此钉钉告警完成

7、配置报警媒介类型 管理-报警媒介类型-创建媒体类型

image.png

8、配置用户 管理-用户-创建用户

image.png

9、配置动作 配置-动作-新建动作-操作-新的

image.png

至此告警添加完成,需要注意的是创建用户的时候,要给用户读写权限,zabbi_server上的脚本要有执行权限。需要给脚本中的日志文件更改成属主属组为zabbix用户

zabbix 主机自动发现

首先确保agent配置文件中的hostanme为system.hostname或者为本机ip

打开zabbix 页面 配置-动作 事件源选自动发现 -创建动作

image.png

image.png

image.png 创建自动发现

image.png

image.png

添加jvm 自动发现

首先把应用名和关键字放入tinyplatapp.txt 然后把所有脚本拷到特定目录下,接着ansible auto -m shell -a "sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/' /etc/zabbix/zabbix_agentd.conf"