共计 3102 个字符,预计需要花费 8 分钟才能阅读完成。
1、部署Zabbix 3.4
添加源配置
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
安装相关软件
yum install zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql mariadb-server mariadb -y
注:如果Server端也需要监控则需要安装zabbix-agent
修改zabbix的PHP前端配置文件
#vi /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
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 always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
</IfModule>
初始化数据库配置
[v_error]注意:创建数据库时务必指定character,否则可能导致告警信息中文显示乱码[/v_error]
shell> mysql -uroot -p<root_password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
导入模型和数据
zcat /usr/share/doc/zabbix-server-mysql-3.4.2/create.sql.gz | mysql -uzabbix -D zabbix -p zabbix
修改zabbix配置文件,编辑数据库信息
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
启动zabbix server并设置开机启动
# systemctl start zabbix-server
# systemctl enable zabbix-server
启动httpd服务
# systemctl start httpd
浏览器访问,并进行安装
http://ipaddr:80/zabbix
2、自定义机器人
钉钉提供了一个 webhook 地址,https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx。
在钉钉中,点击机器人管理,申请机器人,并与通知群绑定,保存webhook地址即可
3、插件下载
[url href=http://pan.cloudcared.cn/f/463e194e1592416aa327]个人网盘[/url]
全站密码:cloudcared.cn
下载完成后,您可以直接在Linux中执行该程序进行测试。
通过下面方法,可以快速验证自定义机器人是否可以正常工作:
./golang-zabbix-robot-64 -webhook=https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx
4、部署程序
解压该插件后,给予x执行权限,重命名为dingding,并移动至zabbix存放脚本的目录
unzip golang-zabbix-robot-64.zip
mv unzip golang-zabbix-robot-64 dingding && chmod +x dingding
查看zabbix存放脚本的位置:
cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath=
将脚本移动至zabbix目录
mv /root/dingding /usr/lib/zabbix/alertscripts/
创建/tmp/dingding.log 并更改属主为zabbix
5、创建报警媒介
添加钉钉告警脚本,并添加脚本参数
-webhook=https://oapi.dingtalk.com/robot/send?access_token=03bf84cbcc6f2869f1b57e7a5ff8ec72f7af157b2682c4e1fd608d2db0f10bd6
-msg={ALERT.MESSAGE}
-url=http://172.20.8.12/zabbix
-log=/tmp/dingding.log
其中
[v_warn]-webhook:为钉钉机器人的webhook
-msg:为zabbix定义的告警message
-url:为zabbix的调用url
-log:为记录日志,对应与zabbix server的日志文件[/v_warn]
6、创建动作
默认告警信息及恢复消息
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<from>{HOSTNAME1}</from>
<time>{EVENT.DATE} {EVENT.TIME}</time>
<level>{TRIGGER.SEVERITY}</level>
<name>{TRIGGER.NAME}</name>
<key>{TRIGGER.KEY1}</key>
<value>{ITEM.VALUE}</value>
<now>{ITEM.LASTVALUE}</now>
<id>{EVENT.ID}</id>
<ip>{HOST.IP}</ip>
<url>这里是点击报警消息可以访问的链接地址</url>
<age>{EVENT.AGE}</age>
<status>{EVENT.STATUS}</status>
<acknowledgement> {EVENT.ACK.STATUS} </acknowledgement>
<acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory>
</root>
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<from>{HOSTNAME1}</from>
<time>{EVENT.DATE} {EVENT.TIME}</time>
<level>{TRIGGER.SEVERITY}</level>
<name>{TRIGGER.NAME}</name>
<key>{TRIGGER.KEY1}</key>
<value>{ITEM.VALUE}</value>
<now>{ITEM.LASTVALUE}</now>
<id>{EVENT.ID}</id>
<ip>{HOST.IP}</ip>
<color>FF4A934A</color>
<url>http://zabbix.gogen.cn</url>
<age>{EVENT.AGE}</age>
<recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>
<status>OK</status>
</root>