56.zabbix自定义监控-微信告警

zabbix日志路径

服务端日志:/tmp/zabbix_server.log
客户端yum安装的agent日志:/var/log/zabbix/zabbix_agentd.log

zabbix更改字体

#1. 在Windows上找个看着舒服的字体文件
C:\Windows\Fonts\

#2. 上传到zabbix代码目录下替换掉DejaVuSans.ttf
[root@zabbix /code/zabbix/assets/fonts]# mv  DejaVuSans.ttf   DejaVuSans.ttf.bak
[root@zabbix /code/zabbix/assets/fonts]# mv  方正粗黑宋简体.ttf  DejaVuSans.ttf

客户端安装agent

  • 注意服务端也要安装agent,要自己监控自己
#1.安装zabbix-agent
[root@web01 ~]# yum -y install zabbix-agent

#2.配置zabbix-agent指向服务端172.16.1.71
[root@web01 ~]# grep -n ^Server /etc/zabbix_agentd.conf 
115:Server=172.16.1.81

#3.启动+开机自启
systemctl enable --now zabbix-agent

#4.检查端口
[root@web01 ~]# netstat -tupln | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      1515/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      1515/zabbix_agentd 

添加资产

image-20250118153606139
image-20250118153928807

zabbix自定义监控=.=

一、系统当前登录连接数量

  • 取值:只要能取值,就能监控
  • 配置到zabbix-agent.conf
  • 在zabbix服务端取值测试
  • 将自定义的key添加到zabbix页面进行监控
#1.客户端取出系统当前登录连接数量
uptime | awk '{print $(NF-6)}'

#2.客户端写入到客户端配置文件user_login自定义名字,相当于变量赋值。zabbix调用变量。注意UserParameter大小写
UserParameter=user_login,uptime | awk '{print $(NF-6)}'

#3.客户端重启agent
systemctl restart zabbix-agent

#4.客户端查看有没有这个key值,zabbix_agentd -p全部的key值,可以grep过滤user_login
zabbix_agentd -p

#4.服务端调用检查是否自定义key值成功取出
zabbix_get -s 172.16.1.7 -k user_login

#5.配置到web监控页面(下图)
  • 配置–>主机–>点击web01监控项–>右上角创建监控项
image-20250118162800437
image-20250118163752083

二、监控nginx端口状态

  • 1.取值:UserParameter=nginx_port,netstat -tupln | grep nginx | wc -l
  • 2.配置到zabbix-agent.conf并重启agent
  • 3.zabbix用户没有使用netstat命令的权限,加权限。chmod u+s /usr/bin/netstat(s的含义?)
  • 4.服务端zabbix_get -s 172.16.1.7 -k nginx_port测试。非0就表示nginx端口正常
  • 5.配置到web监控页面(下图)
image-20250118170615637
image-20250118170335514

三、zabbix自带key值监控

  • zabbix自带有key值,有的不需要自己定义
  • 比如说监控80端口那key值就是net.tcp.listen[80]
  • (其他key值看下图)
#1.未自定义net.tcp.listen[80]服务端测试,也是可以的
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k net.tcp.listen[80]
1
image-20250118173644854
image-20250118174130165

四、规范自定义监控配置文件

  • 跟nginx一样,类似conf.d下所有.conf结尾的都incalude包含识别
#1.需要自己创建文件夹,让后zabbix-agent.conf配置include包含。类似nginx
[root@web01 ~]# mkdir /etc/zabbix_agentd.conf.d/

#2.更改zabbix-agent.conf配置文件添加include
[root@web01 /etc/zabbix_agentd.conf.d]# grep -n Include /etc/zabbix_agentd.conf | grep 314
314:Include=/etc/zabbix_agentd.conf.d/*.conf

#3.创建配置文件,配置key值
[root@web01 ~]# echo "UserParameter=nginx_port,netstat -tupln | grep nginx | wc -l"  > /etc/zabbix_agentd.conf.d/os.conf

#4.删除之前zabbix_agentd.conf里的(UserParameter=nginx_port,netstat -tupln | grep nginx | wc -l)并重启
[root@web01 ~]# systemctl restart zabbix-agent

五、监控内存使用率

#1.内存百分比$3/$2*100
echo "free | free | awk 'NR==2{print $3/$2*100}'"  >> /etc/zabbix_agentd.conf.d/os.conf

#2.重启服务
[root@web01 ~]# systemctl restart zabbix-agent

#3.服务端web界面配置监控
image-20250118181301893

zabbix触发器报警=.=

1.设置用户登录数超过两个则告警,默认告警到zabbix页面上

  • 配置–>主机–>点击web01触发器–>右上角创建触发器
image-20250118182646548
image-20250118182833283
image-20250118183028704

2.设置内存百分比超过80报警

image-20250118183404768
image-20250118183515887

3.联合告警,并且或者

image-20250118184458799
image-20250118184749457

zabbix告警发送邮件

1.配置告警媒介为email

image-20250118205428363
image-20250118205909994
image-20250118213345585

2.配置动作

配置–>动作–>启用Report problems to Zabbix administrators–>点击Report problems to Zabbix administrators配置

image-20250118210145786
image-20250118210346870

3.配置收件人

image-20250118210629722
image-20250118210511364

告警前远程执行命令

  • 比如nginx挂了告警,先让他重启一下试试,如果不成功再报警
  • zabbix做一下sudo提权,没有systemctl权限
  • visudo 添加zabbix ALL=(ALL) NOPASSWD:ALL
#1.zabbix做一下sudo提权,没有systemctl权限visudo 添加
zabbix ALL=(ALL) NOPASSWD:ALL

#2.客户端开启远程执行命令功能/etc/zabbix_agentd.conf
EnableRemoteCommands=1

#3.重启客户端服务
image-20250118213849229
image-20250118214610480
image-20250118214839797

微信告警通知

  • 注册企业微信,登录。https://work.weixin.qq.com/wework_admin/register_wx?from=myhome
image-20250118215625762
image-20250118215757782
image-20250120154505798
image-20250120154753855
image-20250120154938712
image-20250120155213474
  • 下载weixin.py脚本上传到zabbix服务端。更改脚本的刚才记住secret码
#1. 更改weixin.py里的这三个值。这三个值下图获得
corpid='ww1a349c09a7517061'
appsecret='wU3Iw494sAsfDAv5v7JfPNY_s6xwI0v_LKIqYi3zA'
agentid=1000002

#2. 安装python2版本,安装python2-pip(用来安装python依赖),安装运行python脚本的依赖
yum -y install python2
yum -y install python2-pip
pip2.7 install requests
image-20250120160029604
image-20250120160140054
# 测试脚本,命令
python2.7 weixin.py "HaoShuaiCong" "今天天气真好" "你的zabbix现在怎么样了"

# 这里其他信息也可以发了,比如备份是否成功,md5校验是否成功。
[root@zabbix ~]# md5sum /etc/hostname 
6e1749683f40eb14cc78a188165f9263  /etc/hostname
[root@zabbix ~]# md5sum /etc/hostname >> /tmp/1.log
[root@zabbix ~]# md5sum -c /tmp/1.log 
/etc/hostname: OK
/etc/nginx.conf: OK
/etc/wer.conf: OK

# 定时脚本,监控是否变化,是否变化发送到企业微信。或者只发错误的
python2.7 weixin.py "HaoShuaiCong" "今日md5校验结果" "`md5sum -c /tmp/1.log`"

#当然还有很多用处通知微信,比如下面zabbix告警
image-20250120160937518
image-20250120161124832
image-20250120162205540

zabbix配置企业告警

# 1.把weixin.py放到/usr/local/share/zabbix/alertscripts/目录下,因为zabbix执行默认去这个目录下找脚本
[root@zabbix /]#  cp /root/weixin.py  /usr/local/share/zabbix/alertscripts/
[root@zabbix /]#  chmod +x weixin.py 

# 2.授权/tmp/weixin.log因为刚才手动命令行执行脚本,生成的log文件属主属组是root
chown zabbix.zabbix /tmp/weixin.log
image-20250120163741787
{ALERT.SENDTO}  #发给谁
{ALERT.SUBJECT} #报警标题
{ALERT.MESSAGE} #报警内容

默认标题:
故障: {EVENT.NAME}
消息内容:
报警主机: {HOST.NAME1}
报警服务: {ITEM.NAME}
报警key1: {ITEM.KEY1}: {ITEM.VALUE1}
报警key2: {ITEM.KEY2}: {ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}

恢复操作
默认标题:
恢复: {EVENT.NAME}
消息内容:
恢复主机: {HOST.NAME1}
恢复服务: {ITEM.NAME}
恢复key1: {ITEM.KEY1}: {ITEM.VALUE1}
恢复key2: {ITEM.KEY2}: {ITEM.VALUE2}
image-20250120165036412
  • 这里的自定义消息也可以在,媒介–>点开weixin–>消息模版,中配置
image-20250120164406310
image-20250120165517533
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇