tar zxf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0/contrib
./check_ganglia.py -h ip -m disk_free -w 20 -c 10
//-h后根检测主机的ip或hostname,-m后跟要监测的对象,-w、-c指定警告和紧急的阀值
cp /ganglia-3.1.7/contrib/check_ganglia.py
/usr/local/nagios/libexec 注:ganglia与nagios可以部署在不同的主机
vi /usr/local/nagios/libexec/check_ganglia.py //注意此处格式要求严格
if critical > warning:
if value >= critical:
print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric,value)
sys.exit(2)
elif value >= warning:
print "CHECKGANGLIA WARNING: %s is %.2f" % (metric,value)
sys.exit(1)
else:
print "CHECKGANGLIA OK: %s is %.2f" % (metric,value)
sys.exit(0)
else:
if critical >= value:
print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric,value)
sys.exit(2)
elif warning >= value:
print "CHECKGANGLIA WARNING: %s is %.2f" % (metric,value)
sys.exit(1)
else:
print "CHECKGANGLIA OK: %s is %.2f" % (metric,value)
sys.exit(0)
vi /usr/local/nagios/etc/objects/templates.cfg
define service {
use generic-service
name ganglia-service
hostgroup_name ganglia-servers
service_groups ganglia-metrics
}
vi /usr/local/nagios/etc/objects/hosts.cfg
define host {
use linux-server
host_name ty2.org
address 192.168.0.21
}
define hostgroup {
hostgroup_name ganglia-servers
alias ganglia-servers
members ty2.org //hostgroup中的members必须要有host定义匹配
}
vi services.cfg
define service{
use ganglia-service
service_description 根分区
check_command
check_ganglia!disk_free_percent_rootfs!20!10
}
define service{
use ganglia-service
service_description 系统负载
check_command check_ganglia!load_one!4!5
}
define service{
use ganglia-service
service_description 内存空闲
check_command check_ganglia!mem_free!50000!30000
}
define servicegroup {
servicegroup_name ganglia-metrics
alias Ganglia Metrics
}