zabbix监控流程
监控流程
- 确定监控目标:首先需要确定要监控的目标,可以是服务器、网络设备、应用程序等。
- 安装Zabbix代理:在要监控的目标上安装Zabbix代理软件,代理负责收集目标的监控数据并将其发送给Zabbix服务器。
- 配置监控项:在Zabbix服务器上配置监控项,用于定义要收集的指标,如CPU使用率、内存使用率、磁盘空间等。
- 创建触发器:为每个监控项设置触发器,用于定义何时触发警报。触发器可以基于阈值、时间间隔、事件关联等条件进行配置。
- 设置动作:创建动作以响应触发器的警报。可以通过发送电子邮件、短信、执行脚本等方式来通知管理员。
- 警报和通知:当触发器条件满足时,Zabbix服务器会发送警报通知给管理员。管理员可以根据警报进行相应的故障排查和修复。
本地邮箱告警配置
在客户端用系统发送邮件
安装所需软件包
[root@node1 ~]# yum -y install mailx postfix
Last metadata expiration check: 13:53:41 ago on Mon 25 Sep 2023 12:35:40 AM CST.
Dependencies resolved.
...
Installed:
mailx-12.5-29.el8.x86_64 postfix-2:3.5.8-2.el8.x86_64
Complete!
[root@node1 ~]#
在windows浏览器中登陆自己的qq邮箱,邮箱地址:mail.qq.com
启动postfix服务,查看端口
[root@node1 ~]# systemctl start postfix
[root@node1 ~]#
[root@node1 ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
[root@node1 ~]#
给自己的邮箱发送邮件
[root@node1 ~]# echo "hello world" | mail -s "这是一个测试邮件" [email protected]
[root@node1 ~]#
查看qq邮箱
在服务端通过脚本发送邮件
安装所需软件包
[root@controller ~]# yum -y install mailx postfix
Last metadata expiration check: 16:55:40 ago on Sun 24 Sep 2023 09:51:12 PM CST.
Dependencies resolved.
...
Installed:
mailx-12.5-29.el8.x86_64 postfix-2:3.5.8-2.el8.x86_64
Complete!
[root@controller ~]#
设置postfix服务开机自启,并查看端口
[root@controller ~]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
[root@controller ~]#
[root@controller ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
[root@controller ~]#
在服务端进入告警目录,创建一个存放邮件的脚本
[root@controller ~]# cd /usr/local/share/zabbix/alertscripts/
[root@controller alertscripts]#
[root@controller alertscripts]# vim sendmail.sh
[root@controller alertscripts]#
[root@controller alertscripts]# cat sendmail.sh
#!/bin/bash
echo $1 | mail -s $2 $3
[root@controller alertscripts]#
给脚本加上执行权限,并向邮箱发送邮件
[root@controller alertscripts]# chmod +x sendmail.sh
[root@controller alertscripts]# ll
total 4
-rwxr-xr-x 1 root root 37 Sep 25 14:57 sendmail.sh
[root@controller alertscripts]#
[root@controller alertscripts]# ./sendmail.sh "mhy\nop" "这是一个测试邮件" [email protected]
[root@controller alertscripts]#
查看qq邮箱
定义媒介
修改脚本文件
[root@controller alertscripts]# vim sendmail.sh
[root@controller alertscripts]# cat sendmail.sh
#!/bin/bash
a=$(echo $1 | tr "\r\n" "\n" )
b=$(echo $2 | tr "\r\n" "\n" )
c=$3
echo $a | mail -s $b $c
[root@controller alertscripts]#
创建媒介
name后面填写自定义名称
script name后面填写你创建的脚本名称
script parameters后面添加三个参数,分别是正文、主题和收件人,对应脚本中的$1,$2,$3。
点击Add
媒介创建成功,发送邮件测试
查看qq邮箱
给admin用户添加媒介
send后面填写你接收邮件的邮箱
配置动作
创建动作
设置时间间隔,添加动作
选择发送方式,并添加组
update后面也添加一个动作
动作添加成功
为媒介添加信息模板
由于之前添加的触发器显示有问题,需要重新添加
将有问题的触发器选中删除
重新添加触发器
添加成功
将之前弹出的告警关闭
修改客户端testfile文件
[root@node1 ~]# echo '#' >> /tmp/testfile
[root@node1 ~]#
告警已触发
查看qq邮箱
第三方邮箱网页配置告警
需求:
zabbix服务用的邮箱
个人邮箱
登录网易邮箱 mail.126.com,也可以选择其他邮箱
点击设置选择POP3/SMTP/IMAP
可以看到邮箱的服务器地址
修改Email媒介
SMTP server后面添加SMTP服务器地址
Email后面添加网易邮箱
Authentication后面选择username and password
username后面填写网易邮箱
获取授权密码
开启POP3/SMTP服务
授权密码只显示一次,建议复制到文本里
password后面填写获取到的授权密码
Email媒介开启成功,测试向qq邮箱发送邮件
查看qq邮箱
修改触发器动作
将send only to后面改成Email
修改admin用户媒介
将之前添加的媒介删除
重新添加媒介
可以选择添加多个媒介,这样在配置动作时选择哪一种都可以
先将之前触发的告警关闭
再次修改客户端文件触发告警
[root@node1 ~]# echo '#' >> /tmp/testfile
[root@node1 ~]#
查看qq邮箱