Zabbix 自定義監控
zabbix-agent 獲取數據,然后定義,交給 zabbix-server 端
Zabbix 配置監控項
監控的內容
# 監控服務器登錄用戶的數量
[root@web01 ~]# w | awk 'NR==1 {print $(NF-6)}'
1
客戶端配置文件
[root@web01 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.1.71
ServerActive=172.16.1.71
Hostname=db01
# 子配置文件路徑
Include=/etc/zabbix/zabbix_agentd.d/*.conf
定義監控項語法
# 語法:
Format:
UserParameter=<key>,<shell command>
# 官方示例
[root@web01 ~]# tail -n 2 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
設置自定義監控項
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/login_user.conf
UserParameter=login_usernumber,w | awk 'NR==1 {print $(NF-6)}'
重啟客戶端
[root@web01 ~]# systemctl restart zabbix-agent.service
客戶端驗證
[root@web01 ~]# zabbix_agentd -t login_usernumber
login_usernumber [t|4]
[root@web01 ~]# zabbix_agentd -p | grep login_usernumber
login_usernumber [t|4]
# 得到的結果,前面的字母含義
d # 帶小數部分的數字
m # 不支持,只有在這種模式下,查詢日志才可能是活動的(如日志監視項或需要多個收集值的項)引起的。權限問題或不正確的用戶參數可能
s # 文本。最大長度不受限制。
t # 文本。最大長度不受限制。
u # 無符號整數
服務端獲取值
[root@zabbix ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.1-1.el7.x86_64.rpm
# zabbix_get 語法
zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key
-s # 主機名或者IP地址
-p # 端口
-I # IP地址
-k # 監控項的key名稱
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -p 10050 -k login_usernumber
4
Web 頁面添加監控項
Zabbix 配置觸發器(閾值)
Zabbix 郵件告警
自定義告警郵件格式
#==================== 告警標題 & 告警模板 ========================#
# 默認標題:
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
# 消息內容:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
#==================== 恢復標題 & 恢復模板 ========================#
# 默認標題:
恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
# 消息內容:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}