SPCN-NMS

Cacti

5142645

ขั้นตอนการติดตั้งและ Configure Cacti

  1. คำสั่งอัพเดท 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


  1. คำสั่งติดตั้ง 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
    
  2. เมื่อติดตั้ง 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
    

ตัวอย่าง

3

5

4

  1. เมื่อแก้ไขเรียบร้อยแล้วให้ restart Apache โดยใช้คำสั่ง ดังนี้

    systemctl restart apache2
    

Configure MariaDB Server


Cacti ใช้ MariaDB เป็น database Backend

  1. เข้าไปแก้ไขค่าใน 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
    

รูปตัวอย่าง

6

บันทึกและ restart MariaDB ใหม่ โดยใช้คำสั่งต่อไปนี้

    systemctl restart mariadb
  1. 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;
    

รูปตัวอย่าง

7

และใช้คำสั่งต่อไปนี้เพื่อนำเข้าเวลาของเครื่องเราไปยัง MySQL

    mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
  1. Login เข้าไปใน MariaDB shell เพื่อให้สิทธิ์ timezone ใน MySQL โดยใช้คำสั่งต่อไปนี้

    mysql -u root -p
    GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
    flush privileges;
    exit;
    

รูปตัวอย่าง

8

Install and Configure Cacti


  1. Dowload Cacti เวอร์ชั่นล่าสุดโดยใช้คำสั่งต่อไปนี้

    wget https://www.cacti.net/downloads/cacti-latest.tar.gz
    

รูปตัวอย่าง

9

ใช้คำสั่งต่อไปนี้เพื่อแตกไฟล์ที่ Dowload มา

    tar -zxvf cacti-latest.tar.gz

รูปตัวอย่าง

10

ใช้คำสั่งต่อไปนี้เพื่อใช้ย้าย 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';

รูปตัวอย่าง

11

  1. สร้าง 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
    

    รูปตัวอย่าง

    12

Configure Apache for Cacti


  1. ใช้คำสั่งต่อไปนี้

    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>

รูปตัวอย่าง

13

บันทึกและใช้คำสั่งต่อไปนี้เพื่อเข้าไปที่ 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

รูปตัวอย่าง

15

เมื่อ login สำเร็จ ระบบจะให้เปลี่ยน password

รูปตัวอย่าง

16

ติ๊กถูกที่ Accept GPL แล้วกด Begin

รูปตัวอย่าง

17

ต่อไปจะเป็นหน้าที่แสดงค่า Configure ต่าง ๆ ระบบจะบอกว่าต้องการอะไรเพิ่มหรือการตั้งค่าอะไรที่ผิดพลาด อย่างในตัวอย่างนี้ ระบบต้องการ Modules php intl ก็ให้ติดตั้งเพิ่มโดยใช้คำสั่ง

    apt-get install -y php-intl

รูปตัวอย่าง

18

19

กด next ไป Step ต่อไปเรื่อยๆ

รูปตัวอย่าง

  • เมื่อ Pre-Installation Checks ผ่าน ให้ทำการกด Next 20

  • เลือก New Primary Server และตรวจสอบ Local Database Connection Information ให้เรียบร้อย 21

  • เมื่อ Directory Permission Checks ผ่าน ให้ทำการกด Next 22

  • ตรวจสอบ Path Locations ให้เรียบร้อย 23

  • อ่าน Statement ให้เรียบร้อย และเมื่ออ่านเสร็จแล้วให้ติ๊กที่ I have read this statement 24

  • ตั้งค่า Default Profile และ Default Automation Network 25

  • เลือก Template Setup ที่ต้องการติดตั้ง 26

  • กด Next 27

  • กด Confirm Installation และกด Install เพื่อติดตั้ง

28

  • รอติดตั้งจนสำเร็จ 29

30

  • เมื่อติดตั้งเสร็จ จะเจอหน้าเริ่มต้นของ cacti

  • รูปเมื่อติดตั้งเสร็จเรียบร้อย

40

วิธี Create devices

  • คลิกที่ Management แล้วเลือก Devices และคลิกที่ สัญลักษณ์ +(บวก) ด้านบน 31
  • ใส่ข้อมูลต่างๆ
    • Description ใส่ชื่อ
    • Hostname ใส่ IP
    • Location เลือก None
    • Device Template เลือกเป็น Local Linux Machine 32
  • จะมี Graph ขึ้นมาให้อัตโนมัติ และสามารถเพิ่ม Graph ได้ 33

วิธี Create graphs

  • กดที่ Create และ กดไปที่ New Graphs

    • เลือก Device แล้วกดไปที่ New Graph Template แล้วทำการเลือก Graph และกด Create Screenshot 2023-01-18 184435
  • กดที่ Tab Graphs ด้านบน จะมี Graph ของ Device ที่เราเลือกแสดงขึ้นมา 35

  • วิธีอ่าน Graph

    • แกน X คือค่าเวลาของ Graph
    • แกน Y คือค่าต่างๆที่ Graph อ่าน เช่น ค่า Traffic , ค่าการ Load , ค่าการประมวลผล

Screenshot 2023-01-18 184530

Screenshot 2023-01-18 184629

Screenshot 2023-01-18 184704

วิธีลง Plugin Thold

ให้เข้าไปที่ /var/www/html/cacti/plugins ให้นำไฟล์ที่โหลดมาจาก Github วางไว้ในนี้ ขั้นต่อไปให้ไปที่ Plugin และกด Install จากนั้นจะเห็น thold ด้านบน ซึ่งเป็น Plugin ที่ถูกเพิ่มเข้ามา

  • Download Plugin Thold มาลงไว้ที่ /var/www/html/cacti/plugins 38

  • กดไปที่ Tab Configuration และกดไปที่ Plugins 39

  • ทำการตั้งค่า Threshold ของ Graph 36

37

  • ตรวจสอบแจ้งเตือนได้จาก Tab Log chrome_4dKLWNlvpW