目錄
一、自動發現及自動注冊
1、自動發現
2、自動注冊規則
二、監控告警并發送電子郵件
1、設定發郵件的地址
2、設定發郵件的用戶
3、設定監控及觸發的條件
4、開始告警并設置觸發發郵件
三、釘釘告警
1、配置zabbix-server
2、配置監控及觸發
3、web頁面操作
4、測試
操作前準備
準備一臺主機配置zabbix server(IP為192.168.58.170),四臺測試客戶端(IP分別為192.168.58.171、192.168.58.172、192.168.58.173、192.168.58.174)
一、自動發現及自動注冊
五臺主機關閉防火墻SELinux
[root@bogon ~]# systemctl disable --now firewalld.service Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service". Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service". [root@bogon ~]# setenforce 0
192.168.58.172配置
? [root@bogon ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm [root@bogon ~]# yum install -y zabbix-agent ? [root@bogon ~]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1改為: Server=192.168.58.170 ? [root@bogon ~]# systemctl start zabbix-agent.service
192.168.58.173配置
[root@bogon ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm [root@bogon ~]# yum install -y zabbix-agent ? [root@bogon ~]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1改為: Server=192.168.58.170 ? Hostname=Zabbix server改為: Hostname=host2 ? [root@bogon ~]# systemctl start zabbix-agent.service
1、自動發現
1.數據采集——自動發現——創建自動發現規則
2.告警——動作——發現動作——創建動作——動作——操作
就可以看到符合網段的用戶自動加入設定好的主機群組和運用的模板
2、自動注冊規則
192.168.58.174配置
[root@bogon ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm [root@bogon ~]# yum install -y zabbix-agent ? [root@bogon ~]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1改為: Server=192.168.58.170 ? Hostname=Zabbix server改為: Hostname=host2 ? [root@bogon ~]# systemctl start zabbix-agent.service
告警——動作——發現動作——自動注冊動作——創建動作——動作——操作
就可以看到符合該主機名條件的自動注冊設定好的主機群組和運用的模板
二、監控告警并發送電子郵件
1、設定發郵件的地址
告警——媒介——創建媒介類型——報警媒介類型——消息模板
密碼為網易郵件中開啟IMAP/SMTP服務的授權密碼
2、設定發郵件的用戶
用戶——用戶——admin——報警媒介
3、設定監控及觸發的條件
在監控主機192.168.58.172上設好監控文件
[root@bogon ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@bogon zabbix_agentd.d]# ls [root@bogon zabbix_agentd.d]# vim test.conf UserParameter=user_count,w | awk 'NR>=3{print|"wc -l"}' ? [root@bogon zabbix_agentd.d]# systemctl restart zabbix-agent.service
數據采集——模板——監控項——創建監控項——創建圖形——創建觸發器
4、開始告警并設置觸發發郵件
主機——監控的主機——加入之前設定好的模板(里面提前設好監控內容及觸發器,也可以自己從新設定監控和觸發器)
告警——動作——觸發器動作——創建動作——操作
當條件觸發就可以看到設置好的郵箱里發來一封郵件
三、釘釘告警
1、配置zabbix-server
192.168.58.170
1.配置釘釘腳本
#將腳本寫在/usr/lib/zabbix/alertscripts/目錄下 [root@zabbix zabbix_agentd.d]# cd /usr/lib/zabbix/ [root@zabbix zabbix]# ls alertscripts externalscripts [root@zabbix zabbix]# cd alertscripts/ [root@zabbix alertscripts]# ls [root@zabbix alertscripts]# vim dingding.py #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import sys import os import datetime webhook = "https://oapi.dingtalk.com/robot/send?access_token=382cec5bbd171e65780867f926cfdea2ad8faf92d4b7216e48bee4c8a60601d6" #修改為自己的webhook user=sys.argv[1] subject=sys.argv[2] text=sys.argv[3] data={"msgtype": "text","text": {"content": "%s%s"%(subject,text)},"at": {"atMobiles": [user],"isAtAll": False} } headers = {'Content-Type': 'application/json'} x=requests.post(url=webhook,data=json.dumps(data),headers=headers) if os.path.exists("/usr/lib/zabbix/alertscripts/log/dingding.log"):f=open("/usr/lib/zabbix/alertscripts/log/dingding.log","a+") else:f=open("/usr/lib/zabbix/alertscripts/log/dingding.log","w+") f.write("\n"+"--"*30) if x.json()["errcode"] == 0:f.write("\n"+str(datetime.datetime.now())+" ? "+str(user)+" ? "+"發送成功"+"\n"+str(text))f.close() else:f.write("\n"+str(datetime.datetime.now())+" ? "+str(user)+" ? "+"發送失敗"+"\n"+str(text))f.close()
2.為腳本添加執行權限
[root@zabbix alertscripts]# chmod +x dingding.py
3.修改腳本的屬主和屬組:
[root@zabbix alertscripts]# chown zabbix.zabbix dingding.py
4.創建日志文件:
[root@zabbix alertscripts]# mkdir -p /usr/lib/zabbix/alertscripts/log/ [root@zabbix alertscripts]# ls dingding.py log [root@zabbix alertscripts]# touch /usr/lib/zabbix/alertscripts/log/dingding.log [root@zabbix alertscripts]# chown zabbix.zabbix -R /usr/lib/zabbix/alertscripts/log/ [root@zabbix alertscripts]# ./dingding.py 15013075845 警告 test
5.測試腳本是否能運行成功:
注意關鍵詞
#py腳本 手機號 關鍵詞 告警信息 ./dingding.py 12312312312 告警 test ?
[root@zabbix alertscripts]# ./dingding.py 12312312312 警告 test
2、配置監控及觸發
192.168.58.171配置
[root@bogon ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm [root@bogon ~]# yum install -y zabbix-agent ? [root@bogon ~]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1改為: Server=192.168.58.170 ? [root@bogon ~]# systemctl start zabbix-agent.service
在受監控的主機上設好監控文件
##192.168.58.171 [root@bogon zabbix_agentd.d]# vim userparameter_dingding.conf UserParameter=user_countdd,w | awk 'NR>=3{print|"wc -l"}' [root@bogon zabbix_agentd.d]# systemctl restart zabbix-agent.service
3、web頁面操作
告警–>媒介–>創建媒體類型 –> 報警媒介類型–> 消息模板
告警–>觸發器動作–>創建動作—>動作—>操作
用戶 –> admin –>報警媒介
采集數據–>模板–>創建模板–>主機–>–>監控項–>觸發器
4、測試
當條件觸發
在釘釘上可以看到