Icinga: เครื่องมือ 'Linux Server Monitoring' โอเพ่นซอร์สรุ่นใหม่สำหรับ RHEL/CentOS 7.0
Icinga เป็นเครื่องมือตรวจสอบโอเพ่นซอร์สสมัยใหม่ที่มีต้นกำเนิดมาจากทางแยกของ Nagios และตอนนี้มีสองสาขาขนานกัน ได้แก่ Icinga 1 และ Icinga 2. สิ่งที่เครื่องมือนี้ทำคือ ไม่แตกต่างจาก Nagios เนื่องจากยังคงใช้ปลั๊กอินและส่วนเสริมของ Nagios และแม้กระทั่งไฟล์การกำหนดค่าเพื่อตรวจสอบและตรวจสอบบริการเครือข่ายและโฮสต์ แต่ความแตกต่างบางประการสามารถพบเห็นได้บนเว็บอินเตอร์เฟส โดยเฉพาะบน เว็บอินเตอร์เฟสใหม่ ความสามารถในการรายงาน และการพัฒนาส่วนเสริมที่ง่ายดาย
หัวข้อนี้จะเน้นไปที่การติดตั้งพื้นฐานของ Icinga 1 Monitoring Tool จากไบนารีบน CentOS หรือ RHEL 7 โดยใช้ RepoForge > (ก่อนหน้านี้เรียกว่า RPMforge) ที่เก็บข้อมูลสำหรับ CentOS 6 พร้อมด้วยเว็บอินเตอร์เฟสแบบคลาสสิกที่ Apache Webserver จัดขึ้น และการใช้ปลั๊กอิน Nagios ที่จะติดตั้งบนระบบของคุณ
อ่านเพิ่มเติม: ติดตั้ง Nagios Monitoring Tool ใน RHEL/CentOS
ความต้องการ
การติดตั้ง LAMP พื้นฐานบน RHEL/CentOS 7.0 โดยไม่ต้องใช้ MySQL และ PhpMyAdmin แต่มีโมดูล PHP เหล่านี้: php-cli
php-ลูกแพร์ php-xmlrpc php-xsl php-pdo php-สบู่ php-gd.
- การติดตั้ง Basic LAMP ใน RHEL/CentOS 7.0
ขั้นตอนที่ 1: การติดตั้ง Icinga Monitoring Tool
1. ก่อนที่จะดำเนินการติดตั้ง Icinga จากไบนารี ให้เพิ่มที่เก็บ RepoForge บนระบบของคุณโดยออกคำสั่งต่อไปนี้ ขึ้นอยู่กับเครื่องของคุณ
สำหรับ 86-64 บิต
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
สำหรับ 32 บิต
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
2. หลังจากเพิ่มที่เก็บ RepoForge ในระบบของคุณแล้ว ให้เริ่มต้นด้วยการติดตั้ง Icinga ขั้นพื้นฐานโดยไม่ต้องมีเว็บอินเตอร์เฟส โดยเรียกใช้คำสั่งต่อไปนี้
yum install icinga icinga-doc
3. ขั้นตอนต่อไปคือลองติดตั้งอินเทอร์เฟซเว็บ Icinga ที่ได้รับจากแพ็คเกจ icinga-gui ดูเหมือนว่าในขณะนี้แพ็คเกจนี้มีปัญหาที่ยังไม่ได้รับการแก้ไขกับ CentOS/RHEL 7 และจะสร้างข้อผิดพลาดในการตรวจสอบธุรกรรมบางอย่าง แต่คุณสามารถลองติดตั้งแพ็คเกจได้ตามใจชอบ อาจเป็นไปได้ว่าปัญหาได้รับการแก้ไขไปในขณะเดียวกัน
อย่างไรก็ตาม หากคุณได้รับข้อผิดพลาดเดียวกันกับเครื่องของคุณตามภาพด้านล่างนี้ ให้ใช้วิธีการต่อไปนี้ตามที่อธิบายเพิ่มเติม เพื่อให้สามารถติดตั้งเว็บอินเทอร์เฟซของ Icinga ได้
yum install icinga-gui
4. ขั้นตอนการติดตั้งแพ็คเกจ icinga-gui ซึ่งมีเว็บอินเตอร์เฟสมีดังต่อไปนี้ ขั้นแรกให้ดาวน์โหลดแพ็คเกจไบนารีจากเว็บไซต์ RepoForge โดยใช้คำสั่ง wget
สำหรับ 86-64 บิต
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
สำหรับ 32 บิต
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm
5. หลังจาก wget ดาวน์โหลดแพ็คเกจเสร็จแล้ว ให้สร้างไดเรกทอรีชื่อ icinga-gui (คุณสามารถเลือกชื่ออื่นได้หากต้องการ) ย้าย icinga-gui b> RPM ไบนารี่ไปยังโฟลเดอร์นั้น เข้าสู่โฟลเดอร์และแยกเนื้อหาแพ็คเกจ RPM โดยออกชุดคำสั่งถัดไป
mkdir icinga-gui
mv icinga-gui-* icinga-gui
cd icinga-gui
rpm2cpio icinga-gui-* | cpio -idmv
6. เมื่อคุณได้แพ็กเกจ icinga-gui ที่แยกออกมาแล้ว ให้ใช้คำสั่ง ls เพื่อแสดงภาพเนื้อหาของโฟลเดอร์ ซึ่งควรจะส่งผลให้มีไดเร็กทอรีใหม่สามไดเร็กทอรี - < b>ฯลฯ, usr และ var เริ่มต้นด้วยการดำเนินการคัดลอกซ้ำของไดเร็กทอรีผลลัพธ์ทั้งสามไดเร็กทอรีบนโครงร่างระบบไฟล์รูทระบบของคุณ
cp -r etc/* /etc/
cp -r usr/* /usr/
cp -r var/* /var/
ขั้นตอนที่ 2: แก้ไขไฟล์การกำหนดค่า Icinga Apache และสิทธิ์ของระบบ
7. ตามที่นำเสนอในบทความนี้ ระบบของคุณต้องติดตั้งเซิร์ฟเวอร์ Apache HTTP และ PHP เพื่อให้สามารถเรียกใช้ Icinga Web Interface ได้
หลังจากคุณทำตามขั้นตอนข้างต้นเสร็จแล้ว ไฟล์การกำหนดค่าใหม่ควรจะปรากฏบนพาธ Apache conf.d ชื่อ icinga.conf เพื่อให้สามารถเข้าถึง Icinga จากตำแหน่งระยะไกลจากเบราว์เซอร์ ให้เปิดไฟล์การกำหนดค่านี้และแทนที่เนื้อหาทั้งหมดด้วยการกำหนดค่าต่อไปนี้
nano /etc/httpd/conf.d/icinga.conf
ตรวจสอบให้แน่ใจว่าคุณได้แทนที่เนื้อหาไฟล์ทั้งหมดด้วยสิ่งต่อไปนี้
ScriptAlias /icinga/cgi-bin "/usr/lib64/icinga/cgi"
<Directory "/usr/lib64/icinga/cgi">
SSLRequireSSL
Options ExecCGI
AllowOverride None
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
Alias /icinga "/usr/share/icinga/"
<Directory "/usr/share/icinga/">
SSLRequireSSL
Options None
AllowOverride All
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
8. หลังจากที่คุณแก้ไขไฟล์การกำหนดค่า Icinga httpd แล้ว ให้เพิ่มผู้ใช้ระบบ Apache ไปยังกลุ่มระบบ Icinga และใช้สิทธิ์ของระบบต่อไปนี้ในเส้นทางระบบถัดไป
usermod -aG icinga apache
chown -R icinga:icinga /var/spool/icinga/*
chgrp -R icinga /etc/icinga/*
chgrp -R icinga /usr/lib64/icinga/*
chgrp -R icinga /usr/share/icinga/*
9. ก่อนที่จะเริ่มกระบวนการระบบ Icinga และเซิร์ฟเวอร์ Apache ตรวจสอบให้แน่ใจว่าคุณได้ปิดการใช้งานกลไกความปลอดภัยของ SELinux ด้วยการเรียกใช้คำสั่ง setenforce 0 และทำการเปลี่ยนแปลงอย่างถาวร โดยการแก้ไขไฟล์ /etc/selinux/config เปลี่ยนบริบท SELINUX จาก บังคับใช้ เป็น ปิดใช้งาน
nano /etc/selinux/config
แก้ไขคำสั่ง SELINUX ให้มีลักษณะเช่นนี้
SELINUX=disabled
คุณยังสามารถใช้คำสั่ง getenforce เพื่อดูสถานะ SELinux
10. ในขั้นตอนสุดท้ายก่อนเริ่มกระบวนการ Icinga และเว็บอินเทอร์เฟซ เพื่อเป็นมาตรการรักษาความปลอดภัย คุณสามารถแก้ไขรหัสผ่าน Icinga Admin ได้โดยการรันคำสั่งต่อไปนี้ จากนั้นจึงเริ่มทั้งสองกระบวนการ
htpasswd -cm /etc/icinga/passwd icingaadmin
systemctl start icinga
systemctl start httpd
ขั้นตอนที่ 3: ติดตั้ง Nagios Plugins และเข้าถึง Icinga Web Interface
11. ในการเริ่มตรวจสอบบริการภายนอกสาธารณะบนโฮสต์ด้วย Icinga เช่น HTTP, IMAP, POP3, SSH, DNS, ICMP ping และบริการอื่น ๆ อีกมากมายที่เข้าถึงได้จากอินเทอร์เน็ตหรือ LAN คุณต้องติดตั้ง < b>แพ็คเกจ Nagios Plugins จัดทำโดย EPEL Repositories
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
yum install yum install nagios-plugins nagios-plugins-all
12. หากต้องการเข้าสู่ระบบบน Icinga Web Interface ให้เปิดเบราว์เซอร์แล้วชี้ไปที่ URL http://system_IP/icinga/ ใช้ icingaadmin เป็นชื่อผู้ใช้และรหัสผ่านที่คุณเปลี่ยนก่อนหน้านี้ และตอนนี้คุณจะเห็นสถานะระบบ localhost ของคุณแล้ว
นั่นคือทั้งหมด! ตอนนี้คุณมี Icinga พื้นฐานพร้อมเว็บอินเตอร์เฟสแบบคลาสสิก – nagios – ติดตั้งและทำงานบนระบบของคุณแล้ว การใช้ปลั๊กอิน Nagios ทำให้คุณสามารถเริ่มเพิ่มโฮสต์ใหม่และบริการภายนอกเพื่อตรวจสอบและตรวจสอบโดยแก้ไขไฟล์การกำหนดค่า Icinga ที่อยู่บนเส้นทาง /etc/icinga/ หากคุณต้องการตรวจสอบบริการภายในบนโฮสต์ระยะไกล คุณต้องติดตั้งเอเจนต์บนโฮสต์ระยะไกล เช่น NRPE, NSClient++, SNMP เพื่อรวบรวมข้อมูลและส่งไปยังกระบวนการหลักของ Icinga
อ่านเพิ่มเติม
- ติดตั้งปลั๊กอิน NRPE และตรวจสอบโฮสต์ Linux ระยะไกล
- ติดตั้ง NSClient++ Agent และตรวจสอบโฮสต์ Windows ระยะไกล