使用zabbix实现邮箱/钉钉告警
目录[*]一、zabbix部署
[*]1、安装zabbix服务端
[*]2、准备数据库(mariadb简单点)
[*]3、修改服务的配置
[*]二、登录zabbix
[*]三、客户端配置
[*]1、安装软件包
[*]2、修改配置文件
[*]3、启动客户端服务
[*]四、报错解决
[*]五、添加监控主机
[*]1、安装软件包
[*]2、修改配置文件
[*]3、启动客户端服务
[*]4、回到zabbix添加主机
[*]5、添加模板
[*]六、添加mysql自定义监控项
[*]1、被监控主机上安装mariadb做测试
[*]2、编写客户端监控项配置文件
[*]3、验证自定义的监控项是否生效
[*]4、web端添加监控项对应键值
[*]5、添加图形可视化(选做)
[*]6、添加对应的触发器
[*]7、小问题
[*]七、zabbix实现邮件告警
[*]1、配置告警媒介
[*]2、获取qq邮箱授权码
[*]3、添加接收报警邮件的邮箱
[*]4、配置动作发送给用户群组
[*]5、测试(关闭被监测主机mariadb)
[*]八、zabbix通过钉钉/企业微信告警
[*]1、钉钉群聊
[*]2、添加群机器人(PC端创建)
[*]3、到服务端/usr/lib/zabbix/alertscripts下准备python脚本
[*]4、测试脚本
[*]5、添加告警媒介
[*]6、添加动作
[*]7、绑定用户,用户收件人写电话号码
[*]8、手动测试(关闭mariadb)
[*]效果呈现:
一、zabbix部署
涉及的虚拟主机:
主机名ip地址server1192.168.112.60server2192.168.112.501、安装zabbix服务端
[*]准备yum源,安装服务的组件
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# yum install zabbix-server-mysql zabbix-web-mysql-y
[*]关闭selinux、防火墙
# setenforce 0
setenforce: SELinux is disabled
# systemctl stop firewalld
2、准备数据库(mariadb简单点)
[*]安装数据库
# yum install -y mariadb-server
# systemctl start mariadb
# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[*]创建zabbix用户
# mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by '000000';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> \q
3、修改服务的配置
[*]导入初始架构数据
# zcat /usr/share/doc/zabbix-server-mysql-4.0.50/create.sql.gz | mysql -uzabbix -D zabbix -p000000
[*]为zabbix配置数据库
sed -i '/^# DBPassword=/a DBPassword=000000' /etc/zabbix/zabbix_server.conf
[*]编辑前端php配置
sed -i '/php_value always_populate_raw_post_data -1/a\php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
[*]启动服务
# systemctl restart zabbix-server httpd
# systemctl enable zabbix-server httpd
zabbix服务端部署完成,可以通过http://ip地址/zabbix访问,初始化完成之后使用用户Admin 密码zabbix登录
二、登录zabbix
Next step
Next step
Next step
Next step
Next step
完成,登录
简单汉化一下
三、客户端配置
1、安装软件包
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# yum install -y zabbix-agent2、修改配置文件
# vim /etc/zabbix/zabbix_agentd.conf
#主要修改以下三个参数
Server=192.168.112.60
ServerActive=192.168.112.60
Hostname=server13、启动客户端服务
# systemctl start zabbix-agent.service四、报错解决
配置->主机->替换IP地址->更新
# systemctl restart zabbix-server大概会等十分钟
五、添加监控主机
1、安装软件包
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# yum install -y zabbix-agent2、修改配置文件
# vim /etc/zabbix/zabbix_agentd.conf
# 主要修改以下三个参数
Server=192.168.112.60 #上报给服务端
ServerActive=192.168.112.60 #服务端
Hostname=server2 #和server1不一样即可3、启动客户端服务
# systemctl restart zabbix-agent
# ss -tnl #看到端口10050起来了就行
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:10050 [::]:*4、回到zabbix添加主机
配置->主机->创建主机
5、添加模板
配置->主机->server2->模板添加->更新
正常到这一步主机已经变为绿色,并且模板自动添加了应用集与监控项
六、添加mysql自定义监控项
1、被监控主机上安装mariadb做测试
# yum install -y mariadb-server
# systemctl start mariadb2、编写客户端监控项配置文件
# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mariadb_status,mysqladmin ping 2>/dev/null|grep -c alive #判断mariadb状态
UserParameter=mariadb_connections,mysql -e "show processlist;" 2>/dev/null | sed -n '2,$'p | wc -l #mariadb连接数
UserParameter=mariadb_max_connections,mysql -e 'show variables like "%max_connections%"' 2>/dev/null|tail -1|awk '{print $2}'
#mariadb最大连接数
# systemctl restart zabbix-agent.service
注意,添加到监控项配置文件里的命令需结合自身情况合理编写
3、验证自定义的监控项是否生效
#yum install zabbix-get.x86_64 -y
# zabbix_get -s 192.168.112.50 -k mariadb_status
1
# zabbix_get -s 192.168.112.50 -k mariadb_max_connections
1514、web端添加监控项对应键值
配置->主机->server2->监控项->创建监控项
5、添加图形可视化(选做)
配置->主机->server2->图形->创建图形
6、添加对应的触发器
配置->主机->server2->创建触发器
7、小问题
如果出现了这个警告问题不大,毕竟我们刚才安装了mariadb数据库,自然在/etc/passwd上添加了用户
七、zabbix实现邮件告警
1、配置告警媒介
管理->报警媒介类型->Email
2、获取qq邮箱授权码
登录qq邮箱->设置->账号->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->
短信验证
将生成好的授权码作为密码填入
3、添加接收报警邮件的邮箱
管理->用户->Admin->添加报警媒介->更新
4、配置动作发送给用户群组
配置->动作->启用->Report problems to Zabbix administrators
5、测试(关闭被监测主机mariadb)
# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:10050 [::]:*
# systemctl stop mariadb
八、zabbix通过钉钉/企业微信告警
1、钉钉群聊
手机端直接拉个普通群,PC端 不好操作
2、添加群机器人(PC端创建)
群设置->机器人->添加机器人->自定义机器人->保管好Webhook
3、到服务端/usr/lib/zabbix/alertscripts下准备python脚本
# pwd
/usr/lib/zabbix/alertscripts
# yum install -y python-requests #下载requests模块#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: xxxxxxxx
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=7b7f9820e221a6a6ecca0944622275ab9c53394cc66145e58156e95e319fc30e" #写自己的Webhook
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"13333333333"
],
"isAtAll": True
},
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = "zabbix-test" #测试一下文本
#text = sys.argv
msg(text)4、测试脚本
# chmod a+x zabbix-ding.py
# ./zabbix-ding.py
{"errcode":0,"errmsg":"ok"}
没问题回到代码进行修改
# vim zabbix-ding.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: xxxxxxxx
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=7b7f9820e221a6a6ecca0944622275ab9c53394cc66145e58156e95e319fc30e"
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"13333333333"
],
"isAtAll": True
},
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
#text = "zabbix-test"
text = sys.argv
msg(text)5、添加告警媒介
管理->报警媒介类型->创建媒体类型->添加名称,脚本名称,脚本参数
6、添加动作
配置->动作->创建动作
7、绑定用户,用户收件人写电话号码
管理->用户->Admin->报警媒介->添加报警媒介->更新
8、手动测试(关闭mariadb)
# systemctl stop mariadb
# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 [::]:10050 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*效果呈现:
来源:https://www.cnblogs.com/misakivv/p/18078384
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]