nagios——docker容器监控-创新互联

1. 环境:

# cat /etc/redhat-release

公司主营业务:网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出乐都免费做网站回馈大家。

 CentOS release 6.8 (Final)

# uname -r

 3.10.5-3.el6.x86_64

Nagios服务端主机:192.168.70.67        密码:ikongjian@2016!

Nagios客户端主机:192.168.70.52        密码:ikongjian@2016!

2. 版本

Nagios版本:     nagios-3.5.1

Plugin插件版本: nagios-plugins-1.4.16

Nrpe版本:      nrpe-2.12

安装路径: /usr/local/nagios

3. 需求分析

实现目的:实现docker容器的内存监控

实现工具:监控系统nagios

实现原理

          1,nagios客户端写dcoker容器内存监控插件,并开启nrpe守护进程

          2,服务端check_nrpe链接客户端守护进程,取插件执行结果,返回给web界面。

4. 客户端配置

/usr/local/nagios/etc/nrpe.cfg

增加以下配置:

command[check_docker101]=/usr/local/nagios/libexec/check_docker101

插件如下:

vim /usr/local/nagios/libexec/check_docker101

#/bin/bash

DOCKER_NAME=`echo $0|awk -F '_' '{print $2}'`

DOCKER_ID=`cat /data/docker_id.txt|grep ${DOCKER_NAME}|awk '{print $2}'`

TOTAL_MEM=`cat /cgroup/memory/docker/${DOCKER_ID}/memory.limit_in_bytes`

USE_MEM=`cat /cgroup/memory/docker/${DOCKER_ID}/memory.usage_in_bytes`

FREE=`echo ${TOTAL_MEM}-${USE_MEM}|bc`

FREE_MB=`expr $FREE/1024/1024|bc`

if   [ $FREE_MB -ge 100 ]

     then

     echo "CHECK_MEORY OK - $FREE_MB M free "

     exit 0

elif [ $FREE_MB -lt 100 -a $FREE_MB -gt 30 ]

     then

     echo "CHECK_MEORY WARNING - $FREE_MB M free"

     exit 1

elif [ $FREE_MB -le 30 ]

     then

     echo "CHECK_MEORY CRITICAL - $FREE_MB M free"

     exit 2

else

     echo "CHECK_MEORY UNKOWN mem lessest"

     exit 3

fi

给权限:

chmod 755 /usr/local/nagios/libexec/check_docker101

chown nagios.nagios /usr/local/nagios/libexec/check_docker101

执行查件:

[root@test6 data]# /usr/local/nagios/libexec/check_docker101

CHECK_MEORY OK - 261 M free

5. 服务端配置

A:配置命令文件——commands.cfg

   define command{

        command_name    check_docker101

        command_line    $USER1$/check_docker101

}

B:配置主机文件——host.cfg

define host{

        use                     linux-server

        host_name               docker

        alias                   docker

        address                 192.168.70.52

        max_check_attempts      3

        normal_check_interval   2

        process_perf_data       1

        action_url              /nagios/pnp/index.php?host=$HOSTNAME$

        }

C:配置服务文件——service.cfg

define service{

        use                             generic-service

        host_name                       docker

        service_description             docker_mem_101

        check_command                   check_nrpe!check_docker101

        process_perf_data               1

        }

用check_nrpe测试远端插件:

[root@BI-test etc]# /usr/local/nagios/libexec/check_nrpe -H 192.168.70.52 -c check_docker101

CHECK_MEORY OK - 261 M free

一切正常。

nagios——docker容器监控

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:nagios——docker容器监控-创新互联
网站URL:http://hbruida.cn/article/diegdp.html