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

วิธีการติดตั้ง Cacti ด้วย Cacti-Spine ใน Debian และ Ubuntu


ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีติดตั้งและกำหนดค่าเครื่องมือตรวจสอบเครือข่าย Cacti ใน Debian และ Ubuntu 16.04 LTS เวอร์ชันล่าสุด Cacti จะถูกสร้างและติดตั้งจากไฟล์ต้นฉบับในคู่มือนี้

Cacti เป็นเครื่องมือตรวจสอบโอเพ่นซอร์สที่สร้างขึ้นสำหรับตรวจสอบเครือข่าย โดยเฉพาะอุปกรณ์เครือข่าย เช่น สวิตช์ เราเตอร์ เซิร์ฟเวอร์ ผ่านโปรโตคอล SNMP Cacti โต้ตอบกับผู้ใช้ปลายทางและสามารถจัดการได้ผ่านอินเทอร์เฟซเครื่องมือเว็บ

ความต้องการ

  1. ติดตั้ง LAMP Stack ใน Debian 9
  2. ติดตั้ง LAMP Stack ใน Ubuntu 16.04 LTS

ขั้นตอนที่ 1: ติดตั้งและกำหนดค่าข้อกำหนดเบื้องต้นสำหรับ Cacti

1. ใน Debian 9 ไฟล์รายการโอเพ่นซอร์สสำหรับการแก้ไข และเพิ่มที่เก็บข้อมูล contrib และ ไม่ฟรี ลงใน ไฟล์โดยเปลี่ยนบรรทัดต่อไปนี้:

nano /etc/apt/sources.list

เพิ่มบรรทัดต่อไปนี้ในไฟล์ sources.list

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. หลังจากนั้น ตรวจสอบให้แน่ใจว่าได้อัปเดตระบบโดยออกคำสั่งด้านล่าง

apt update
apt upgrade

3. ใน LAMP Stack ของคุณ ตรวจสอบให้แน่ใจว่าส่วนขยาย PHP ต่อไปนี้ปรากฏอยู่ในระบบ

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. จากนั้น แก้ไขไฟล์การกำหนดค่า PHP และเปลี่ยนการตั้งค่าโซนเวลาให้ตรงกับตำแหน่งทางกายภาพของเซิร์ฟเวอร์ของคุณ โดยใช้คำสั่งด้านล่าง

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. จากนั้น เข้าสู่ระบบฐานข้อมูล MariaDB หรือ MySQL จากการติดตั้ง LAMP stack ของคุณ และสร้างฐานข้อมูลสำหรับการติดตั้ง Cacti โดยออกคำสั่งดังต่อไปนี้

เปลี่ยนชื่อฐานข้อมูล cacti ผู้ใช้ และรหัสผ่านเพื่อให้ตรงกับการกำหนดค่าของคุณเอง และเลือกรหัสผ่านที่คาดเดายากสำหรับฐานข้อมูล cacti

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. นอกจากนี้ ให้ออกคำสั่งด้านล่างเพื่ออนุญาตให้ผู้ใช้ cacti เลือกสิทธิ์ในการตั้งค่า data.timezone ของ MySQL โดยออกคำสั่งด้านล่าง

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. จากนั้น เปิดไฟล์การกำหนดค่าเซิร์ฟเวอร์ MySQL และเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

เพิ่มบรรทัดต่อไปนี้ต่อท้ายไฟล์ 50-server.cnf หรือ mysqld.cnf

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

สำหรับฐานข้อมูล MariaDB ให้เพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์ 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. สุดท้าย ให้รีสตาร์ทบริการ MySQL และ Apache เพื่อใช้การตั้งค่าทั้งหมดและตรวจสอบสถานะบริการทั้งสองโดยออกคำสั่งต่อไปนี้

systemctl restart mysql apache2
systemctl status mysql apache2

ขั้นตอนที่ 2: ดาวน์โหลดและเตรียมการติดตั้ง Cacti

9. เริ่มติดตั้ง Cacti จากแหล่งที่มาโดยการดาวน์โหลดและแยกไฟล์เก็บถาวร Cacti เวอร์ชันล่าสุด และคัดลอกไฟล์ที่แยกทั้งหมดไปยังรูทเอกสารเว็บ Apache โดยใช้คำสั่งต่อไปนี้

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. ลบไฟล์ index.html ออกจากไดเรกทอรี /var/www/html สร้างไฟล์บันทึก Cacti และให้สิทธิ์ Apache ในการเขียนไปยังเว็บ เส้นทางราก

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. ถัดไป แก้ไขไฟล์การกำหนดค่า cacti และแก้ไขบรรทัดต่อไปนี้ตามที่แสดงในตัวอย่างด้านล่าง

nano /var/www/html/include/config.php

ตัวอย่างไฟล์ Cacti config.php เปลี่ยนชื่อฐานข้อมูล cacti ผู้ใช้และรหัสผ่านตามลำดับ

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. จากนั้นเติมฐานข้อมูล cacti ด้วยสคริปต์ cacti.sql จากไดเร็กทอรี /var/www/html/ โดยใช้คำสั่งด้านล่าง

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. ตอนนี้ให้ติดตั้งทรัพยากรเพิ่มเติม เนื่องจากกลไก Cacti รวบรวมข้อมูลอุปกรณ์ผ่านโปรโตคอล SNMP และแสดงกราฟิกโดยใช้ RRDtool ติดตั้งทั้งหมดโดยออกคำสั่งต่อไปนี้

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. ตรวจสอบว่าบริการ SNMP เปิดและทำงานอยู่หรือไม่โดยรีสตาร์ท snmpd daemon โดยออกคำสั่งด้านล่าง ตรวจสอบสถานะ snmpd daemon และพอร์ตที่เปิดอยู่ด้วย

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

ขั้นตอนที่ 3: ดาวน์โหลดและติดตั้ง Cacti-Spine

15. Cacti-Spine เป็นการแทนที่ด้วยภาษา C สำหรับโพลเลอร์เริ่มต้น cmd.php Cacti-Spine ช่วยให้การดำเนินการเร็วขึ้น ในการรวบรวม Cacti-Spine pooler จากแหล่งต่างๆ ให้ติดตั้งการขึ้นต่อกันที่จำเป็นด้านล่างในระบบของคุณ

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. หลังจากที่คุณติดตั้งการอ้างอิงข้างต้นแล้ว ให้ดาวน์โหลดไฟล์เก็บถาวร Cacti-Spine เวอร์ชันล่าสุด แยก tarball และคอมไพล์ cacti-spine โดยออกชุดคำสั่งต่อไปนี้ .

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. คอมไพล์และติดตั้ง Cacti-Spine จากแหล่งที่มาโดยใช้คำสั่งต่อไปนี้

./bootstrap 
./configure 
make
make install

18. ถัดไป ตรวจสอบให้แน่ใจว่าไบนารีของกระดูกสันหลังเป็นเจ้าของโดยบัญชีรูท และตั้งค่าบิต suid สำหรับยูทิลิตี้กระดูกสันหลังโดยการรันคำสั่งต่อไปนี้

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. ตอนนี้ แก้ไขไฟล์การกำหนดค่า Cacti Spine และเพิ่มชื่อฐานข้อมูล cacti ผู้ใช้ และรหัสผ่านลงในไฟล์ conf Spine ดังแสดงในตัวอย่างด้านล่าง

nano /usr/local/spine/etc/spine.conf

เพิ่มการกำหนดค่าต่อไปนี้ลงในไฟล์กระดูกสันหลัง.conf

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

ขั้นตอนที่ 4: การตั้งค่าตัวช่วยสร้างการติดตั้ง Cacti

20. หากต้องการติดตั้ง Cacti ให้เปิดเบราว์เซอร์และไปที่ที่อยู่ IP ของระบบหรือชื่อโดเมนของคุณที่ URL ต่อไปนี้

http://your_IP/install

ขั้นแรก ตรวจสอบ ยอมรับข้อตกลงใบอนุญาต และกดปุ่ม ถัดไป เพื่อดำเนินการต่อ

21. ถัดไป ตรวจสอบว่าความต้องการของระบบหรือไม่ แล้วกดปุ่ม ถัดไป เพื่อดำเนินการต่อ

22. ในหน้าต่างถัดไป เลือก เซิร์ฟเวอร์หลักใหม่ และกดปุ่ม ถัดไป เพื่อดำเนินการต่อ

23. ถัดไป ตรวจสอบตำแหน่งไบนารี่และเวอร์ชันที่สำคัญ และเปลี่ยนพาธไบนารีของ Spine เป็น /usr/local/spine/bin/spine เมื่อเสร็จแล้ว ให้กดปุ่ม ถัดไป เพื่อดำเนินการต่อ

24. ถัดไป ตรวจสอบว่ามีการอนุญาตไดเรกทอรีเว็บเซิร์ฟเวอร์ทั้งหมดหรือไม่ (ตั้งค่าสิทธิ์ในการเขียนแล้ว) และกดปุ่ม ถัดไป เพื่อดำเนินการต่อ

25. ในขั้นตอนถัดไป ให้ตรวจสอบเทมเพลตทั้งหมดแล้วกดปุ่ม เสร็จสิ้น เพื่อสิ้นสุดกระบวนการติดตั้ง

26. เข้าสู่ระบบเว็บอินเทอร์เฟซของ Cacti ด้วยข้อมูลรับรองเริ่มต้นที่แสดงด้านล่าง และเปลี่ยนรหัสผ่านของผู้ดูแลระบบ ดังที่แสดงในภาพหน้าจอต่อไปนี้

Username: admin
Password: admin

27. จากนั้นไปที่ คอนโซล -> การกำหนดค่า -> การตั้งค่า -> Poller และเปลี่ยน ประเภท Poller จาก cmd.php< ไปที่ Spine ไบนารี่ และเลื่อนลงไปที่ปุ่ม บันทึก เพื่อบันทึกการกำหนดค่า

28. จากนั้นไปที่ คอนโซล -> การกำหนดค่า -> การตั้งค่า -> เส้นทาง และเพิ่มเส้นทางต่อไปนี้ลงในไฟล์การกำหนดค่า Cacti-Spine:

/usr/local/spine/etc/spine.conf 

กดปุ่ม บันทึก เพื่อใช้การกำหนดค่า

29. การตั้งค่าขั้นสุดท้ายซึ่งช่วยให้ Cacti poller เริ่มรวบรวมข้อมูลจากอุปกรณ์ที่ได้รับการตรวจสอบคือการเพิ่มงาน crontab ใหม่เพื่อสอบถามอุปกรณ์แต่ละเครื่องผ่าน SNMP ทุกๆ 5 นาที

งาน crontab ต้องเป็นของบัญชี www-data

crontab -u www-data -e

เพิ่มรายการไฟล์ Cron:

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. รอสักครู่เพื่อให้ Cacti รวบรวมข้อมูลและไปที่ กราฟ -> ต้นไม้เริ่มต้น และคุณจะเห็นกราฟที่รวบรวมสำหรับอุปกรณ์ที่ได้รับการตรวจสอบของคุณ

นั่นคือทั้งหมด! คุณได้ติดตั้งและกำหนดค่า Cacti ด้วยตัวรวบรวม Cacti-Spine จากแหล่งที่มาสำเร็จแล้วใน Debian 9 และ Ubuntu 16.04 รุ่นล่าสุด เซิร์ฟเวอร์ LTS