neversoft 发表于 2018-11-6 09:58:24

Nagios 监控redis

  线上是用Nagios监控的,版本是最新版4.0.8
  在nagios服务器上面下载redis插件
  下载地址页面
  https://exchange.nagios.org/directory/Plugins/Databases/check_redis-2Epl/details
  下载check_redis.pl文件
  安装perl redis环境
  # yum install -y perl-CPAN perl-Time-HiRes perl-YAML
  # perl -MCPAN -e shell
  CPAN> install Redis
  之后遇到的位置,一路回车,需要安装很多组件。
  我花了2~3个小时,不停的回车,终于安装好了。
  将check_redis.pl文件放到/usr/local/nagios/libexec/ 目录下
  设置权限
  #chmod 755 check_redis.pl
  #chown nagios:nagios check_redis.pl
  测试插件
  #cd /usr/local/nagios/libexec/
  #./check_redis.pl -H 10.168.13.230 -p 6379
  OK: REDIS 2.8.19 on 10.168.13.230:6380 has 1 databases (db0) with 16 keys, up 98 days 7 hours
  测试连接到redis的时间
  ./check_redis.pl -H 10.168.13.230 -p 6379 -T 0.5,1
  测试CPU
  ./check_redis.pl -H 10.168.13.230 -p 6379 -a 'used_cpu_sys,used_cpu_user,used_cpu_user_children,used_cpu_sys_children' -w ~,~,~,~ -c ~,~,~,~
  测试内存
  ./check_redis.pl -H 10.168.13.230 -p 6379 -a 'used_memory_human,used_memory_peak_human' -w ~,~ -c ~,~
  测试连接数
  ./check_redis.pl -H 10.168.13.230 -p 6379 -a 'connected_clients,blocked_clients,client_longest_output_list,client_biggest_input_buf' -w 100,5,~,~ -c 500,10,~,~
  开始正式用Nagios监控
  编辑文件
  vi /usr/local/nagios/etc/objects/commands.cfg
  最后一行添加以下内容
  # check redis
  define command {
  command_name    check_redis
  command_line    $USER1$/check_redis.pl -H $HOSTADDRESS$ -p $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -f
  }
  # check redis
  define command {
  command_name    check_redis_conn_time
  command_line    $USER1$/check_redis.pl -H $HOSTADDRESS$ -p $ARG1$ -T $ARG2$
  }
  编辑主机文件
  在最后添加以下内容
  define service{
  use                     generic-service
  host_name               redis_1
  service_description       redis_6379_CPU
  check_command             check_redis!6379!'used_cpu_sys,used_cpu_user,used_cpu_sys_children,used_cpu_user_children'!~,~,~,~!~,~,~,~
  }
  define service{
  use                     generic-service
  host_name               redis_1
  service_description       redis_6379_Memory
  check_command             check_redis!6379!'used_memory_human,used_memory_peak_human'!~,~!~,~
  }
  define service{
  use                     generic-service
  host_name               redis_1
  service_description       redis_6379_Memory
  check_command
  check_redis!6379!'connected_clients,blocked_clients,client_longest_output_list,client_biggest_input_buf'!100,5,~,~!500,10,~,~
  }
  define service{
  use                     generic-service
  host_name               redis_1
  service_description       redis_6379_conn_number
  check_command             check_redis!6379!'connected_clients,blocked_clients,client_longest_output_list,client_biggest_input_buf'!100,5,~,~!500,10,~,~
  }
  define service{
  use                     generic-service
  host_name               redis_1
  service_description       redis_6379_conn_time
  check_command             check_redis_conn_time!6379!0.5,1
  }
  重启Nagios
  /etc/init.d/nagios restart

页: [1]
查看完整版本: Nagios 监控redis