背景
zabbix本身提供了很多可選的監(jiān)控項,可以滿足絕大部分的監(jiān)控需求。有時候由于業(yè)務需求,需要自定義監(jiān)控項。這里介紹一種自定義監(jiān)控項的方式。
- 第一步
首先編寫自定義監(jiān)控腳本,本文以監(jiān)控httpd進程是否存在為例。
腳本名字:check_httpd.sh
腳本目錄(這個目錄可以自定義):/usr/local/etc/zabbix_scripts
腳本內(nèi)容:
#!/bin/bash
result=`ps -ef | grep httpd | grep -v grep`
if [ -n "$result" ]
then
echo '0'
else
echo '1'
fi
腳本說明:通過ps檢查httpd進程是否存在,如果存在則腳本反饋1,如果不存在則返回0
- 第二步
修改zabbix_agentd.conf配置文件。
說明:紅色部分為需要我們修改的
第一個:默認為0,此處我們將它改為1,改為1以后,表示用戶自定義的腳本中可以包含特殊字符。
第二個:為我們自定義監(jiān)控項,格式為:UserParameter=<鍵值>,<命令>。這里我們自定義鍵值為:check_httpd,要執(zhí)行的命令為執(zhí)行check_httpd.sh這個腳本。
說明:添加完成以后,重啟zabbix_agentd才會生效。
### Option: UnsafeUserParameters
# Allow all characters to be passed in arguments to user-defined parameters.
# The following characters are not allowed:
# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
# Additionally, newline characters are not allowed.
# 0 - do not allow
# 1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1
### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
UserParameter=check_httpd,sh /usr/local/etc/zabbix_scripts/check_httpd.sh
- 第三步
選擇要增加監(jiān)控項的主機
- 第四步
創(chuàng)建監(jiān)控項
5. 第五步
根據(jù)自定義鍵值填寫監(jiān)控項,自定義的鍵值只能手動輸入,不能通過選擇。
- 第六步
添加成功后,在最新數(shù)據(jù)中查看是否獲取到數(shù)據(jù)
7. 第七步
為這個監(jiān)控項添加觸發(fā)器,在這里我們定義當check_httpd監(jiān)控項返回為0的時候告警。即httpd進程不存在
8. 第八步
創(chuàng)建觸發(fā)器,自定義觸發(fā)器名稱以及嚴重程度,然后表達式哪里,點擊添加
- 第九步
添加觸發(fā)器表達式,監(jiān)控項選擇我們自定義監(jiān)控項,功能可以根據(jù)自己的需求選擇,這里我們選擇最后一個值是0的時候則告警(即httpd進程不存在)
10. 第十步文章來源:http://www.zghlxwxcb.cn/news/detail-407237.html
至此,自定義監(jiān)控項和自定義告警已添加完成,如果有其他監(jiān)控需求,自己寫監(jiān)控腳本即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-407237.html
到了這里,關于Zabbix自定義監(jiān)控項的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!