好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用zabbix監控mongodb的方法

使用zabbix監控mongodb的方法

熱門標簽:智能電銷機器人銷售話術 南京400電話怎樣辦理 徐州ai電銷機器人原理 機器人外呼系統軟件存在問題 福州電銷機器人源代碼 企業智能外呼系統價格多少 兗州電話外呼營銷系統 高德地圖標注商戶位置 沈陽營銷電銷機器人招商

MongoDB 是一個基于分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。

MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

Mongodb如今越來越火,要做好對mongodb的監控就需要從它的安裝配置,到簡單的command語句使用,再到對它運行機制以及狀態獲取方法的掌握。

    mongodb有三種基本的狀態獲取方式:

    1.mongostat

    2.開啟28017的監聽端口,curl http://127.0.0.1:28017/_status

   3.進入mongo執行db.serverStatus命令

    我用的是第三種方法:

echo "db.serverStatus()" |/usr/local/mongodb/bin/mongo 192.168.1.123:27017/foo --quiet
{
    "host" : "TENCENT64.site", --server的hostname
    "version" : "2.0.5", --mongo版本
    "process" : "mongod", --進程名
    "uptime" : 1238418, --啟動時間(單位:S)
    "uptimeEstimate" : 1230730, --基于MongoDB內部粗粒度定時器的運行時間
    "localTime" : ISODate("2012-09-14T09:09:52.657Z"), --server的本地時間
    "globalLock" : {
        "totalTime" : 1238418105923, --全局鎖創建的時間(單位:ms 微秒)
        "lockTime" : 75055831911, --全局鎖保持的時間(單位:ms 微秒)
        "ratio" : 0.06060621332329477, --lockTime和totalTime的比
        "currentQueue" : {
            "total" : 0, --等待全局鎖的隊列中操作數目
            "readers" : 0, --等待讀鎖的隊列中操作數目
            "writers" : 0 --等待寫鎖的隊列中操作數目
        },
        "activeClients" : {
            "total" : 1, --連接到server的當前活動client數目
            "readers" : 1, --執行讀操作的當前活動client數目
            "writers" : 0 --執行寫操作的當前活動client數目
        }
    },
    "mem" : {
        "bits" : 64, --64位機器
        "resident" : 18363, --占用物理內存量。
        "virtual" : 478810, --占用的虛擬內存量
        "supported" : true, --是否支持擴展內存
        "mapped" : 233311, --映射到內存的數據文件大小,很接近于你的所有數據庫大小。
        "mappedWithJournal" : 466622,
        "note" : "virtual minus mapped is large. could indicate a memory leak"
    },
    "connections" : {
        "current" : 737, --當前活動連接量。連接到server的當前活躍連接數目
        "available" : 82 --剩余空閑連接量。剩余的可用連接數目
    },
    "extra_info" : {
        "note" : "fields vary by platform",
        "heap_usage_bytes" : 3838448, --此過程中所有的堆字節數目。僅適用于Linux
        "page_faults" : 31058356 --此過程中訪問內存中頁面失敗的總次數。僅適用于Linux
    },
    "indexCounters" : {
        "btree" : {
            "accesses" : 68229146, --Btree索引的訪問次數(索引被訪問量)
            "hits" : 68229146, --內存中的Btree頁的數目。(索引命中量)
            "misses" : 0, --內存中不存在的Btree也數目。(索引偏差量)(索引內存訪問失敗次數)
            "resets" : 0, --索引計數器被重置為0的次數
            "missRatio" : 0 --索引偏差率(未命中率)
        }
    },
    "backgroundFlushing" : {
        "flushes" : 20640, --數據庫刷新寫到磁盤的次數
        "total_ms" : 2453287, --數據庫刷新數據到磁盤花費的微秒數
        "average_ms" : 118.8608042635659, --執行單次刷新花費的平均微秒數
        "last_ms" : 1, --最后一次執行完成刷新數據到磁盤花費的微秒數
        "last_finished" : ISODate("2012-09-14T09:09:35.656Z") --當最后一次刷新數據完成時的時間戳
    },
    "cursors" : {
        "totalOpen" : 0, --server為client保持的游標(cursor)總數
        "clientCursors_size" : 0, --
        "timedOut" : 24 --server啟動以來游標(cursor)超時的總數
    },
    "network" : {
        "bytesIn" : NumberLong("1929833164782"), --發送到數據庫的數據總量(bytes)
        "bytesOut" : 553137147925, --數據庫發出的數據總量(bytes)
        "numRequests" : 2475184328 --發送到數據庫的請求量
    },
    "opcounters" : {
        "insert" : 687531883, --server啟動以來總的insert數據量
        "query" : 711010343, --server啟動以來總的query數據量
        "update" : 0, --server啟動以來總的update數據量
        "delete" : 0, --server啟動以來總的delete數據量
        "getmore" : 6484, --server啟動以來調用任何游標的getMore總次數
        "command" : 1287537 --server啟動以來執行其他命令的總次數
    },
    "asserts" : {
        "regular" : 0, --server啟動以來拋出正規斷言(assert 類似于異常處理的形式)總數目
        "warning" : 1, --server啟動以來拋出的告警總數目
        "msg" : 0, --消息斷言數目。服務器內部定義的良好字符串錯誤
        "user" : 4, --用戶斷言數目。用戶產生的錯誤,譬如:磁盤空間滿;重復鍵。
        "rollovers" : 0 --server啟動以來,assert counters have rolled over的次數
    },
    "writeBacksQueued" : false, --是否有從mongos執行的retry操作
    "dur" : {
        "commits" : 30, --上一間隔journal日志發生commit的次數
        "journaledMB" : 0, --上一間隔寫到journal日志的數據量(單位:MB)
        "writeToDataFilesMB" : 0, --上一間隔journal日志寫到數據文件的數據量(單位:MB)
        "compression" : 0, --
        "commitsInWriteLock" : 0, --寫鎖期間發生commits的次數
        "earlyCommits" : 0, --schedule時間前請求commit的次數
        "timeMs" : {
            "dt" : 3064,
            "prepLogBuffer" : 0, --準備寫journal日志花費的時間
            "writeToJournal" : 0, --寫journal日志花費的實際時間
            "writeToDataFiles" : 0, --journal日志后寫數據文件花費的時間
            "remapPrivateView" : 0 --The amount of time spent remapping copy-on-write memory mapped views
        }
    },
    "ok" : 1 --serverStatus是否返回正確
}

    以上,我們把所需要的參數抽取出來就可以做成監控項了。

先定義鍵值:

#mongodb.conf
UserParameter=mongodb_port_discovery,/usr/local/zabbix/exec/mongo_discovery.py
UserParameter=mongodb_stats[*],/usr/local/zabbix/exec/mongo_status.sh $1 $2 $3 $4 $5

寫mongo_discovery.py腳本(用于端口發現)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import json
import subprocess
json_data = {"data":[]}
net_cmd = '''sudo netstat -nlpt|awk '/mongo/{print $4}'
'''
p = subprocess.Popen(net_cmd, shell=True, stdout=subprocess.PIPE)
net_result = p.stdout.readlines()
for server in net_result:
  dic_content = {
   "{#MONGO_PORT}" : server.split(':')[1].strip(),
   "{#MONGO_IPADDR}" : server.split(':')[0].strip()
   }
  json_data['data'].append(dic_content)
result = json.dumps(json_data,sort_keys=True,indent=4)
print result

寫mongo_status.sh狀態檢測腳本

#!/bin/bash
##mongo_status.sh##
##wuhf##
case $# in
 3)
  output=$(/bin/echo "db.serverStatus().$3" |/usr/local/mongodb/bin/mongo $1:$2/foo --quiet)
  ;;
 4)
  output=$(/bin/echo "db.serverStatus().$3.$4" |/usr/local/mongodb/bin/mongo $1:$2/foo --quiet)
  ;;
 5)
  output=$(/bin/echo "db.serverStatus().$3.$4.$5" |/usr/local/mongodb/bin/mongo $1:$2/foo --quiet)
  ;;
esac
if [[ "$output" =~ "NumberLong"  ]];then
 echo $output|sed -n 's/NumberLong(//p'|sed -n 's/)//p'
else 
 echo $output
fi

權限設置

chmod 755 /usr/local/zabbix/exec/*
chown zabbix.zabbix /usr/local/zabbix/exec/*
chown zabbix.zabbix /usr/local/zabbix/etc/zabbix_agentd.conf.d/*
echo "zabbix ALL=(root) NOPASSWD:ALL" >> /etc/sudoers
sed -i 's/^Defaults.*.requiretty/#Defaults  requiretty/' /etc/sudoers

做MongoDB模板

定義自動發現規則


定義監控項


最后添加觸發器和圖就完成了

注意:在mongodb.conf配置文件里定義了鍵值對應關系后要重啟zabbix服務才能生效

您可能感興趣的文章:
  • 分布式監控系統Zabbix3.2添加自動發現磁盤IO并注冊監控(推薦)
  • Zabbix監控方案-官方最新4.4版本【推薦】
  • Python從ZabbixAPI獲取信息及實現Zabbix-API 監控的方法
  • 安裝配置Zabbix來監控MySQL的基本教程
  • Zabbix監控交換機設置方法
  • 解析Zabbix 5.0磁盤自動發現和讀寫監控的問題

標簽:鶴崗 丹東 大理 昭通 本溪 景德鎮 吉安 邯鄲

巨人網絡通訊聲明:本文標題《使用zabbix監控mongodb的方法》,本文關鍵詞  使用,zabbix,監控,mongodb,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用zabbix監控mongodb的方法》相關的同類信息!
  • 本頁收集關于使用zabbix監控mongodb的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 免费国产美女视频永久免费| 国产一级婬片A片AA片| 日本全彩无肉码工囗囗番土豪| 香河县| 久久精品福利视频| 无忧传媒官方网站| 被夫上司连续侵犯七天的演员 | tube69xxx最新片| 国产午夜激无码毛片久久直播软件| 巜巨大爆乳老师在线播放中文| 疯狂伦交2电影| 花式道具play高h文调教| 亚洲国产精品无码专区在线观看| 美姐妹肉奴隶在线播放| 最近中文字幕无| 激情视频| 精品国产一级久久A片性教育片| 色91精品久久久久久久久 | 日韩国产无矿砖一线二线图| 蜜桃AV绝色少妇免费视频| 日韩精品一区观看平台| 交织的体液| 三级视频网站在线观看播放| 扒开老师?狂揉?免费看| 强开小娟嫩苞又嫩又紧视频播放| 欧美就是色| 亚洲欧洲日产专区| 极品专区高清在线| 国产?精品?无码?怀孕软件| 超级黄色毛片| 国产精品极品美女自在线| xxx性欧美在线| 欧美疯狂婬乱AAAA片免费| 日日夜夜国产| 丰满烈乳镇丰乳镇娇妻| 亚洲网站在线免费观看| 久久99精品久久久秒播软件优势| 精品久久久无码社区精品免费| 2018天天操天天干| 媚妇放荡小说| 成品视频大全观视频的技巧有哪些|