當前位置:首頁 » 編程軟體 » nagios監控mysql腳本

nagios監控mysql腳本

發布時間: 2023-05-21 03:29:50

1. 如何用nagios實時監控crontab這樣的定時服務

可以考慮讓這個程序,每次執行成功後,都寫一下時間戳到一個特定文件。
然瞎培輪後自己寫一個plugins去檢查這個時間戳文件,如果最後一個時間戳文件距離現在系統時間中配超過設定的時間(比如一磨信個小時),就發告警(warning或者critical)。

2. 如何擴展Nagios,以實現自定義監控

基本知識准備:1、SNMP(簡單網路管理協議)2、一些腳本知識,可以編寫任意一慎首拍種腳本。3、知道Nagios怎麼用。好啦,現在開始:1、編寫一個可以輸出本機Nginx並發連接數的腳本,輸出結果為連接數。我這里腳本比較簡單,只是看看已經鏈接80埠的。當然也可以自己編寫更精確的腳本。[root@webserver2scripts]#catshowhttp.sh#!/bin/bashecho`netstat-nat|grep-i"80"|wc-l`2、配置snmp,如何安裝我就不說的,自己去弄唄。yuminstallnet-snmp*我是這么安裝的。看下我的snmp配置文件:[root@webserver2~]#grep-v'^#'/etc/snmp/snmpd.conf|grep-v'^$'.1.3.6.1.2.1.1viewsystemviewincluded.1.3.6.1.2.1.25.1.1viewsystemviewincluded.1.3.6.1.4.1.2021accessnotConfigGroup""芹棗syslocationUnknown(edit/etc/snmp/snmpd.conf)syscontactRoot(configure/etc/snmp/snmp.local.conf)pass.1.3.6.1.4.1.4413.4.1/usr/bin/ucd5820statexec.1.3.6.1.4.1.2021.51showhttp/bin/bash/root/scripts/showhttp.sh然後重載下snmp的配置文件。/etc/init.d/snmpdreload使用snmpwalk測試下,能不能通過snmp來獲取數據。[root@webserver2~]#snmpwalk-v1-cpublic192.168.137.102.1.3.6.1.4.1.2021.51UCD-SNMP-MIB::ucdavis.51.1.1=INTEGER:1UCD-SNMP-MIB::ucdavis.51.2.1=STRING:"showhttp"UCD-SNMP-MIB::ucdavis.51.3.1=STRING:"/bin/bash/root/scripts/showhttp.sh"UCD-SNMP-MIB::ucdavis.51.100.1=INTEGER:0UCD-SNMP-MIB::ucdavis.51.101.1=STRING:"7"UCD-SNMP-MIB::ucdavis.51.102.1=INTEGER:0UCD-SNMP-MIB::ucdavis.51.103.1=""[root@webserver2~]#snmpwalk-v1-cpublic192.168.137.102showhttpshowhttp:UnknownObjectIdentifier(Sub-idnotfound:(top)->showhttp)[root@webserver2~]#snmpwalk-v1-cpublic192.168.137.102.1.3.6.1.4.1.2021.51.101.1UCD-SNMP-MIB::ucdavis.51.101.1=STRING:"5"至此位置,snmp就配置好了。至於原理,google、一大堆。限於自己寬羨的表述能力和打字速度就不在此復述了。下面我登錄nagios的監控機,來監控這台機器的http連接數量。2、首先安裝nagios,這里跳過。3、先寫個如下腳本,獲取被監控的設備的snmp值。[root@webserver2libexec]#catshow_http#!/bin/bashOID='.1.3.6.1.4.1.2021.51.101.1'IPADDRESS=$2COMMUNITY=$1if[[-z$IPADDRESS]]||[[-z$COMMUNITY]];thenecho"MabeUsage:show_http"exit4ficounts=`snmpwalk-v1-c$COMMUNITY$IPADDRESS$OID2>/dev/null|awk-F'"''{print$2}'`if[-z$counts];thenecho"."exit4fiif[$counts-ge200];thenecho"Cirtical-connection-$counts"exit2elif[$counts-ge100];thenecho"Warning-connection-$counts"exit1elseecho"OK-connection-$counts"exit0fi3、最nagios進行一些配置:definecommand{command_namecheck-host-alivecommand_line$USER1$/show_httpnagios$HOSTADDRESS$#添加一條命令,參數是團體名和主機地址,團體名,我直接用了nagios。為了可擴展性的考慮,大家也可以使用resources文件來定義。這里不再復述。}definehost{#添加一台主機useweb-serverhost_namenginx-serveraliasnginx-serveraddress192.168.137.101}defineservice{#添加一項監控服務useweb-servicehost_namenginx-serverservice_descriptionshowhttpcheck_commandcheck_httplink}聯系人什麼的,我就不配置了,用配置文件來修改真心疲憊。這里順便推薦兩款軟體Centreon、Nagiosql很不錯的哦~

3. 如何監控MySQL

首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自於這個工具包,這里就不多介紹了。

pt-stalk 的主要功能是在出現問題時收集 OS 及 MySQL 的診斷信息,這其中包括:

1. OS 層面的 CPU、IO、內存、磁碟、網路等信息;

2. MySQL 層面的行鎖等待、會話連接、主從復制,狀態參數等信息。

而且 pt-stalk 是一個 Shell腳本,對於我這種看不懂 perl 的人來說比較友好,腳本裡面的監控邏輯與監控命令也可以拿來參考,用於構建自己的監控體系。

三、使用

接著我們來看下如何使用這個工具。

pt-stalk 通常以後台服務形式監控 MySQL 並等待觸發條件,當觸發條件時收集相關診斷數據。

觸發條件相關的參數有以下幾個:

  • function:

    ∘默認為 status,代表監控 SHOW GLOBAL STATUS 的輸出;

    ∘也可以設置為 processlist,代表監控 show processlist 的輸出;

  • variable:

    ∘默認為 Threads_running,代表 監控參數,根據上述監控輸出指定具體的監控項;

  • threshold:

    ∘默認為 25,代表 監控閾值,監控參數超過閾值,則滿足觸發條件;

    ∘監控參數的值非數字時,需要配合 match 參數一起使用,如 processlist 的 state 列;

  • cycles:

    ∘默認為 5,表示連續觀察到五次滿足觸發條件時,才觸發收集;

  • 連接參數:host、password、port、socket。

  • 其他一些重要參數:

  • iterations:該參數指定 pt-stalk 在觸發收集幾次後退出,默認會一直運行。

  • run-time:觸發收集後,該參數指定收集多長時間的數據,默認 30 秒。

  • sleep:該參數指定在觸發收集後,sleep 多久後繼續監控,默認 300 秒。

  • interval:指定狀態參數的檢查頻率,判斷是否需要觸發收集,默認 1 秒。

  • dest:監控數據存放路徑,默認為 /var/lib/pt-stalk。

  • retention-time :監控數據保留時長,默認 30 天。

  • daemonize:以後台服務運行,默認不開啟。

  • log:後台運行日誌,默認為 /var/log/pt-stalk.log。

  • collect:觸發發生時收集診斷數據,默認開啟。

    ∘collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。

    ∘collect-strace:收集跟蹤數據,需要 strace 工具。

    ∘collect-tcpmp:收集 tcpmp 數據,需要 tcpmp 工具。

4. nagios監控:如果被監控主機禁止ping如何檢測主機的存活,即不使用用check-host-alive

Ping檢測,戚咐伺服器是否可禪虧達

telnet 8080端高襲純口服務埠是否正常

5. 如何安裝nagios-plugins

方法/步驟
1
首先下載Nagios Plugins
2

解壓並安裝 Nagios Plugins
tar zxf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

在這里需要等待一段時間,即可編譯安裝好。
3

Nagios Plugins主要是安裝監控的腳答鬧伍本,如果系統里沒有對應的命令,就會不會安裝相應的插件。清或

例如 如果沒有 nslookup命令,就安裝不上 check_dns 插件,所以當找不到插件的時候,先確認下系統是否有相應的命令。
4

默認插件是安裝在目錄 /usr/local/nagios/libexec/
5

我們也可以自彎做己寫bash插件到這個目錄上使用,自定義自己的監控插件。
6

最後我們來測試一插件的使用
注意事項

系統里有相關的命令才會安裝對應的插件

6. 怎麼用Nagios監測伺服器的一個指定進程

可以通過自己編寫check腳本完成,如彎凱消 我之前在網上找到的埋知check_ps.sh,可以達到監控這個進程的CPU,內存……等佔用孫頌

7. 如何使用Nagios監控Cisco交換機硬體及運行狀態

系統環境:Nagios3.x+CentOS5.6+Cisco4500前提條件:1.Cisco交換機都支持SNMP協議,只需要簡單的設置即可開啟,例如:snmp-servercommunitysnmppwRO。更加詳細的設置請使用Google搜索「Cisco開啟SNMP」,參考網上相關文章。2.在安裝Nagios之前,必須已經安裝Net-Utils及其開發組件。成功安裝Nagios之後,再次檢查libexec目錄下有check_snmp命令。系統測試:check_snmp命令提供了詳細的使用說明,只需要在Linux命令行輸入check_snmp–help即可查看幫助信息,這其中包括每一項參數的使用等。這里以檢測Cisco交換機的系統為例,示範如何使用check_snmp。交換機為Cisco4500系列,系統描述的OID為.1.3.6.1.2.1.1.1.0[root@wardkinglibexec]#./check_snmp-H10.241.10.1-o.1.3.6.1.2.1.1.1.0-CsnmppwSNMPOK–「CiscoIOSSoftware,Catalyst4500L3SwitchSoftware(cat4500-ENTSERV|K9-M),Version12.2(53)SG2,RELEASESOFTWARE(fc1)建議用於Nagios監段滾控的OID:系統內存使用(5分鍾內)1.3.6.1.4.1.9.9.48.1.1.1.5.1系統可用內存(5分鍾內)1.3.6.1.4.1.9.9.48.1.1.1.6.1CPU使用率(5分鍾內)1.3.6.1.4.1.9.2.1.58.0硬體狀態1.3.6.1.4.1.9.9.13系統配置:由於使用check_snmp檢測的結果不夠人性化,大部分的結果都需要重新調整。使用Perl腳本調用NET::SNMP模塊,實現收集監控結果,並重新輸出,更易閱讀和使用。這里明攜引用4個從國外網站收集的腳本,check_snmp_env,check_snmp_cisco_memutil,check_snmp_cisco_loadavg,check_snmp_cisco_ifstatus請下載至nagios安裝目錄下的libexec子目錄中,例如/usr/local/nagios/libexec,重命名去掉txt擴展名,賦予可執行許可權:[root@nagioslibexec]#pwd/usr/local/nagios/libexec[root@nagioslibexec]#chmoda+xcheck_snmp_cisco_*check_snmp_env-vmodeof`check_snmp_cisco_ifstatus』retainedas0755(rwxr-xr-x)modeof`check_snmp_cisco_loadavg』retainedas0755(rwxr-xr-x)modeof`check_snmp_cisco_memutil』retainedas0755(rwxr-xr-x)modeof`check_snmp_env』retainedas0755(rwxr-xr-x)剩下的工作就是follow標激燃伏准流程設置監控命令,添加被監控的交換機和服務了。編輯etc/objects/command.cfg,添加如下定義:#CheckCisco,{command_namecheck_snmp_envcommand_line$USER1$/check_snmp_env-H$HOSTADDRESS$-C$ARG1$$ARG2$}#{command_namecheck_snmp_cisco_memcommand_line$USER1$/check_snmp_cisco_memutil-H$HOSTADDRESS$-C$ARG1$-w$ARG2$-c$ARG3$}definecommand{command_namecheck_snmp_cisco_cpucommand_line$USER1$/check_snmp_cisco_loadavg-H$HOSTADDRESS$-C$ARG1$-w$ARG2$-c$ARG3$}definecommand{command_namecheck_snmp_cisco_ifcommand_line$USER1$/check_snmp_cisco_ifstatus-H$HOSTADDRESS$-C$ARG1$-i$ARG2$-w$ARG3$-c$ARG4$}編輯switch.cfg加入監控的交換機配置,新增相關系統服務,例如:defineservice{usegeneric-service;_nameCAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1,CAT4507R_B1_LG3_1,CAT4507R_B5_D12_1,RackSW_PDC_1,RackSW_PDC_2,RackSW_PDC_3,RackSW_PDC_4,RackSW_SDC_2,RackSW_SDC_3service_descriptionEnvironmentcheck_commandcheck_snmp_env!snmppw}defineservice{usegeneric-service;_nameCAT4507R_B5_D12_1,CAT4507R_B1_LG3_1,CAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1service_descriptionLoadAVGcheck_commandcheck_snmp_cisco_cpu!snmppw!60!80}defineservice{usegeneric-service;_nameCAT4507R_B5_D12_1,CAT4507R_B1_LG3_1,CAT4506E_B1_LG3_1,CAT4506E_B3_A09L_1,CAT4507R_B5_A09R_1service_descriptionMemutilcheck_commandcheck_snmp_cisco_mem!snmppw!70!90}

8. nagios怎樣監控mysql日誌

nagios怎樣游銀乎監控mysql日誌
工作原理:
利用特定的用戶定期訪問指定的mysql資料庫。當不能訪問或連不通時則報警。
1.在神悉生產庫上安裝nagios插件
安裝略
備搏脊註:編譯完顯示一定要有mysql支持,不然沒有check_mysql插件
2.配置mysql

----建立nagdb專用資料庫
mysql> create database nagdb default CHARSET=utf8;
Query OK, 1 row affected (0.01 sec)

mysql> grant select on nagdb.* to 'nagios'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> update mysql.user set 'Password' = PASSWORD('nagios') where 'User'='nagios';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Password' = PASSWORD('nagios') where 'User'='nagios'' at line 1
mysql> update mysql.user set Password = PASSWORD('nagios') where user='nagios';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

熱點內容
交易貓買腳本靠譜嗎 發布:2025-07-17 11:32:27 瀏覽:519
伺服器系統盤一般做什麼陣列 發布:2025-07-17 11:16:05 瀏覽:362
如何用c語音實現放射密碼 發布:2025-07-17 11:13:03 瀏覽:734
lol腳本2017 發布:2025-07-17 10:52:18 瀏覽:826
編譯條件有哪些 發布:2025-07-17 10:42:51 瀏覽:333
apache設置靜態內容緩存時間 發布:2025-07-17 10:32:32 瀏覽:294
蘋果6不能緩存的視頻 發布:2025-07-17 10:31:44 瀏覽:404
如何把文件夾共享 發布:2025-07-17 10:23:49 瀏覽:298
linux查看命令大全 發布:2025-07-17 10:21:24 瀏覽:976
安卓應用程序和蘋果手機哪個好 發布:2025-07-17 10:20:43 瀏覽:411