亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Zabbix的自動發現來監控mongo數據庫

發布時間:2021-10-25 15:05:00 來源:億速云 閱讀:126 作者:小新 欄目:系統運維

這篇文章主要為大家展示了“怎么使用Zabbix的自動發現來監控mongo數據庫”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么使用Zabbix的自動發現來監控mongo數據庫”這篇文章吧。

監控mongo寫個模板其實挺快的,如果公司每個mongo使用的端口都一致的話,就可直接建立一套模板,然后這個模板鏈接到各個服務器上即可。但如果公司使用mongo的端口如果不一致的話,那建議使用zabbix的自動發現的功能,自動發現mongo監聽的端口,并對它進行相關數據的收集。

先看一下效果圖

怎么使用Zabbix的自動發現來監控mongo數據庫

此監控圖是zabbix的篩選功能可能把相關的圖整合到一個頁面里面去。

具體的自動發現實現如下:

怎么使用Zabbix的自動發現來監控mongo數據庫

探索規則配置如上,機器上的zabbix agent配置如下:

UserParameter=mongo.discover,python /usr/local/zabbix/discover_mongo.py

其中/usr/local/zabbix/discover_mongo.py為自動發現的腳本,腳本內容如下:

#coding:utf-8 import simplejson as json import commands  (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'mongod'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v "^28"''') outputs = output.split('\n') ports = [] for port in  outputs:     ports += [{'{#MONGOPORT}': port}]  print json.dumps({'data':ports},sort_keys=True,indent=4)

使用系統命令netstat把監聽的端口篩選出來,然后以json的格式進行輸出。定義到此就可以自動發現zabbix監聽的端口。

注意:netstat一般zabbix用戶沒有權限,需要visudo進行對應的設置,此腳本可能得針對自己的環境進行相對的調整。

探索完端口后,zabbix server就需要以端口為其中一個參數向zabbix agent取數據,其中項目原型配置如下:

怎么使用Zabbix的自動發現來監控mongo數據庫

如果返回的{#MONGOPORT}有多個的話,那監控項目就乘以幾。

其中mongo.status的定義如下(此定義還是zabbix agent下):

UserParameter=mongo.status[*],sh /usr/local/zabbix/check_mongo.sh -p $1 -k $2  -K $3

使用一個腳本傳入參數來獲取mongo的一些數據收集,后續可直接擴展此腳本(-p代表端口),mongo的serverStatus有多個參數,采集的就用到opcounters等,-k和-K能具體獲取其數值。其中腳本如下:

#!/bin/sh while getopts "p:k:K:" opt do         case $opt in                 p ) mongo_port=$OPTARG;;                 k ) key1=$OPTARG;;                 K ) key2=$OPTARG;;                 ? )                 echo 'parameter is wrong!'                 exit 1;;         esac done  if [ ! "${mongo_port}" ] || [ ! "${key1}" ] || [ ! "${key2}" ];then         echo "parameter is null"                 exit 1 fi  echo "db.serverStatus().${key1}"|mongo --port=${mongo_port}|sed 's/,/\r\n/g'|grep "${key2}" |awk -F':|,|}' '{print $2}'

部署完一個模板,把模板關聯到mongo的機器,就能收集相關的操作信息。在模板上再添加一個圖形原型,如下:

怎么使用Zabbix的自動發現來監控mongo數據庫

模板應用完如果沒問題就可以在zabbix的篩選中把mongo集群的數據匯在一個網頁上進行查看。

以上是“怎么使用Zabbix的自動發現來監控mongo數據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尉犁县| 灵石县| 张家港市| 拜城县| 沈丘县| 炎陵县| 资溪县| 尚义县| 平乐县| 中卫市| 新昌县| 改则县| 中西区| 永清县| 徐汇区| 临朐县| 晴隆县| 鲜城| 滦平县| 香河县| 玉田县| 嘉荫县| 龙井市| 临颍县| 诸暨市| 磴口县| 麦盖提县| 那曲县| 金门县| 博乐市| 马尔康县| 上林县| 塔河县| 云南省| 漳州市| 泽库县| 信丰县| 西贡区| 星子县| 赤水市| 堆龙德庆县|