ขั้นตอนการติดตั้งและ Configure Cacti
-
คำสั่งอัพเดท package ในระบบ และ set timezone ของเครื่องเป็นเขตเวลาของตัวเอง
apt-get update -y apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y timedatectl set-timezone Asia/Bangkok
Install LAMP Server
-
คำสั่งติดตั้ง LAMP Server(Apache web server, MariaDB, PHP, MySQL)
apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y
-
เมื่อติดตั้ง package เสร็จแล้วให้เข้าไปแก้ไข timezone และ date ตามคำสั่งต่อไปนี้
nano /etc/php/*/apache2/php.ini nano /etc/php/*/cli/php.ini ( * คือ version ของ php เปลี่ยนให้ตรงกับ version ที่ตัวเองใช้อยู่ )
แก้ไขวันที่และเวลาให้เป็นและค่า configuration ของทั้ง 2 ไฟล์ให้เป็นดังนี้
memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Bangkok
ตัวอย่าง
-
เมื่อแก้ไขเรียบร้อยแล้วให้ restart Apache โดยใช้คำสั่ง ดังนี้
systemctl restart apache2
Configure MariaDB Server
Cacti ใช้ MariaDB เป็น database Backend
-
เข้าไปแก้ไขค่าใน MariaDB โดยใช้คำสั่งดังนี้
nano /etc/mysql/mariadb.conf.d/50-server.cnf
เมื่อเข้ามาแล้วให้แก้ไขค่าให้เป็นไปตามต่อไปนี้
collation-server = utf8mb4_unicode_ci max_heap_table_size = 512M tmp_table_size = 512M join_buffer_size = 1024M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 16384M innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 32 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000 innodb_buffer_pool_instances = 50 innodb_doublewrite = OFF
รูปตัวอย่าง
บันทึกและ restart MariaDB ใหม่ โดยใช้คำสั่งต่อไปนี้
systemctl restart mariadb
-
Login เข้า MariaDB shell โดยใช้คำสั่งต่อไปนี้
mysql -u root -p
เมื่อ Login เข้ามาแล้วให้สร้าง database และ user สำหรับ cacti โดยใช้คำสั่งต่อไปนี้
create database cacti; GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'; flush privileges; exit;
รูปตัวอย่าง
และใช้คำสั่งต่อไปนี้เพื่อนำเข้าเวลาของเครื่องเราไปยัง MySQL
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
-
Login เข้าไปใน MariaDB shell เพื่อให้สิทธิ์ timezone ใน MySQL โดยใช้คำสั่งต่อไปนี้
mysql -u root -p GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; flush privileges; exit;
รูปตัวอย่าง
Install and Configure Cacti
-
Dowload Cacti เวอร์ชั่นล่าสุดโดยใช้คำสั่งต่อไปนี้
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
รูปตัวอย่าง
ใช้คำสั่งต่อไปนี้เพื่อแตกไฟล์ที่ Dowload มา
tar -zxvf cacti-latest.tar.gz
รูปตัวอย่าง
ใช้คำสั่งต่อไปนี้เพื่อใช้ย้าย Directory ที่แตกไฟล์ออกมาไปยัง Directory ของ Apache
mv cacti-1* /var/www/html/cacti
ใช้คำสั่งต่อไปนี้นำเข้า database ไปที่ cactiDB
mysql cacti < /var/www/html/cacti/cacti.sql
เข้าไปที่ไฟล์ config.php ของ Cacti แล้วกำหนดค่าดังนี้
nano /var/www/html/cacti/include/config.php //คำสั่งเข้าไปในไฟล์ config.php
ตรวจสอบชื่อ, username, password ของ database โดยมีค่า Default ดังต่อไปนี้
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port = '3306';
รูปตัวอย่าง
-
สร้าง log file สำหรับ Cacti โดยใช้คำสั่งต่อไปนี้
touch /var/www/html/cacti/log/cacti.log
กำหนด permission โดยใช้คำสั่งต่อไปนี้
chown -R www-data:www-data /var/www/html/cacti/ chmod -R 775 /var/www/html/cacti/
เข้าไปที่ไฟล์ cron.d โดยใช้คำสั่งต่อไปนี้
nano /etc/cron.d/cacti
เพิ่มบรรทัดด้านล่างนี้ไปยังไฟล์ /etc/cron.d/cacti
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
รูปตัวอย่าง
Configure Apache for Cacti
-
ใช้คำสั่งต่อไปนี้
nano /etc/apache2/sites-available/cacti.conf
นำคำสั่งด้านล่างนี้ไปวางในไฟล์ /etc/apache2/sites-available/cacti.conf
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
Options +FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3>
Order Allow,Deny
Allow from all
</IfVersion>
AddType application/x-httpd-php .php
<IfModule mod_php.c>
php_flag magic_quotes_gpc Off
php_flag short_open_tag On
php_flag register_globals Off
php_flag register_argc_argv On
php_flag track_vars On
# this setting is necessary for some locales
php_value mbstring.func_overload 0
php_value include_path .
</IfModule>
DirectoryIndex index.php
</Directory>
รูปตัวอย่าง
บันทึกและใช้คำสั่งต่อไปนี้เพื่อเข้าไปที่ host file
a2ensite cacti
ใช้คำสั่งต่อไปนี้เพื่อ restart apache
systemctl restart apache2
ขั้นตอน setup Cacti บน webbrowser
เปิด browser และไปยัง ip ของเครื่อง host เช่น
http://localhost/cacti
หรือ
172.31.*.**/cacti
จะเจอกับหน้า login ครั้งแรก user คือ admin password คือ admin
รูปตัวอย่าง
เมื่อ login สำเร็จ ระบบจะให้เปลี่ยน password
รูปตัวอย่าง
ติ๊กถูกที่ Accept GPL แล้วกด Begin
รูปตัวอย่าง
ต่อไปจะเป็นหน้าที่แสดงค่า Configure ต่าง ๆ ระบบจะบอกว่าต้องการอะไรเพิ่มหรือการตั้งค่าอะไรที่ผิดพลาด อย่างในตัวอย่างนี้ ระบบต้องการ Modules php intl ก็ให้ติดตั้งเพิ่มโดยใช้คำสั่ง
apt-get install -y php-intl
รูปตัวอย่าง
กด next ไป Step ต่อไปเรื่อยๆ
รูปตัวอย่าง
-
เลือก New Primary Server และตรวจสอบ Local Database Connection Information ให้เรียบร้อย
-
อ่าน Statement ให้เรียบร้อย และเมื่ออ่านเสร็จแล้วให้ติ๊กที่ I have read this statement
-
กด Confirm Installation และกด Install เพื่อติดตั้ง
-
เมื่อติดตั้งเสร็จ จะเจอหน้าเริ่มต้นของ cacti
-
รูปเมื่อติดตั้งเสร็จเรียบร้อย
วิธี Create devices
- คลิกที่ Management แล้วเลือก Devices และคลิกที่ สัญลักษณ์ +(บวก) ด้านบน
- ใส่ข้อมูลต่างๆ
- จะมี Graph ขึ้นมาให้อัตโนมัติ และสามารถเพิ่ม Graph ได้
วิธี Create graphs
-
กดที่ Create และ กดไปที่ New Graphs
-
กดที่ Tab Graphs ด้านบน จะมี Graph ของ Device ที่เราเลือกแสดงขึ้นมา
-
วิธีอ่าน Graph
- แกน X คือค่าเวลาของ Graph
- แกน Y คือค่าต่างๆที่ Graph อ่าน เช่น ค่า Traffic , ค่าการ Load , ค่าการประมวลผล
วิธีลง Plugin Thold
ให้เข้าไปที่ /var/www/html/cacti/plugins ให้นำไฟล์ที่โหลดมาจาก Github วางไว้ในนี้ ขั้นต่อไปให้ไปที่ Plugin และกด Install จากนั้นจะเห็น thold ด้านบน ซึ่งเป็น Plugin ที่ถูกเพิ่มเข้ามา