Change way to check memcached

Current implementation of memcached and RabbitMQ monitoring in Zabbix
is wrong. It doesn't work if we trying to check stats not from separate
script. So, that script was created.

Change-Id: I2cc11c39c91f485164872c8c8b11ef9d61ce9ae0
Closes-Bug: 1394252
This commit is contained in:
Stanislaw Bogatkin 2014-12-02 20:12:44 +03:00
parent de7ea04ef1
commit 74cfe3b94d
4 changed files with 15 additions and 3 deletions

View File

@ -431,7 +431,7 @@
<dependencies/>
</trigger>
<trigger>
<expression>{Template App OpenStack RabbitMQ:proc.num[,rabbitmq,,bin/epmd].last(0)}=0</expression>
<expression>{Template App OpenStack RabbitMQ:proc.num[,,,bin/epmd].last(0)}=0</expression>
<name>RabbitMQ Server process is not running on {HOST.NAME}</name>
<url/>
<status>0</status>

View File

@ -431,7 +431,7 @@
<dependencies/>
</trigger>
<trigger>
<expression>{Template App OpenStack HA RabbitMQ:proc.num[,rabbitmq,,bin/epmd].last(0)}=0</expression>
<expression>{Template App OpenStack HA RabbitMQ:proc.num[,,,bin/epmd].last(0)}=0</expression>
<name>RabbitMQ Server process is not running on {HOST.NAME}</name>
<url/>
<status>0</status>

View File

@ -8,10 +8,20 @@ class zabbix::monitoring::memcached_mon {
template => 'Template App Memcache',
api => $zabbix::params::api_hash,
}
$nodes_hash = hiera('nodes')
$node = filter_nodes($nodes_hash,'name',$::hostname)
$internal_address = $node[0]['internal_address']
file { '/etc/zabbix/scripts/check_memcached.sh':
mode => '0755',
ensure => present,
content => template('zabbix/check_memcached.sh.erb'),
}
zabbix::agent::userparameter {
'memcache':
key => 'memcache[*]',
command => 'echo -e "stats\nquit" | nc 127.0.0.1 11211 | grep "STAT $1 " | awk \'{print $$3}\''
command => '/etc/zabbix/scripts/check_memcached.sh $1',
}
}
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
echo -e "stats\nquit" | nc <%= scope.lookupvar('zabbix::monitoring::memcached_mon::internal_address') %> 11211 | grep "STAT $1" | awk '{print $3}'