在 Docker 內的 LibreNMS 安裝 Nagios 服務套件

筆者所使用的是 LibreNMS 官方的 docker compose ,透過安裝 Nagios 套件達成監視 http, port 等功能。

在 Linux 中安裝 Nagios

先進入到 librenms docker 內部
    
docker exec -it librenms bash
    

安裝 nagios 工具
    
apk add nagios-plugins
apk add nagios-plugins-all
    

切換到 nagios 工具所在位置
    
cd /usr/lib/nagios/plugins
    

此目錄下的工具都很有用,有空可以嘗試看看,先隨便測試一個看有沒有成功
    
./check_ssmtp --help
    

回應內容有點長,在此節錄部分資訊
    
librenms:/usr/lib/nagios/plugins# ./check_ssmtp --help
check_ssmtp v (nagios-plugins 2.4.2)
Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>
Copyright (c) 1999-2014 Nagios Plugin Development Team
        <devel@nagios-plugins.org>

This plugin tests SSMTP connections with the specified host (or unix socket).

Usage:
check_ssmtp -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]
[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]
[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]
[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]
[-N <server name indication>]

Options:
 -h, --help
    Print detailed help screen
    

在 LibreNMS 內啟用 Nagios 服務套件

修改設定檔
    
vi /opt/librenms/config.php
    

在此設定檔內加入以下內容
    
# nagios-plugins
$config['show_services']  = 1;
$config['nagios_plugins'] = "/usr/lib/nagios/plugins";
    

給予套件權限,以免遇到無法執行的問題
    
chmod +x /usr/lib/nagios/plugins/*
    

編輯 librenms 檔案
    
vi /etc/cron.d/librenms
    

加入以下內容
    
*/5  *    * * *   librenms    /opt/librenms/services-wrapper.py 1
    

就可以在 LibreNMS 的服務 > 新增服務 中在 Check Type 的部分看到 Nagios 的所有工具了,需要注意的是平時在 linux 中使用 Nagios 套件的所有工具名稱的 check_ 前墜會都被隱藏,例如 check_ssmtp 只會顯示為 ssmtp



參考資料:
Nagios Plugins - doc
LibreNMS Docs - Docker
LibreNMS Docs - Nagios Plugins - Services
stack overflow - /bin/sh: apt-get: not found

留言