本家 http://www.cacti.net/

リソース監視ができるwebツール
php,net-snmp,RRDTool,MySQL,httpdが必要

設定cacti/configuration
管理対象ノード追加cacti/net-snmp
GPUカード監視cacti/gpu
RAIDカードの温度監視cacti/adaptec

インストール

centos7のリポジトリからは提供されてなく、epel、古いバージョンはLuxリポジトリで公開されている。
epelのリポジトリ追加方法はyum参照のこと

[root@c ~]# yum install --enablerepo=epel cacti

にてインストール可能
webコンテンツは、「/usr/share/cacti」に配置されますが、同じくインストールされる「/etc/httpd/conf.d/cacti.conf」にてサイトを調整します。

[root@c ~]# diff -u /etc/httpd/conf.d/cacti.conf.orig /etc/httpd/conf.d/cacti.conf
--- /etc/httpd/conf.d/cacti.conf.orig   2017-02-27 23:02:46.000000000 +0900
+++ /etc/httpd/conf.d/cacti.conf        2017-04-02 10:38:19.255464966 +0900
@@ -15,6 +15,7 @@
        <IfModule mod_authz_core.c>
                # httpd 2.4
                Require host localhost
+               Require ip 192.168.0.0/255.255.255.0
        </IfModule>
        <IfModule !mod_authz_core.c>
                # httpd 2.2
[root@c ~]#

と調整して、「httpd」を再読み込みさせます

[root@c ~]# systemctl reload httpd

mariadbの設定

cacti向けのmariadbアカウントを作成します
cactiのdb接続設定ファイルは、下記のように初期定義されている

[root@c ~]# vi /usr/share/cacti/include/config.php
 :
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port     = '3306';
$database_ssl      = false;
 :
[root@c ~]#

なので、これに合わせてmariadbにアカウントを用意してみた

すべて開くすべて閉じる
 
 
 
 
 
 
 
[root@c ~]# mysql -u root -p
Enter password:
MariaDB [(none)]> create database cacti;
MariaDB [(none)]> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
[root@c ~]#

そしてwebサイト(c.sybyl.local/cacti)へアクセスをしてみたら、下記エラーが表示された。まだ調整が不十分みたい
2017y04m02d_150935930.png

なので

すべて開くすべて閉じる
 
 
 
 
 
 
 
 
 
 
[root@c ~]# mysql -u root -p
Enter password:
MariaDB [(none)]>
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
[root@c ~]#
[root@c ~]# mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.0.4/cacti.sql
Enter password:
[root@c ~]#

として完了

cacti設定

mariadbの調整が済み、web画面(c.sybyl.local/cacti)にアクセスすると
ライセンス許諾書のような画面が表示され、同意なら下部のチェックボックスを有効にして「OK」ボタンを押下する
2017y04m02d_152248551.png

「Pre-installation Checks」画面が表示され、cacti稼動に向けての詳細なチェックが行われる。
ここで下記のようなエラーが表示された
2017y04m02d_152809588.png
これはFAQみたいで

[root@c ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql

にて回避できた。次に同じ「Pre-installation Checks」画面でインストールされてないphpモジュールが指摘された

  • posix
  • gd

gdは「php-gd」で分かるが、posixは「php-process」のようでそれらをインストールします。

[root@c ~]# yum install php-gd php-process
[root@c ~]# systemctl reload httpd

これが済めば画面下部の「Next」ボタンが有効になるのだが、mariadbの設定ファイル「/etc/my.cnf」の推奨が表示される。
それに則って修正をすればいいのだが、collation_serverとcharacter_set_clientの指摘がある。既に作った「cacti」データベースは「latin1」で作っているので、、一旦これを削除して、再度作り直した。

[root@c ~]# mysql -u root -p
Enter password:
MariaDB [(none)]> drop database cacti;
MariaDB [(none)]> quit;
[root@c ~]# 
[root@c ~]# systemctl stop mariadb
[root@c ~]# vi /etc/my.cnf.d/server.cnf
 :
[mysqld]
collation_server=utf8mb4_unicode_ci
character-set-server=utf8mb4
 :
[root@c ~]# mysql -u root -p
Enter password:
MariaDB [(none)]> create database cacti;
MariaDB [(none)]> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> SHOW CREATE DATABASE cacti;
+----------+----------------------------------------------------------------------------------------------+
| Database | Create Database                                                                              |
+----------+----------------------------------------------------------------------------------------------+
| cacti    | CREATE DATABASE `cacti` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+----------+----------------------------------------------------------------------------------------------+
MariaDB [(none)]> quit
[root@c ~]#
[root@c ~]# mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.0.4/cacti.sql

っで、ここのcacti.sqlのインポートでエラーが発生。

ERROR 1709 (HY000) at line 2560: Index column size too large. The maximum column size is 767 bytes.

いろいろ調べ、試行錯誤した結果、mariadb-10.1では無理。mariadb-10.2にして、

[root@c ~]#  vi /etc/my.cnf.d/server.cnf
 :
[server]
collation_server=utf8mb4_unicode_ci
character-set-server=utf8mb4
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = DYNAMIC
 :
[root@c ~]#

にてエラーなくインポートが可能になった。
*mariadb-10.1のままでもできなくはないが、「server.cnf」の修正の他にcacti付属の「cacti.sql」を修正する必要がある

他にもパラメータの調整を指摘されたが、パフォーマンス部分なので気にせず次に進めた。「Next」ボタンを押下

次に「Installation Type」画面に移る。
2017y04m02d_204709838.png
ここでは「New Primary Server」を選び、下部の「Next」を押下する

「Critical Binary Locations and Versions」画面では、そのまま「Next」を押下します
「Directory Permission Checks」画面で書き込み権限の確認が行われ、エラーがなければ「Next」ボタンを押下します
「Template Setup」画面が表示されます。
2017y04m02d_205350499.png
ここでは、「Local Linux Machine」と「Net-SNMP Device」を選んで「Finish」ボタンを押下します
暫くすると、下図のような画面になる
2017y04m02d_214627624.png
これでインストールは完了。次は設定へ


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-04-04 (火) 23:06:01 (49d)