หากกำลังมองหา Monitor เพื่อตรวจสอบการทำงานของเครื่อง server ทั้ง service และ status ต่างๆ ในบทความนี้เราจะมาแนะนำ Icinga เป็น Software สำหรับ monitoring system สามารถแจ้งสถานะการดาวน์ของ Service ต่างๆ ได้ โดย Icinga จะเป็นโปรแกรมลูกของ Nagios ซึ่งจะทำให้สามารถใช้งาน Plugin ร่วมกับ Nagios ได้ด้วย
เตรียมพร้อมก่อนการติดตั้ง
ปิดการใช้งาน SELinux และดำเนินการติดตั้ง packages สำหรับ Icinga
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config yum -y install wget httpd mod_ssl gd gd-devel mariadb-server php-mysql php-xmlrpc gcc mariadb libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql
หลังจากนั้นทำการ Reboot
สร้าง icinga user และ icinga-cmd group แล้วทำการเพิ่ม icinga user และ apache user เข้าใน icinga-cmd group
useradd icinga groupadd icinga-cmd usermod -a -G icinga-cmd icinga usermod -a -G icinga-cmd apache # ทำการดาวน์โหลด Icinga เวอร์ชั่นล่าสุด cd /tmp/ wget http://downloads.sourceforge.net/project/icinga/icinga/1.10.1/icinga-1.10.1.tar.gz tar -zxvf /tmp/icinga-1.10.1.tar.gz cd /tmp/icinga-1.10.1
Compile และ Install Icinga
./configure --with-command-group=icinga-cmd --enable-idoutils make all make install make install-init make install-config make install-commandmode make install-webconf make install-idoutils
กำหนดตั้งค่า Icinga
ค่าต่างๆ ของ Icinga จะถูกติดตั้งไว้ที่ /usr/local/icinga/etc/ สำหรับการเริ่มต้นใช้งานจะต้องมีการแก้ไขไฟล์ /usr/local/icinga/etc/objects/contacts.cfg เพื่อเปลี่ยนอีเมล์ในการรับการแจ้งเตือนของระบบ
vi /usr/local/icinga/etc/objects/contacts.cfg # ในบรรทัด email ให้เปลี่ยนชื่ออีเมล์เป็นอีเมล์ที่ต้องการรับการแจ้งเตือน email icinga@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** # ย้ายไฟล์ตัวอย่างการตั้งค่าของ idoutils ไปยังโฟลเดอร์ของ Icinga cd /usr/local/icinga/etc/ mv idomod.cfg-sample idomod.cfg mv ido2db.cfg-sample ido2db.cfg cd modules/ mv idoutils.cfg-sample idoutils.cfg
สร้าง Database สำหรับ idoutils
systemctl start mariadb.service mysql -u root -p MariaDB [(none)]> CREATE DATABASE icinga; MariaDB [(none)]> GRANT USAGE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga' \ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit Import Database mysql -u root -p icinga < /tmp/icinga-1.10.1/module/idoutils/db/mysql/mysql.sql
กำหนดตั้งค่า Web Interface
สร้างบัญชีผู้ใช้งาน เพื่อใช้สำหรับ Login เข้าหน้า Icinga Monitoring ให้จำ Password ที่กำหนดให้บัญชีผู้ใช้นี้ไว้ เพราะจะต้องได้ใช้ในภายหลัง
htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
หลังจากนั้นทำการ Restart Apache
systemctl restart httpd.service
ดาวน์โหลดและติดตั้ง Nagios Plugins
ดาวน์โหลด Nagios Plugins ไว้ที่ /tmp
cd /tmp wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz tar -zxvf /tmp/nagios-plugins-2.0.3.tar.gz cd /tmp/nagios-plugins-2.0.3/ # Compile andและ install plugins ./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin --with-nagios-user= icinga --with-nagios-group=icinga make make install
Starting Icinga บนระบบ
ตรวจสอบการตั้งค่ากับไฟล์ตัวอย่าง
/usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg
ถ้าไม่พบ errors ใดๆ ให้ทำการ start Nagios และ Idoutils.
/etc/init.d/icinga start /etc/init.d/ido2db start
ทำการ Start Icinga และ Idoutils
chkconfig ido2db on chkconfig icinga on systemctl enable httpd.service systemctl enable mariadb.service
เข้าใช้งานหน้า Icinga Monitoring
พร้อมเข้าใช้งานหน้า Icinga Monitoring ตาม URL ด้านล่างนี้ โดย Username (icingaadmin) และ Password ที่คุณระบุไว้ก่อนหน้า
เข้าเรียกใช้งานได้ดังนี้ http://ip-address/icinga/
ตรวจสอบสถานะของ Service ต่างๆ : เลือก Status >> Service Detail
ตรวจสอบรายงานการ Alert ของสถานะ Service ต่างๆ : เลือก Reporting >> Alert Summary
ตรวจสอบรายงานการแจ้งเตือนของสถานะ Service ต่างๆ : เลือก Reporting >> Notifications
กราฟแสดงสถานะ Host และ Service : เลือก Reporting >> Trends (จากภาพ : กราฟแสดงสถานะ Service ของ http)
กราฟแสดงสถานะ Host และ Service : เลือก Reporting >> Alert Histogram (จากภาพ : กราฟแสดงสถานะ Service ของ http)
ข้อมูลเพิ่มเติม : https://www.icinga.org/
เพียงเท่านี้ ท่านก็จะได้ระบบ monitoring ที่ดีตัวหนึ่งไว้ใช้งาน พร้อมสำหรับดูแลเว็บ/เซิร์ฟเวอร์ ต่างๆ ของท่านแล้ว
Ichinga สามารถลงไว้ใน CloudNode-M ขนาดเล็ก M1G ได้อย่างง่ายดาย