nagios监控mysql(check_mysql)及内存使用率(check_mem)
一、監(jiān)控本地(localhost)內(nèi)存
1、上傳監(jiān)控腳本 check_mem 到/usr/local/nagios/libexec
#?chown?-R?nagios.nagios?check_mem #?chmod?+x?check_mem2、修改commands配置
#?vim?/usr/local/nagios/etc/objects/commands.cfg? define?command{command_name????????check_memcommand_line????????$USER1$/check_mem?-w?$ARG1$?-c?$ARG2$}3、修改localhost.cfg
4、重啟nagios服務(wù)
5、check_mem 腳本
#!/bin/bash?? USAGE="`basename?$0`?[-w|--warning]<percent?free>?[-c|--critical]<percent?free>" THRESHOLD_USAGE="WARNING?threshold?must?be?greater?than?CRITICAL:?`basename?$0`?$*" calc=/tmp/memcalc percent_free=/tmp/mempercent critical="" warning="" STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 #?print?usage?? if?[[?$#?-lt?4?]] thenecho?""??echo?"Wrong?Syntax:?`basename?$0`?$*"??echo?""??echo?"Usage:?$USAGE"??echo?""??exit?0 fi #?read?input?? while?[[?$#?-gt?0?]]??docase?"$1"?in-w|--warning)shiftwarning=$1;;-c|--critical)shiftcritical=$1;;esacshiftdone#?verify?input?? if?[[?$warning?-eq?$critical?||?$warning?-lt?$critical?]] thenecho?""??echo?"$THRESHOLD_USAGE"??echo?""??echo?"Usage:?$USAGE"??echo?""??exit?0 fi #?Total?memory?available?? total=`free?-m?|?head?-2?|tail?-1?|gawk?'{print?$2}'` #?Total?memory?used?? used=`free?-m?|?head?-2?|tail?-1?|gawk?'{print?$3}'` #?Calc?total?minus?used?? free=`free?-m?|?head?-2?|tail?-1?|gawk?'{print?$2-$3}'` #?normal?values?? #echo?"$total"MB?total?? #echo?"$used"MB?used?? #echo?"$free"MB?free?? #?make?it?into?%?percent?free?=?((free?mem?/?total?mem)?*?100)?? echo?"5"?>?$calc?#?decimal?accuracy?? echo?"k"?>>?$calc?#?commit?? echo?"100"?>>?$calc?#?multiply?? echo?"$free"?>>?$calc?#?division?integer?? echo?"$total"?>>?$calc?#?division?integer?? echo?"/"?>>?$calc?#?division?sign?? echo?"*"?>>?$calc?#?multiplication?sign?? echo?"p"?>>?$calc?#?print?? percent=`/usr/bin/dc?$calc|/bin/sed?'s/^\./0./'|/usr/bin/tr?"."?"?"|/usr/bin/gawk?{'print?$1'}` #percent1=`/usr/bin/dc?$calc`?? #echo?"$percent1"?? if?[[?"$percent"?-le??$critical?]]thenecho?"CRITICAL?-?$free?MB?($percent%)?Free?Memory"??exit?2 fi if?[[?"$percent"?-le??$warning?]]thenecho?"WARNING?-?$free?MB?($percent%)?Free?Memory"??exit?1 fi if?[[?"$percent"?-gt??$warning?]]thenecho?"OK?-?$free?MB?($percent%)?Free?Memory"??exit?0 fi二、監(jiān)控客戶(hù)端內(nèi)存使用情況
1、上傳監(jiān)控腳本 check_mem 到/usr/local/nagios/libexec
#?chown?-R?nagios.nagios?check_mem #?chmod?+x?check_mem2、修改nrpe.cfg
#?vim?/usr/local/nagios/etc/nrpe.cfg? command[check_users]=/usr/local/nagios/libexec/check_users?-w?3?-c?5 command[check_load]=/usr/local/nagios/libexec/check_load?-w?15,10,5?-c?30,25,20 command[check_xvda]=/usr/local/nagios/libexec/check_disk?-w?10%?-c?5%?-p?/dev/xvda command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs?-w?5?-c?10?-s?Z command[check_total_procs]=/usr/local/nagios/libexec/check_procs?-w?150?-c?200? command[check_xvdb2]=/usr/local/nagios/libexec/check_disk?-w?10%?-c?5%?-p?/dev/xvdb2 command[check_swap]=/usr/local/nagios/libexec/check_swap?-w?20%?-c?10% command[check_mem]=/usr/bin/sudo?/usr/local/nagios/libexec/check_mem?-w?20?-c?10???#增加此行3、在nagios服務(wù)器端增加監(jiān)控服務(wù)
#?vim?/usr/local/nagios/etc/servers/192.168.200.111.cfg define?service{use?????????????????????????????generic-servicehost_name???????????????????????192.168.200.111service_description?????????????check_memcheck_command???????????????????check_nrpe!check_mem}三、排錯(cuò)
1、NRPE: Unable to read output
(1)為nagios用戶(hù)增加sudo權(quán)限
#?visudo nagios??ALL=(ALL)?NOPASSWD:/usr/local/nagios/libexec/check_mem(2)注釋掉一下行,表示不需要控制終端
#?visudo #Defaults????requiretty四、nagios監(jiān)控mysql
1、check_mysql
????nagios監(jiān)控mysql使用的是 check_mysql 這個(gè)插件,需要在nagios服務(wù)器上先安裝mysql-devel,然后再重新安裝nagios-plugin,這樣才會(huì)出現(xiàn)check_mysql。否則即使copy了一份,也照樣用不了。
2、編譯或重新編譯?nagios-plugin
#yum?-y?install?mysql-devl #cd?nagios-plugins-2.0.3 #./configure?--with-nagios-user=nagios?--with-nagios-group=nagios #make?&&?make?install3、查看 check_mysql
#?ls?/usr/local/nagios/libexec/check_mysql4、建立專(zhuān)用數(shù)據(jù)庫(kù)
#?mysql?-uroot?-p mysql>?create?database?nagios_monitor;mysql>?grant?select?on?nagios_monitor.*?to?nagios@'%'?identified?by?'123qaz!@#'; Query?OK,?0?rows?affected?(0.00?sec)mysql>?flush?privileges; Query?OK,?0?rows?affected?(0.00?sec)mysql>?select?User,Password,Host?from?mysql.user; +--------+-------------------------------------------+--------------+ |?User???|?Password??????????????????????????????????|?Host?????????| +--------+-------------------------------------------+--------------+ |?root???|?*B9627CB37815863D1E98D0C41E0233A772355E2B?|?localhost????| |?root???|?*B9627CB37815863D1E98D0C41E0233A772355E2B?|?127.0.0.1????| |?root???|?*B9627CB37815863D1E98D0C41E0233A772355E2B?|?::1??????????| |?cacti??|?*BC3E1F14C7940F9C8BCDB05A38385754BB55CD64?|?localhost????| |?nagios?|?*BC3E1F14C7940F9C8BCDB05A38385754BB55CD64?|?%????????????| +--------+-------------------------------------------+--------------+ 8?rows?in?set?(0.00?sec)5、check 一下
#?/usr/local/nagios/libexec/check_mysql?-H?192.168.200.105?-unagios?-dnagios_monitor?-p?123qaz!@# #?報(bào)了一個(gè)錯(cuò) /usr/local/nagios/libexec/check_mysql:?error?while?loading?shared?libraries:?libmysqlclient.so.18:?cannot?open?shared?object?file:?No?such?file?or?directory #?解決: ln?-sv?/usr/local/mysql/lib/libmysqlclient.so.18?/usr/lib64/libmysqlclient.so.18 #?再重新測(cè)試 #?/usr/local/nagios/libexec/check_mysql?-H?192.168.200.111?-unagios?-dnagios_monitor?-p?123qaz!@# Uptime:?13991??Threads:?5??Questions:?1242101??Slow?queries:?0??Opens:?159??Flush?tables:?1??Open?tables:?60??Queries?per?second?avg:?88.778|Connections=315c;;;?Open_files=85;;;?Open_tables=60;;;?Qcache_free_memory=16285768;;;?Qcache_hits=1210926c;;;?Qcache_inserts=16654c;;;?Qcache_lowmem_prunes=0c;;;?Qcache_not_cached=2c;;;?Qcache_queries_in_cache=283;;;?Queries=1242101c;;;?Questions=1242101c;;;?Table_locks_waited=2c;;;?Threads_connected=5;;;?Threads_running=1;;;?Uptime=13991c;;;6、監(jiān)控localhost
(1)修改 commands.cfg
#?vim?/usr/local/nagios/etc/objects/commands.cfg define?command{command_name?check_mysqlcommand_line?$USER1$/check_mysql?-H?$HOSTADDRESS$?-unagios?-dnagios_monitor?-p123qaz!@# }(2)修改 localhost.cfg
#?vim?/usr/local/nagios/etc/objects/localhost.cfg define?service{use?????????????????????????????local-servicehost_name???????????????????????localhostservice_description?????????????check_mysqlcheck_command???????????????????check_mysql}(3)重啟 nagios
7、監(jiān)控客戶(hù)端
(1)check 一下
(2)客戶(hù)端修改 nrpe.cfg
#?vim?/usr/local/nagios/etc/nrpe.cfg? command[check_mysql]=/usr/local/nagios/libexec/check_mysql?-H?192.168.200.111?-unagios?-dnagios_monitor?-p123qaz!@#(3)重啟 nrpe
#?killall?nrpe #?/usr/local/nagios/bin/nrpe?-c?/usr/local/nagios/etc/nrpe.cfg?-d(4)服務(wù)端定義服務(wù)
#?vim?/usr/local/nagios/etc/servers/192.168.200.111.cfg? define?service{use?????????????????????????????generic-servicehost_name???????????????????????192.168.200.111service_description?????????????check_mysqlcheck_command???????????????????check_nrpe!check_mysql}(5)重啟 nagios 服務(wù)
轉(zhuǎn)載于:https://blog.51cto.com/nmshuishui/1553445
總結(jié)
以上是生活随笔為你收集整理的nagios监控mysql(check_mysql)及内存使用率(check_mem)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WordPress教程 – WordPr
- 下一篇: vim使用—实现程序的自动补齐(C语言)