現場(環境):CentOS 7.4 套件: Nagios、NDoUtils、Mariadb
處理:
安裝NDoUtils 。透過這個套件。
讓Nagios將資料儲存到資料庫當中,
Step 1. 下載 NDOUtils
網址: https://exchange.nagios.org/directory/Addons/Database-Backends/NDOUtils/details
把檔案傳輸到伺服器上。
ndoutils檔案解壓縮
# tar -zxvf ndoutils-2.1.2.tar.gz
Step 2. 安裝ndoutils的前置套件
#yum install perl-DBD-MySQL perl-DBI
Step 3. 安裝ndoutils
#cd ndoutils-2.1.2
#./configure --prefix=/usr/local/nagios/ --enable-mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
出現下圖不表示編譯成功,要再往上查詢一下編譯有沒有問題。
不檢查清楚,會有後續make失敗的問題。
出現錯誤
這個錯誤表示缺乏套件(mysql-devel 或者 mariadb-devel)
#yum install mariadb-devel
接著再重新編譯一次。
#./configure --prefix=/usr/local/nagios/ --enable-mysql --with-ndo2db-user=nagios –with-ndo2db-group=nagios
確認沒有問題再往下繼續。
#make all
#make fullinstall
下圖表是全部安裝完成。
Step 4. 設定資料庫。
如果沒有安裝資料庫的,先安裝mariadb-server 或者 mysql-server
進入資料庫後執行建置資料庫&創立帳號動作
>create database nagios;
or
>CREATE DATABASE Newnagios DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
>grant all on nagios.* to nagios@localhost identified by ‘nagios’;
or
>grant all privileges on Newnagios.* to nagios@localhost identified by ‘nagios’;
初始化mariadb中建立的資料庫
#cd ndoutils-2.1.2/db/
-u後面帶帳號 / -p 後面帶密碼 / -d 後面帶資料庫名稱
# ./installdb -u nagios -p nagios -h localhost -d Newnagios
可以看到相關資料表已經匯進去了
Step 5.編輯ndo2db設定檔
#cd /usr/local/nagios/etc
#cp -rf ndo2db.cfg-sample ndo2db.cf
#vim ndo2db.cf
修改資料庫連線資訊
#cp -rf ndomod.cfg-sample ndomod.cfg
在這邊可以看到他啟用服務的Port是TCP – 5668
設定完重啟服務就可以了。
#systemctl restart ndo2db
設定開機啟用
# systemctl enable ndo2db
Step 6. 編輯Nagios設定檔
#vim /usr/local/nagios/etc/nagios.cfg
貼上設定檔
=!===
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
===!=
重啟Nagios 服務
#systemctl restart nagios
Step 7. 確認ndo2db是否有正確運行在Nagios裏面
1)檢查LOG
#grep ndo /usr/local/nagios/var/nagios.log
2) 檢查資料庫
# echo 'select * from Newnagios.nagios_logentries;' | mysql -u nagios -pnagios
到這邊就完成Nagios & NDoUtils(ndo2db) 的串接。
之後的資料就會寫進MariaDB裏面了。
<本篇完>
參考網址: