ค้นหาเว็บไซต์

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.

  1. การติดตั้ง 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

อ่านเพิ่มเติม

  1. ติดตั้งปลั๊กอิน NRPE และตรวจสอบโฮสต์ Linux ระยะไกล
  2. ติดตั้ง NSClient++ Agent และตรวจสอบโฮสต์ Windows ระยะไกล