Chinaunix首页 | 论坛 | 博客
  • 博客访问: 278684
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 452
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-22 17:07
个人简介

心态决定命运

文章分类

全部博文(73)

文章存档

2017年(21)

2016年(27)

2015年(21)

2014年(4)

我的朋友

分类: 系统运维

2016-01-06 19:08:57

zabbix: 2.4.7
os:redhat 6.4
实现方式:
一. 监控memcached
1. 在zabbix目录添加scripts
添加脚本 memcached.pl

点击(此处)折叠或打开

  1. #!/usr/bin/perl
  2. # 2012, WTFPL.

  3. use strict;
  4. use warnings;
  5. use Cache::Memcached;

  6. my @mds;

  7. open(my $netstat, 'netstat -lnept|');

  8. while (<$netstat>) {
  9.     if (/\s(\S*):(\d+).*memcache/) {
  10.         push @mds, "$1:$2";
  11.     }
  12. }

  13. my $memc = new Cache::Memcached;
  14. $memc->set_servers(\@mds);
  15. my $stats = $memc->stats();
  16. #print Dumper($stats);

  17. for my $host (keys %{$stats->{hosts}}) {
  18.     $host =~ /:(\d+)/;
  19.     my $port = $1;
  20.     open (my $z, ">/tmp/_zabbix_memcached_stat_$port");

  21.     for my $key (keys %{$stats->{hosts}{$host}{misc}}) {
  22.         print $z "STAT $key $stats->{hosts}{$host}{misc}{$key}\n";
  23.     }

  24.     close ($z);
  25. }
yum -y install perl_Cache_Memcached
chmod u+x /usr/local/zabbix/scripts/memcached.pl
脚本会在/tmp目录生成/tmp/_zabbix_memcached_stat_$port 文件 ,$port是memcache起的端口
修改文件属主 chown zabbix.zabbix /tmp/_zabbix_memcached_stat_$port
cront中添加定时任务
* * * * * /usr/local/zabbix/scripts/memcached.pl

2. 配置zabbix_agentd.conf
添加 UserParameter=memcached.stat[*],cat /tmp/_zabbix_memcached_stat_11211 |grep -w $1 |cut -d ' ' -f 3
也可以配置Include  配置到 zabbix_agentd.conf.d 目录下
重启agentd
service zabbix_agentd restart

3. 在proxy端 通过zabbix_get 测试key是否生效
  ./zabbix_get -s $agentd_ip -p 10050 -k memcached.stat[total_connections]

4. 导入模板

memcached 模板,根据需要将“,#PORT#”替换
memcached.zip
二. 监控redis
同 memcached
区别:
zabbix_agentd.conf
UserParameter=redis.stat[*],redis-cli -h 127.0.0.1 -a redis_passwd -p $1 info|grep $2|cut -d : -f2

-a redis_passwd , $1 、$2 可以根据模板中key调整
redis 模板
redis_t.zip
三. lvs监控
相对于memcached ,lvs监控需要做以下准备工作
1. zabbix ALL=(root) NOPASSWD:ALL
2. 屏蔽Defaults   requiretty 这行
否则通过zabbix_get获取数据时,会多出一条tty相关的提示

脚本:
主要监控ipvsadm -L -n 里host的activeConn 及 InActiveConn
脚本大概格式:

  1. #!/bin/bash
  2.     ipconn(){
  3.     ipvsadm -L -n |grep $ip |awk '{print $5}'
  4.     }
  5.     ipInconn(){
  6.     ipvsadm -L -n |grep $ip |awk '{print $6}'
  7.     }
  8.     $1
zabbix_agentd.conf
UserParameter=lvs.stat[*] ,/usr/local/zabbix/scripts/lvs_status.sh $1
经测试,UnsafeUserParaters 可以不配置
模板根据具体lvs 添加

阅读(1291) | 评论(0) | 转发(0) |
0

上一篇:zabbix 升级

下一篇:linux 内存异常增高问题

给主人留下些什么吧!~~