您好,登錄后才能下訂單哦!
使用Zabbix實現動態執行監控采集腳本的原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
實現原理:使用文件服務器統一存放和管理監控腳本,在zabbix agent預埋通用腳本,根據zabbix server傳輸的Key和參數,從文件服務器拉取腳本執行后返回數據。
架構設計:
具體實現:
1.搭建文件服務器,以nginx作為文件服務器為例
修改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.編寫文件拉取和執行的腳本
url="http://192.168.24.108:8080/" #定義文件服務器的URL parentDir="/usr/local/zabbix/bin/zabbix_script" file_directory=$parentDir/$1 #定義本地存放執行腳本的目錄 file_name=$2 #腳本名稱 file_path=$1/$2 #拼接文件服務器的腳本路徑 if [ ! -d $file_directory ];then #判斷文件目錄是否存在 mkdir -p $file_directory fi if [ ! -f $parentDir/$file_path ];then #判斷腳本是否已經存在 wget -P $file_directory $url$file_path 2>>log fi timestamp=$(date +%s) filetimestamp=$(stat -c %Y $parentDir/$file_path) if [ $[$timestamp - $filetimestamp] -gt 3600 ];then #判斷當前時間與腳本修改時間的大小,3600秒更新一次 wget $url$file_path -O $parentDir/$file_path 2>>log #覆蓋腳本 touch -c $parentDir/$file_path #修改腳本的修改時間 fi python $parentDir/$file_path $3 #執行腳本
3.增加zabbix的配置文件
UserParameter=requests_file[*],sh /usr/local/zabbix/bin/zabbix_script/requests_file.sh $1 $2 $3
4.重啟zabbix agent
5.編寫測試腳本,并上傳到文件服務器指定目錄
#監控服務器連接數 #!/usr/bin/python import pwd import os,sys import re import glob state = sys.argv[1] cmd = "netstat -an | grep " + state + " | wc -l" os.system(cmd)
6.配置zabbix頁面的監控項:
7.觀察數據是否正常 :
8.新的監控腳本放在文件服務器之后,可直接配置頁面的監控項進行數據采集
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。