zabbix的自定义监控
進(jìn)程和日志
- 有的時(shí)候zabbix提供的監(jiān)控項(xiàng)目,不能滿足我們生產(chǎn)環(huán)境下的監(jiān)控需求,此時(shí)我們就要按照zabbix的規(guī)范自定義監(jiān)控項(xiàng)目,達(dá)到監(jiān)控的目的
- zabbix_get:模擬zabbix_server和agent獲取數(shù)據(jù)
- 相關(guān)概念
- item: Items是從agnet主機(jī)里面獲取的所有數(shù)據(jù)。通常情況下我叫itme為監(jiān)控項(xiàng),item由key+參數(shù)組成
- Key:我們可以理解為key是item的唯一標(biāo)識(shí),在agent端有很多監(jiān)控項(xiàng),zabbix-server根據(jù)key區(qū)分不同的監(jiān)控項(xiàng)
- trigger:觸發(fā)器是建立在item數(shù)據(jù)上的,具有閾值觸發(fā)事件的功能
基本格式: :.()}
server:agent名稱,加入主機(jī)時(shí)配置的
key:就是上面說(shuō)的key
function:對(duì)閾值進(jìn)行操作的函數(shù),以下函數(shù)
operate:表達(dá)式
constant:常量
例如:{docker02:proc.mysql.last()}<>1
- 不用擔(dān)心trigger表達(dá)式不好寫(xiě),在定義好item后,在zabbix點(diǎn)點(diǎn)就自動(dòng)生成了
下面以監(jiān)控postfix服務(wù)進(jìn)程為例,做了自定義監(jiān)控
1. zabbix_server與zabbix_agent
- zabbix_server通過(guò)發(fā)送key給zabbix_agent,然后agent端口根據(jù)key,把所要監(jiān)控的item的最新數(shù)據(jù)返回給server端
2. 自定義監(jiān)控項(xiàng)
- 自定義腳本格式
2.1 修改agent端配置文件,自定義key
vim /usr/local/etc/zabbix_agentd.conf- 做以下修改
然后寫(xiě)腳本
mkdir /scripts vim /scripts/proc.sh #!/bin/bash proc_count=$(ps -ef|grep -Ev "grep|$0" |grep -c $1) echo $proc_count chown -R zabbix.zabbix /scripts/ chmod +x /scripts/*2.2 web頁(yè)面配置,加入自定義監(jiān)控項(xiàng)
- 這里的key值對(duì)應(yīng)我們?cè)赼gent端自定義的key
- 重啟agent服務(wù)
2.3 查看返回的數(shù)據(jù):【檢測(cè)中】->【最新數(shù)據(jù)】
最新數(shù)據(jù)是zabbix所有監(jiān)控項(xiàng)的收集的數(shù)據(jù)的概覽,從這可以看到監(jiān)控項(xiàng)最新的監(jiān)控值
從圖中可以看到,postfix監(jiān)控項(xiàng)返回的數(shù)值是3,說(shuō)明postfix的進(jìn)程數(shù)為3,代表postfix運(yùn)行正常,如果想要可以郵件報(bào)警,可以給這個(gè)自定義的添加觸發(fā)器,參考“Zabbix監(jiān)控組件及流程”一章
2.4 測(cè)試結(jié)果:
下面是以監(jiān)控日志,做了自定義監(jiān)控
注:監(jiān)控日志用shell腳本難以實(shí)現(xiàn)記錄之前已經(jīng)看過(guò)的日志,為了解決這個(gè)問(wèn)題,我們用python來(lái)監(jiān)控
-
編寫(xiě)Python程序,可以點(diǎn)擊查看
-
說(shuō)明:第一個(gè)參數(shù)為日志文件名(必須有,相對(duì)路徑、絕對(duì)路徑均可)
-
第二個(gè)參數(shù)為“記錄之前所看位置”的文件路徑(可選項(xiàng),若不設(shè)置則默認(rèn)為/tmp/logseek文件。相對(duì)路徑、絕對(duì)路徑均可)
-
第三個(gè)參數(shù)為搜索關(guān)鍵字,默認(rèn)為 Error
-
將腳本文件下載后上傳到/scripts/目錄下,將文件賦予執(zhí)行權(quán)限并將屬主和屬組改為zabbix
- 修改客戶端/usr/locla/etc/zabbix_agentd.conf文件
- 創(chuàng)建日志文件(有,則不需要?jiǎng)?chuàng)建),創(chuàng)建存放讀取記錄的目錄并設(shè)置屬主和屬組為zabbix
- 重新啟動(dòng)服務(wù)
- 在服務(wù)端手動(dòng)執(zhí)行腳本
- 添加主機(jī)監(jiān)控項(xiàng)
- 給監(jiān)控項(xiàng)添加觸發(fā)器
- 添加報(bào)警媒(介參考“Zabbix監(jiān)控組件及流程”一章)
- 添加用戶報(bào)警類型(介參考“Zabbix監(jiān)控組件及流程”一章)
- 添加動(dòng)作(介參考“Zabbix監(jiān)控組件及流程”一章)
測(cè)試結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的zabbix的自定义监控的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 物理层与传输介质
- 下一篇: li-poly_GitHub - kin