zabbix的自定义监控
生活随笔
收集整理的這篇文章主要介紹了
zabbix的自定义监控
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
進程和日志
- 有的時候zabbix提供的監控項目,不能滿足我們生產環境下的監控需求,此時我們就要按照zabbix的規范自定義監控項目,達到監控的目的
- zabbix_get:模擬zabbix_server和agent獲取數據
- 相關概念
- item: Items是從agnet主機里面獲取的所有數據。通常情況下我叫itme為監控項,item由key+參數組成
- Key:我們可以理解為key是item的唯一標識,在agent端有很多監控項,zabbix-server根據key區分不同的監控項
- trigger:觸發器是建立在item數據上的,具有閾值觸發事件的功能
基本格式: :.()}
server:agent名稱,加入主機時配置的
key:就是上面說的key
function:對閾值進行操作的函數,以下函數
operate:表達式
constant:常量
例如:{docker02:proc.mysql.last()}<>1
- 不用擔心trigger表達式不好寫,在定義好item后,在zabbix點點就自動生成了
下面以監控postfix服務進程為例,做了自定義監控
1. zabbix_server與zabbix_agent
- zabbix_server通過發送key給zabbix_agent,然后agent端口根據key,把所要監控的item的最新數據返回給server端
2. 自定義監控項
- 自定義腳本格式
2.1 修改agent端配置文件,自定義key
vim /usr/local/etc/zabbix_agentd.conf- 做以下修改
然后寫腳本
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頁面配置,加入自定義監控項
- 這里的key值對應我們在agent端自定義的key
- 重啟agent服務
2.3 查看返回的數據:【檢測中】->【最新數據】
最新數據是zabbix所有監控項的收集的數據的概覽,從這可以看到監控項最新的監控值
從圖中可以看到,postfix監控項返回的數值是3,說明postfix的進程數為3,代表postfix運行正常,如果想要可以郵件報警,可以給這個自定義的添加觸發器,參考“Zabbix監控組件及流程”一章
2.4 測試結果:
下面是以監控日志,做了自定義監控
注:監控日志用shell腳本難以實現記錄之前已經看過的日志,為了解決這個問題,我們用python來監控
-
編寫Python程序,可以點擊查看
-
說明:第一個參數為日志文件名(必須有,相對路徑、絕對路徑均可)
-
第二個參數為“記錄之前所看位置”的文件路徑(可選項,若不設置則默認為/tmp/logseek文件。相對路徑、絕對路徑均可)
-
第三個參數為搜索關鍵字,默認為 Error
-
將腳本文件下載后上傳到/scripts/目錄下,將文件賦予執行權限并將屬主和屬組改為zabbix
- 修改客戶端/usr/locla/etc/zabbix_agentd.conf文件
- 創建日志文件(有,則不需要創建),創建存放讀取記錄的目錄并設置屬主和屬組為zabbix
- 重新啟動服務
- 在服務端手動執行腳本
- 添加主機監控項
- 給監控項添加觸發器
- 添加報警媒(介參考“Zabbix監控組件及流程”一章)
- 添加用戶報警類型(介參考“Zabbix監控組件及流程”一章)
- 添加動作(介參考“Zabbix監控組件及流程”一章)
測試結果:
總結
以上是生活随笔為你收集整理的zabbix的自定义监控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物理层与传输介质
- 下一篇: ARM嵌入式Linux系统设计与开发