Observium: ระบบการจัดการและตรวจสอบเครือข่ายที่สมบูรณ์แบบสำหรับ RHEL/CentOS
Observium เป็นแอปพลิเคชันสังเกตและติดตามเครือข่ายที่ขับเคลื่อนด้วย PHP/MySQL ซึ่งสนับสนุนระบบปฏิบัติการ/แพลตฟอร์มฮาร์ดแวร์ที่หลากหลาย รวมถึง Linux, Windows, FreeBSD, Cisco, HP, Dell, NetApp และอื่นๆ อีกมากมาย พยายามนำเสนอเว็บอินเตอร์เฟสที่แข็งแกร่งและเรียบง่ายเพื่อตรวจสอบความสมบูรณ์และประสิทธิภาพของเครือข่ายของคุณ
Observium รวบรวมข้อมูลจากอุปกรณ์ด้วยความช่วยเหลือของ SNMP และแสดงข้อมูลเหล่านั้นในรูปแบบกราฟิกผ่านทางเว็บอินเตอร์เฟส มันใช้ประโยชน์จากแพ็คเกจ RRDtool อย่างมาก มีเป้าหมายการออกแบบหลักเล็กๆ น้อยๆ หลายประการ ซึ่งรวมถึงการรวบรวมข้อมูลประวัติเกี่ยวกับอุปกรณ์ให้มากที่สุด การค้นพบอัตโนมัติโดยสิ้นเชิงโดยมีการขัดจังหวะด้วยตนเองเล็กน้อยหรือไม่มีการรบกวนเลย และมีอินเทอร์เฟซที่เรียบง่ายแต่ทรงพลัง
หอสังเกตการณ์สาธิต
โปรดชมการสาธิตออนไลน์สั้นๆ ของ Observium ที่นักพัฒนาใช้งานในตำแหน่งต่อไปนี้
- http://demo.observium.org/
บทความนี้จะแนะนำคุณเกี่ยวกับวิธีการติดตั้ง Observium บน RHEL, CentOS และ Scientific Linux เวอร์ชันที่รองรับคือ EL (ลีนุกซ์ระดับองค์กร) 6.x ปัจจุบัน Observium ไม่รองรับรุ่น EL 4 และ 5 ตามลำดับ ดังนั้น โปรดอย่าใช้คำแนะนำต่อไปนี้กับรุ่นเหล่านี้
ขั้นตอนที่ 1: การเพิ่ม RPM Forge และ EPEL Repositories
RPMForge และ EPEL คือพื้นที่เก็บข้อมูลที่มีแพ็คเกจซอฟต์แวร์ rpm ส่วนเสริมมากมายสำหรับ RHEL, CentOS และ Scientific Linux มาติดตั้งและเปิดใช้งานที่เก็บตามชุมชนทั้งสองนี้โดยใช้คำสั่งร้ายแรงต่อไปนี้
บนระบบ i386
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
บนระบบ x86_64
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
ขั้นตอนที่ 2: ติดตั้งแพ็คเกจซอฟต์แวร์ที่จำเป็น
ตอนนี้มาติดตั้งแพ็คเกจซอฟต์แวร์ที่จำเป็นสำหรับ Observium
yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python
หากคุณต้องการตรวจสอบเครื่องเสมือน โปรดติดตั้งแพ็คเกจ 'libvirt'
yum install libvirt
ขั้นตอนที่ 3: ดาวน์โหลด Observium
สำหรับข้อมูลของคุณ Observium มีสองฉบับต่อไปนี้
- รุ่นชุมชน/โอเพ่นซอร์ส: รุ่นนี้สามารถดาวน์โหลดได้ฟรี โดยมีฟีเจอร์น้อยลงและการแก้ไขด้านความปลอดภัยเล็กน้อย
- ฉบับสมัครสมาชิก: ฉบับนี้มาพร้อมกับคุณสมบัติเพิ่มเติม คุณลักษณะ/การแก้ไขที่รวดเร็ว การสนับสนุนฮาร์ดแวร์ และกลไกการเผยแพร่ที่ใช้ SVN ที่ใช้งานง่าย
ขั้นแรกให้ไปที่ /opt โดยตรง ที่นี่เราจะติดตั้ง Observium เป็นค่าเริ่มต้น หากคุณต้องการติดตั้งที่อื่น โปรดแก้ไขคำสั่งและการกำหนดค่าตามนั้น เราขอแนะนำอย่างยิ่งให้คุณปรับใช้ภายใต้ไดเร็กทอรี /opt ก่อน เมื่อคุณตรวจสอบแล้วว่าทุกอย่างทำงานได้อย่างสมบูรณ์ คุณสามารถติดตั้งในตำแหน่งที่คุณต้องการได้
หากคุณมีการสมัครสมาชิก Observium ที่ใช้งานอยู่ คุณสามารถใช้พื้นที่เก็บข้อมูล SVN เพื่อดาวน์โหลดเวอร์ชันล่าสุดได้ บัญชีการสมัครสมาชิกที่ถูกต้องใช้ได้กับการติดตั้งครั้งเดียวและการทดสอบหรือการพัฒนาสองครั้งพร้อมแพตช์ความปลอดภัยรายวัน คุณสมบัติใหม่ และการแก้ไขข้อบกพร่อง
หากต้องการดาวน์โหลด Observium เวอร์ชันเสถียรและเป็นปัจจุบันล่าสุด คุณต้องมีแพ็คเกจ svn ติดตั้งอยู่บนระบบ เพื่อที่จะดึงไฟล์จากที่เก็บ SVN
yum install svn
เวอร์ชันการพัฒนา
svn co http://svn.observium.org/svn/observium/trunk observium
เวอร์ชันเสถียร
svn co http://svn.observium.org/svn/observium/branches/stable observium
เราไม่มีการสมัครสมาชิกที่ถูกต้อง ดังนั้นเราจะลองใช้ Observium โดยใช้ Community/Open Source Edition ดาวน์โหลดเวอร์ชันเสถียร 'observium-community-latest.tar.gz' ล่าสุดแล้วแกะออกตามที่แสดง
cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
ขั้นตอนที่ 4: การสร้างฐานข้อมูล MySQL ของ Observium
นี่เป็นการติดตั้ง MySQL ใหม่ทั้งหมด ดังนั้นเราจะตั้งรหัสผ่านรูทใหม่โดยใช้คำสั่งต่อไปนี้
service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'
ตอนนี้ล็อกอินเข้าสู่เชลล์ mysql และสร้างฐานข้อมูล Observium ใหม่
mysql -u root -p
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';
ขั้นตอนที่ 5: กำหนดค่า Observium
การกำหนดค่า SELinux ให้ทำงานกับ Observium นั้นอยู่นอกเหนือขอบเขตของบทความนี้ ดังนั้นเราจึงปิดการใช้งาน SELinux หากคุณคุ้นเคยกับกฎของ SELinux คุณสามารถกำหนดค่าได้ แต่ไม่รับประกันว่า Observium จะทำงานร่วมกับ SELinux ที่ใช้งานอยู่ได้ ดังนั้นควรปิดการใช้งานอย่างถาวรจะดีกว่า โดยเปิดไฟล์ '/etc/sysconfig/selinux' และเปลี่ยนตัวเลือกจาก 'อนุญาต' เป็น 'ปิดการใช้งาน'
vi /etc/sysconfig/selinux
SELINUX=disabled
คัดลอกไฟล์การกำหนดค่าเริ่มต้น 'config.php.default' ไปที่ 'config.php' และแก้ไขการตั้งค่าตามที่แสดง
/opt/observium
cp config.php.default config.php
ตอนนี้เปิดไฟล์ 'config.php' แล้วป้อนรายละเอียด MySQL เช่น ชื่อฐานข้อมูล ชื่อผู้ใช้ และรหัสผ่าน
vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';
จากนั้นเพิ่มรายการสำหรับตำแหน่งไบนารี fping ลงใน config.php ในการกระจาย RHEL ตำแหน่งจะแตกต่างกัน
$config['fping'] = "/usr/sbin/fping";
จากนั้น รันคำสั่งต่อไปนี้เพื่อตั้งค่าฐานข้อมูล MySQL และแทรกสคีมาไฟล์เริ่มต้นของฐานข้อมูล
php includes/update/update.php
ขั้นตอนที่ 6: กำหนดค่า Apache สำหรับ Observium
ตอนนี้สร้างไดเร็กทอรี 'rrd' ใต้ไดเร็กทอรี '/opt/observium' เพื่อจัดเก็บ RRD
/opt/observium
mkdir rrd
ถัดไป ให้สิทธิ์การเป็นเจ้าของ Apache แก่ไดเร็กทอรี 'rrd' เพื่อเขียนและจัดเก็บ RRD ภายใต้ไดเร็กทอรีนี้
chown apache:apache rrd
สร้างคำสั่ง Apache Virtual Host สำหรับ Obervium ในไฟล์ '/etc/httpd/conf/httpd.conf'
vi /etc/httpd/conf/httpd.conf
เพิ่มคำสั่ง Virtual Host ต่อไปนี้ที่ด้านล่างของไฟล์และเปิดใช้งานส่วน Virtualhost ดังที่แสดงในภาพหน้าจอด้านล่าง
<VirtualHost *:80>
DocumentRoot /opt/observium/html/
ServerName observium.domain.com
CustomLog /opt/observium/logs/access_log combined
ErrorLog /opt/observium/logs/error_log
<Directory "/opt/observium/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
หากต้องการรักษาบันทึกการสังเกตการณ์ ให้สร้างไดเรกทอรี 'logs' สำหรับ Apache ภายใต้ '/op/observium' และใช้ความเป็นเจ้าของ Apache เพื่อเขียนบันทึก
mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs
หลังจากตั้งค่าทั้งหมดแล้ว ให้เริ่มบริการ Apache ใหม่
service httpd restart
ขั้นตอนที่ 7: สร้างผู้ใช้ผู้ดูแลระบบ Observium
เพิ่มผู้ใช้รายแรก ให้ระดับ 10 สำหรับผู้ดูแลระบบ ตรวจสอบให้แน่ใจว่าได้เปลี่ยนชื่อผู้ใช้และรหัสผ่านตามที่คุณต้องการ
cd /opt/observium
./adduser.php tecmint tecmint123 10
User tecmint added successfully.
ถัดไปเพิ่มอุปกรณ์ใหม่และรันคำสั่งต่อไปนี้เพื่อเติมข้อมูลสำหรับอุปกรณ์ใหม่
./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all
ถัดไปตั้งค่างาน cron สร้างไฟล์ใหม่ '/etc/cron.d/observium' และเพิ่มเนื้อหาต่อไปนี้
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
โหลดกระบวนการ cron ซ้ำเพื่อรับรายการใหม่
/etc/init.d/cron reload
ขั้นตอนสุดท้ายคือการเพิ่มบริการ httpd และ mysqld ทั่วทั้งระบบ เพื่อเริ่มต้นโดยอัตโนมัติหลังจากการบูตระบบ
chkconfig mysqld on
chkconfig httpd on
สุดท้าย เปิดเบราว์เซอร์ที่คุณชื่นชอบและชี้ไปที่ http://Your-Ip-Address
ทัวร์ชมภาพหน้าจอหอดูดาว
ต่อไปนี้เป็นภาพหน้าจอเมื่อกลางปี 2556 ที่ผ่านมา ซึ่งนำมาจากเว็บไซต์ Observium หากต้องการดูข้อมูลล่าสุด โปรดตรวจสอบการสาธิตสด
บทสรุป
Observium ไม่ได้หมายถึงการลบเครื่องมือตรวจสอบอื่นๆ เช่น Nagios หรือ Cacti ออกโดยสิ้นเชิง แต่เป็นการเพิ่มเติมด้วยความเข้าใจที่ยอดเยี่ยมเกี่ยวกับอุปกรณ์บางอย่าง ด้วยเหตุนี้ จึงเป็นเรื่องสำคัญที่จะต้องปรับใช้ Observium กับ Naigos หรือระบบตรวจสอบอื่น ๆ เพื่อแจ้งเตือนและ Cacti เพื่อสร้างกราฟแบบกำหนดเองของอุปกรณ์เครือข่ายของคุณ
ลิงก์อ้างอิง:
- หน้าแรกของหอสังเกตการณ์
- เอกสารหอสังเกตการณ์