ติดตั้ง Cacti บน Fedora 11 ตอนที่ 2

หลังจากติดตั้งไฟล์โปรแกรม cacti เรียบร้อยแล้ว ต้องแก้ไขคอนฟิกไฟล์รวมทั้งสร้าง database เพื่อใช้ในการเก็บข้อมูลของ cacti เองด้วย

คอนฟิกเว็บเซิร์ฟเวอร์ในส่วนของ cacti

ส่วนแรกคือคอนฟิกของเว็บเซิร์ฟเวอร์ โดยดีฟอลต์จากการติดตั้ง cacti โดยใช้ไฟล์ rpm ของ Fedora 11 จะมีคอนฟิกเว็บในส่วนของ cacti สร้างเป็นไฟล์ชื่อ /etc/httpd/conf.d/cacti.conf

[root@fc11-64min ~]# cat /etc/httpd/conf.d/cacti.conf
#
# Cacti: An rrd based graphing tool
#
Alias /cacti    /usr/share/cacti
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

ความหมายของคอนฟิกไฟล์ด้านบนคือ ผู้ใช้สามารถเรียกใช้เว็บโปรแกรม cati โดยใส่ path เป็น /cacti เช่น http://<ip-address>/cacti/ แต่ดีฟอลต์จะอนุญาตให้เรียกมาจากเครื่อง ip 127.0.0.1 หรือตัวมันเองเท่านั้น

ถ้าต้องการแก้ไขให้เรียกเว็บ cacti จากเครื่องอื่นได้ ต้องแก้ไขคอนฟิกไฟล์นี้เป็น

[root@fc11-64min ~]# cat /etc/httpd/conf.d/cacti.conf
#
# Cacti: An rrd based graphing tool
#
Alias /cacti    /usr/share/cacti
<Directory /usr/share/cacti/>
        Order Allow,Deny
        Allow from all
</Directory>

หลังแก้ไขไฟล์คอนฟิกของเว็บเซิร์ฟเวอร์ ต้องใช้คำสั่ง service เพื่อรีสตาร์ตให้คอนฟิกใหม่มีผล

[root@fc11-64min Packages]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

ทดลองเรียกเว็บ cacti ผ่าน web browser

01 - Cannot connect database

สร้างฐานข้อมูลของ cacti

จากตัวอย่างด้านบน มี error เกิดขึ้น ยังไม่สามารถใช้งานได้

FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'

คือต้องสร้าง user, database และ table สำหรับเก็บข้อมูลของ cacti ใน MySQL ก่อน

คอนฟิกของ cacti ในส่วน database จะถูกเก็บอยู่ในไฟล์ /etc/cacti/db.php

[root@fc11-64min ~]# cat /etc/cacti/db.php
<?php
...
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
/* Default session name - Session name must contain alpha characters */
#$cacti_session_name = "Cacti";
?>

หมายเหตุ ในที่นี้จะสร้าง database และ user ตามค่าดีฟอลต์เลย ซึ่งเหมาะสำหรับการทดสอบเพื่อเรียนรู้โปรแกรม cacti แต่ถ้านำไปใช้จริง production แนะนำให้เปลี่ยนค่าตัวแปรเหล่านี้เพื่อความปลอดภัย

ขั้นแรกต้องสร้าง database ให้ cacti ก่อน โดยสร้างชื่อตามตัวแปร $database_default

ในที่นี้จะใช้คำสั่ง mysql สร้างเลย คุณสามารถใช้โปรแกรมอื่นๆ ได้เช่น phpmyadmin

[root@fc11-64min ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 140
Server version: 5.1.32 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE cacti;
Query OK, 1 row affected (0.00 sec)
mysql>

ขั้นต่อไปต้องสร้าง user และ password สำหรับการเชื่อมเข้า database ตามค่าตัวแปร $database_username, $database_password

mysql> GRANT ALL ON cacti.* TO cactiuser IDENTIFIED BY 'cactiuser';
Query OK, 0 rows affected (0.09 sec)
mysql> quit
Bye

สร้าง table ใน cacti database

สุดท้ายต้องสร้าง table ต่างๆ เพื่อเก็บค่าของ cacti โดยสามารถใช้ไฟล์โครงสร้าง table ที่ติดตั้งมาให้อยู่แล้วใน /usr/share/doc/cacti-0.8.7d/cacti.sql

[root@fc11-64min ~]# cat /usr/share/doc/cacti-0.8.7d/cacti.sql | mysql -u cactiuser -p cacti
Enter password:
[root@fc11-64min ~]#

ทดลองใช้ user ที่สร้างขึ้นเข้า database

[root@fc11-64min ~]# mysql -u cactiuser -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 142
Server version: 5.1.32 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti              |
+--------------------+
2 rows in set (0.08 sec)
mysql> CONNECT cacti;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Connection id:    149
Current database: cacti
mysql> SHOW TABLES;
+---------------------------+
| Tables_in_cacti           |
+---------------------------+
| cdef                      |
| cdef_items                |
| colors                    |
| data_input                |
| data_input_data           |
| data_input_fields         |
| data_local                |
| data_template             |
| data_template_data        |
| data_template_data_rra    |
| data_template_rrd         |
| graph_local               |
| graph_template_input      |
| graph_template_input_defs |
| graph_templates           |
| graph_templates_gprint    |
| graph_templates_graph     |
| graph_templates_item      |
| graph_tree                |
| graph_tree_items          |
| host                      |
| host_graph                |
| host_snmp_cache           |
| host_snmp_query           |
| host_template             |
| host_template_graph       |
| host_template_snmp_query  |
| poller                    |
| poller_command            |
| poller_item               |
| poller_output             |
| poller_reindex            |
| poller_time               |
| rra                       |
| rra_cf                    |
| settings                  |
| settings_graphs           |
| settings_tree             |
| snmp_query                |
| snmp_query_graph          |
| snmp_query_graph_rrd      |
| snmp_query_graph_rrd_sv   |
| snmp_query_graph_sv       |
| user_auth                 |
| user_auth_perms           |
| user_auth_realm           |
| user_log                  |
| version                   |
+---------------------------+
48 rows in set (0.00 sec)
mysql> quit
Bye
[root@fc11-64min ~]#

เปิด web browser อีกครั้ง เรียกไปที่ http://<ip-address>/cacti/ หน้าจอจะ redirect ไปยังหน้าสำหรับการติดตั้งต่อไป

Cacti Installation Guide

 

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.