nagios 也是有提供 ndo2db 工具,把資料寫入資料庫,而 icinga 則用 ido2db 處理
一開始編譯 icinga 時,就可以 make install-idoutils ,讓 icinga 支援這功能
# 設定 idoutils,把資訊、狀態寫入到 mysql 裡 (記得 mysql 要先裝)
cd /usr/local/icinga/etc/ mv idomod.cfg-sample idomod.cfg mv ido2db.cfg-sample ido2db.cfg
# 建立 icinga 資料庫
CREATE DATABASE icinga; GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; flush privileges;
# 匯入 sql
cd /root/icinga-core mysql -u root -p icinga < ./module/idoutils/db/mysql/mysql.sql
# 確認對 mysql 存取設定,照預設就不用變
vi /usr/local/icinga/etc/ido2db.cfg
ido2db_user=icinga ido2db_group=icinga db_servertype=mysql db_host=localhost db_port=3306 db_name=icinga db_prefix=icinga_ db_user=icinga db_pass=icinga
另外假如資料庫是集中記錄時,就要變更 db_host,並給可登入連線存取的權限
# 修改 ido2db 的 instance 名稱
vi /usr/local/icinga/etc/idomod.cfg
instance_name=SSORC1
假如資料庫是記錄多台 icinga 過來的資料,可用此辨識 id
# instance_name
資料庫會記錄一個名稱,來辨識是誰的資料,有兩台以上就要個別設定不同的名稱,不然資料會是同一筆來源
假如同一台主機換新機器,只要設定相同的 instance_name ,再寫入資料庫時會是同一 instanced_id
假如有兩台寫入來源是同樣的 instance_name ,只有 history 部份應該會是重覆的 !
變更 instance_name 除了 reload icinga ,還要
/usr/local/icinga-web/bin/clearcache.sh
假如原本的名稱就是要改,連同資料庫的 icinga_instances 的 instance_name 也要改,因為它只辨識名稱
# 啟動 ido2db
service ido2db start
# 讓 icinga 啟用 ido2db
cd /usr/local/icinga/etc/modules mv idoutils.cfg-sample idoutils.cfg
# 當然 icinga 也要 reload 一下
service icinga reload
留言