Distributed Monitoring与MK Livestatus

2013年12月19日 发表评论 阅读评论

check_mk的wato配置界面有一个Distributed Monitoring功能,该功能的使用需要依赖mk livestatus插件,livestatus是check_mk中的一部分,也可以独立列开来用。由于livestatus还是一个年轻的项目,不过已经有很多项目对其支持。如:nagvis、nagiosBP、Thruk、CoffeeSaint等(说这项目年轻不是我的有的原话,官网在介绍的时候就是这样说的)。

一、livestatus的安装与配置

默认在完整的check_mk中可以选择是否要安装mk livestatus,不过也可以单独安装livestatus,单独安装的步骤如下:

http://mathias-kettner.de/download/mk-livestatus-1.2.2p3.tar.gz
tar zxvf mk-livestatus-1.2.2p3.tar.gz
cd mk-livestatus-1.2.2p3
./configure
make && make install

livestsatus和check_mk_agent一样依赖于xinetd 。其需要在xinetd下新建livestatus文件,具体内容如下:

root@s:[/root]cat /etc/xinetd.d/livestatus
service livestatus
{
        type            = UNLISTED
        port            = 6557
        socket_type     = stream
        protocol        = tcp
        wait            = no
# limit to 100 connections per second. Disable 3 secs if above.
        cps             = 100 3
# set the number of maximum allowed parallel instances of unixcat.
# Please make sure that this values is at least as high as
# the number of threads defined with num_client_threads in
# etc/mk-livestatus/nagios.cfg
        instances       = 500
# limit the maximum number of simultaneous connections from
# one source IP address
        per_source      = 250
# Disable TCP delay, makes connection more responsive
        flags           = NODELAY
        user            = nagios
        server          = /usr/bin/unixcat
        server_args     = /var/spool/nagios/cmd/live
# configure the IP address(es) of your Nagios server here:
#       only_from       = 127.0.0.1 10.0.20.1 10.0.20.2
        disable         = no
}

nagios.cfg中需要增加如下两行:

vim nagios.cfg
broker_module=/usr/local/lib/mk-livestatus/livestatus.o /var/lib/nagios/rw/live
event_broker_options=-1

配置完成后,重启xinetd和nagios使配置生效。

以上配置参考如下页面:

livestatus说明页

opentodo的博客

icinga mklivestatus集成页

二、livestatus的有效测试

官方主页上提供了N种用于取到livestatus数据的方法,这里只列举一种,通过nc提交测试的方法。如下图所示:

ncfanhui

通过上图不难看出,通过nc提交请求到livestatus监控的端口时,有数据返回,表示livestatus应用正常。上图中,文件a中的内容是“GET hosts”,也可以提交其他请求给livestatus,具体可以参看官方说明

root:[/root]cat a
GET hosts
root:[/root]cat b
GET services

三、Distributed Monitoring分布式监控

这里直接称之为Distributed Monitoring ,我个人感觉是不准确的。第一,称之为Multisite更准确,可以通过在check_mk提供的界面上配置过后,使另一个nagios站点的数据在该check_mk的界面上展示(但不会在该nagios的web界面上展示)。第二,分布式的监控也不是说不能实现,通过mk livestatus从另一站点取得数据后,可以再利用nsca传送到监控中心服务器,一样算是实现了分布式监控。这里要讲的属于歧义其一的multisite。

正如官网所说的:“Please note, that the current release of Multisite is still not considered stable.” 确实multisite的功能目前来看可能还是比较鸡肋。不过相信有一天其可以比较好的实现真正的Distributed Monitoring ,并且像wato增加主机和服务一样能在nagios 的web界面上进行展现。

通过wato configuration ---- distributed monitoring ----- new connection 

dm1dm2

增加slave主机通过livestatus的tcp连接数据并保存

dm3

保存后,会让输入远程URL站点的用户名密码并同步数据(默认10秒进行一次数据同步)

最后在远端的nagios中心新增主机时,在该处的监控中心也可以看到新增的监控主机的情况,如下图,这里显示一个是本地的监控中心的数据,一个是远程监控的数据

dm5

同样在master control块可以方便的控制告警与主机监测等。

dm6

总结:这里的Multisite与另一个软件 ————  Centreon所做的事情很类似 。如果从广义的范畴来讲,称其为分布式监控也未尝不可。

参考页面:IT帮 (台湾站点,需翻墙)

如果报错:Cannot connect to event daemon via /usr/local/nagios/var/rw/mkeventd/status: [Errno 2] No such file or directory ,需要启动mkeventd服务。

#/etc/init.d/mkeventd start
#chkconfig --add mkeventd




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 开源软件 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.