標籤:nagios redis
為:http://download.csdn.net/detail/hellopengyl/9617697,有2個版本,一個是perl指令碼寫成的,一個是php指令碼寫成的,可以任意選擇一個,裡面另外兩個是監控mysql的這裡選擇的是perl指令碼。
[[email protected] libexec]# chmod +x check_redis.p*[[email protected] libexec]# ll check_redis.p*-rwxr-xr-x. 1 root root 15812 Oct 10 2014 check_redis.php-rwxr-xr-x. 1 root root 141829 Oct 10 2014 check_redis.pl[[email protected] libexec]# ./check_redis.pl --helpCan‘t locate Redis.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./check_redis.pl line 421.BEGIN failed--compilation aborted at ./check_redis.pl line 421.[[email protected] libexec]# perl -MCPAN -e shellcpan[1]> install Redis Running Build test Make had some problems, won‘t testRunning Build install Make had some problems, won‘t installCould not read ‘/root/.cpan/build/Redis-1.976-Zhz6xI/META.yml‘.Falling back to other methods to determine prerequisites……cpan[2]> install YAML #可能會安裝失敗,失敗原因是網路連接,多執行幾次就會成功。Appending installation info to /usr/lib64/perl5/perllocal.pod TINITA/YAML-1.18.tar.gz /usr/bin/make install -- OK CPAN: YAML loaded ok (v1.18)cpan[3]> install RedisRunning Build test Make had some problems, won‘t testRunning Build install Make had some problems, won‘t installcpan[4]> install Build #Build.PL故障,重新安裝install Build,成功後,再執行install RedisRunning Build install make test had returned bad status, won‘t install without force ..... cpan[5]>q Terminal does not support GetHistory.Lockfile removed.[[email protected] libexec]# yum -y install mod_perl2[[email protected] libexec]# perl -MCPAN -e shellcpan[1]> install Redis #這個過程中會有很多的互動操作,直接斷行符號即可Installing /usr/local/share/perl5/Redis/List.pmInstalling /usr/local/share/man/man3/Redis.3pmInstalling /usr/local/share/man/man3/Redis::Hash.3pmInstalling /usr/local/share/man/man3/Redis::List.3pmInstalling /usr/local/share/man/man3/Redis::Sentinel.3pm DAMS/Redis-1.991.tar.gz ./Build install -- OKcpan[2]> q Terminal does not support GetHistory.Lockfile removed.[[email protected] libexec]# ./check_redis.pl --helpGeneral and Server Connection Options:-H, --hostname=ADDRESS Hostname or IP Address to check -p, --port=INTEGER port number (default: 6379) -D, --database=NAME optional database name (usually a number), needed for --query but otherwise not needed -x, --password=STRING #redis有密碼需要指定密碼,redis.conf中requirepass後面的就是密碼 Password for Redis authentication. Safer alternative is to put them in a file and use -C -C, --credentials=FILENAME #可以將密碼寫在檔案裡,通過-C來讀取從 Credentials file to read for Redis authentication -t, --timeout=NUMBER Allows to set timeout for execution of this plugin. This overrides nagios default. -w, --warn=STR[,STR[,STR[..]]] -c, --crit=STR[,STR[,STR[..]]] .... Variables and Thresholds Set as List: -a, --variables=STRING[,STRING[,STRING...]] #指定需要檢測的項目,例如used_memory_human,connected_clients等,用單引號括起來,用分號隔開。 -w, --warn=STR[,STR[,STR[..]]] > - warn if data is above this value (default for numeric values) < - warn if data is below this value (must be followed by number) = - warn if data is equal to this value (default for non-numeric values) ! - warn if data is not equal to this value ~ - do not check this data (must not be followed by number or ‘:‘) ^ - for numeric values this disables check that warning < critical Threshold values can also be specified as range in two forms: num1:num2 - warn if data is outside range i.e. if data<num1 or data>num2 @num1:num2 - warn if data is in range i.e. data>=num1 && data<=num2 -c, --crit=STR[,STR[,STR[..]]]Performance Data Processing Options: -f, --perfparse [[email protected] libexec]#
在nagios通過命令檢測
check_redis_CPU
[[email protected] libexec]# /usr/local/nagios/libexec/check_redis.pl -H 10.10.55.31 -p 6379 -a used_cpu_sys,used_cpu_user,used_cpu_sys_children,used_cpu_user_children -w ~,~,~,~ -c ~,~,~,~ -fOK: REDIS 2.8.17 on 10.10.55.31:6379 has 2 databases (db2,db0) with 125792 keys, up 616 days 20 hours - used_cpu_sys is 62256.73, used_cpu_user is 40052.36, used_cpu_sys_children is 81572.91, used_cpu_user_children is 405302.25 | used_cpu_sys_children=81572.91 used_cpu_sys=62256.73 used_cpu_user_children=405302.25 used_cpu_user=40052.36[[email protected] libexec]#
~未定義監控警示閥值
check_redis_Memory
[[email protected] libexec]# /usr/local/nagios/libexec/check_redis.pl -H 10.10.55.31 -p 6379 -a used_memory_human,used_memory_peak_human -w ~,~ -c ~,~ -fOK: REDIS 2.8.17 on 10.10.55.31:6379 has 2 databases (db2,db0) with 125907 keys, up 616 days 20 hours - used_memory_human is 763.85M, used_memory_peak_human is 907.74M | used_memory_human=763.85M used_memory_peak_human=907.74M[[email protected] libexec]#
check_redis_Clients
[[email protected] libexec]# /usr/local/nagios/libexec/check_redis.pl -H 10.10.55.31 -p 6379 -a connected_clients,blocked_clients,client_longest_output_list,client_biggest_input_buf -w 200,50,~,~ -c 600,150,~,~ -fOK: REDIS 2.8.17 on 10.10.55.31:6379 has 2 databases (db2,db0) with 125839 keys, up 616 days 20 hours - connected_clients is 47, blocked_clients is 0, client_longest_output_list is 0, client_biggest_input_buf is 1769472 | blocked_clients=0;50;150 connected_clients=47;200;600 client_biggest_input_buf=1769472 client_longest_output_list=0[[email protected] libexec]#
通過nagiosql對check_redis命令定義,添加服務,注意定義check_redis命令時候命令類型為檢測命令,不是各種命令
本文出自 “我本不是菜鳥” 部落格,請務必保留此出處http://pvbutler.blog.51cto.com/7662323/1845178
Nagios監控Redis