Zabbix 動(dòng)態(tài)執(zhí)行監(jiān)控采集腳本的實(shí)現(xiàn)原理
在使用Zabbix自定義腳本采集監(jiān)控?cái)?shù)據(jù)的時(shí)候,通常會(huì)遇到以下一些問(wèn)題:
- 服務(wù)器擴(kuò)容之后,監(jiān)控腳本如何部署到新的服務(wù)器上?
- 監(jiān)控腳本需要修改時(shí),如何自動(dòng)修改所有相同的監(jiān)控腳本?
- 如何備份監(jiān)控采集腳本避免因服務(wù)器異常后丟失?
- 新部署自定義監(jiān)控,如何避免系統(tǒng)管理員過(guò)多操作?
- 如何避免大量研發(fā)就能解決上述的問(wèn)題?
實(shí)現(xiàn)原理:使用文件服務(wù)器統(tǒng)一存放和管理監(jiān)控腳本,在zabbix agent預(yù)埋通用腳本,根據(jù)zabbix server傳輸?shù)腒ey和參數(shù),從文件服務(wù)器拉取腳本執(zhí)行后返回?cái)?shù)據(jù)。
架構(gòu)設(shè)計(jì):
具體實(shí)現(xiàn):
1.搭建文件服務(wù)器,以nginx作為文件服務(wù)器為例
修改nginx的配置并重啟
erver { listen 8080; server_name zabbix; root /usr/local/static/; location / { autoindex on; autoindex_exact_size on; autoindex_localtime on; charset utf-8; } }
2.編寫文件拉取和執(zhí)行的腳本
url="http://192.168.24.108:8080/" #定義文件服務(wù)器的URLparentDir="/usr/local/zabbix/bin/zabbix_script" file_directory=$parentDir/$1 #定義本地存放執(zhí)行腳本的目錄file_name=$2 #腳本名稱file_path=$1/$2 #拼接文件服務(wù)器的腳本路徑if [ ! -d $file_directory ];then #判斷文件目錄是否存在 mkdir -p $file_directoryfiif [ ! -f $parentDir/$file_path ];then #判斷腳本是否已經(jīng)存在 wget -P $file_directory $url$file_path 2>>logfitimestamp=$(date +%s)filetimestamp=$(stat -c %Y $parentDir/$file_path)if [ $[$timestamp - $filetimestamp] -gt 3600 ];then #判斷當(dāng)前時(shí)間與腳本修改時(shí)間的大小,3600秒更新一次 wget $url$file_path -O $parentDir/$file_path 2>>log #覆蓋腳本 touch -c $parentDir/$file_path #修改腳本的修改時(shí)間fipython $parentDir/$file_path $3 #執(zhí)行腳本
3.增加zabbix的配置文件
UserParameter=requests_file[*],sh /usr/local/zabbix/bin/zabbix_script/requests_file.sh $1 $2 $3
4.重啟zabbix agent
5.編寫測(cè)試腳本,并上傳到文件服務(wù)器指定目錄
#監(jiān)控服務(wù)器連接數(shù)#!/usr/bin/pythonimport pwdimport os,sysimport reimport globstate = sys.argv[1]cmd = "netstat -an | grep " + state + " | wc -l"os.system(cmd)
6.配置zabbix頁(yè)面的監(jiān)控項(xiàng):
7.觀察數(shù)據(jù)是否正常 :
8.新的監(jiān)控腳本放在文件服務(wù)器之后,可直接配置頁(yè)面的監(jiān)控項(xiàng)進(jìn)行數(shù)據(jù)采集
本文著重提供了一個(gè)zabbix自定義監(jiān)控腳本集中管理的解決思路,可根據(jù)這個(gè)思路自由拓展更簡(jiǎn)潔、高效的zabbix使用方法,進(jìn)一步讓運(yùn)維變得簡(jiǎn)單。
參考鏈接 :
Zabbix 如何動(dòng)態(tài)執(zhí)行監(jiān)控采集腳本 : https://mp.weixin.qq.com/s/ikuCSYhlFdtiAmt7epskWw
到此這篇關(guān)于Zabbix 動(dòng)態(tài)執(zhí)行監(jiān)控采集腳本的實(shí)現(xiàn)原理的文章就介紹到這了,更多相關(guān)Zabbix 動(dòng)態(tài)執(zhí)行監(jiān)控采集腳本內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
1. Zabbix3.4監(jiān)控mongodb數(shù)據(jù)庫(kù)狀態(tài)的方法2. zabbix 通過(guò) agent 監(jiān)控進(jìn)程、端口的詳細(xì)過(guò)程3. zabbix 4.04 安裝文檔教程詳解(基于CentOS 7.6)4. zabbix集群搭建分布式監(jiān)控的操作步驟5. 基于docker安裝zabbix的詳細(xì)教程6. zabbix實(shí)現(xiàn)郵件告警的方法7. 重置Zabbix密碼的方法(一步到位)8. 關(guān)于Zabbix忘記admin登錄密碼重置密碼的問(wèn)題9. 關(guān)于YUM安裝部署Zabbix4.4.7使用mysql數(shù)據(jù)庫(kù)的問(wèn)題10. Zabbix監(jiān)控方案-官方最新4.4版本【推薦】
