溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nagios——docker容器監(jiān)控

發(fā)布時間:2020-07-09 01:12:49 來源:網(wǎng)絡(luò) 閱讀:7793 作者:wangyangyang12 欄目:移動開發(fā)

1. 環(huán)境:

# cat /etc/redhat-release

 CentOS release 6.8 (Final)

# uname -r

 3.10.5-3.el6.x86_64

Nagios服務(wù)端主機: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. 需求分析

實現(xiàn)目的:實現(xiàn)docker容器的內(nèi)存監(jiān)控

實現(xiàn)工具:監(jiān)控系統(tǒng)nagios

實現(xiàn)原理

          1nagios客戶端寫dcoker容器內(nèi)存監(jiān)控插件,并開啟nrpe守護進程

          2,服務(wù)端check_nrpe鏈接客戶端守護進程,取插件執(zhí)行結(jié)果,返回給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

給權(quán)限:

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

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

執(zhí)行查件:

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

CHECK_MEORY OK - 261 M free

 

5. 服務(wù)端配置

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:配置服務(wù)文件——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容器監(jiān)控

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI