本家 [[http://www.cacti.net/>+http://www.cacti.net/]]
リソース監視ができるwebツール
&size(10){php,net-snmp,RRDTool,MySQL,httpdが必要};
&size(10){設定[[cacti/configuration]]};
&size(10){管理対象ノード追加[[cacti/net-snmp]]};
&size(10){GPUカード監視[[cacti/gpu]]};
&size(10){RAIDカードの温度監視[[cacti/adaptec]]};
&size(10){nvme/ssdの温度監視[[cacti/storage]]};
&size(10){ipmiの電力監視[[cacti/power]]};
***インストール [#g565f641]
centos7のリポジトリからは提供されてなく、epel、古いバージョンはLuxリポジトリで公開されている。
&size(10){epelのリポジトリ追加方法は[[yum]]参照のこと};
#code(nonumber){{
[root@c ~]# yum install --enablerepo=epel cacti
}}
にてインストール可能
webコンテンツは、「/usr/share/cacti」に配置されますが、同じくインストールされる「/etc/httpd/conf.d/cacti.conf」にてサイトを調整します。
#code(nonumber,diff){{
[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」を再読み込みさせます
#code(nonumber){{
[root@c ~]# systemctl reload httpd
}}
***mariadbの設定 [#bc717a86]
cacti向けのmariadbアカウントを作成します
cactiのdb接続設定ファイルは、下記のように初期定義されている
#code(nonumber,php){{
[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にアカウントを用意してみた
#code(sql,nonumber){{
[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)へアクセスをしてみたら、下記エラーが表示された。まだ調整が不十分みたい
&ref(2017y04m02d_150935930.png,nolink,noborder);
なので
#code(sql,nonumber){{
[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設定 [#he343e75]
mariadbの調整が済み、web画面(c.sybyl.local/cacti)にアクセスすると
ライセンス許諾書のような画面が表示され、同意なら下部のチェックボックスを有効にして「OK」ボタンを押下する
&ref(2017y04m02d_152248551.png,nolink,noborder);
「Pre-installation Checks」画面が表示され、cacti稼動に向けての詳細なチェックが行われる。
ここで下記のようなエラーが表示された
&ref(2017y04m02d_152809588.png,nolink,noborder);
これはFAQみたいで
#code(nonumber){{
[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」のようでそれらをインストールします。
#code(nonumber){{
[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」で作っているので、、一旦これを削除して、再度作り直した。
#code(nonumber){{
[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のインポートでエラーが発生。
#code(nonumber){{
ERROR 1709 (HY000) at line 2560: Index column size too large. The maximum column size is 767 bytes.
}}
いろいろ調べ、試行錯誤した結果、mariadb-10.1では無理。mariadb-10.2にして、
#code(nonumber){{
[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 ~]#
}}
にてエラーなくインポートが可能になった。
&color(red){*};&size(10){mariadb-10.1のままでもできなくはないが、「server.cnf」の修正の他にcacti付属の「cacti.sql」を修正する必要がある};
他にもパラメータの調整を指摘されたが、パフォーマンス部分なので気にせず次に進めた。「Next」ボタンを押下
次に「Installation Type」画面に移る。
&ref(2017y04m02d_204709838.png,nolink,noborder);
ここでは「New Primary Server」を選び、下部の「Next」を押下する
「Critical Binary Locations and Versions」画面では、そのまま「Next」を押下します
「Directory Permission Checks」画面で書き込み権限の確認が行われ、エラーがなければ「Next」ボタンを押下します
「Template Setup」画面が表示されます。
&ref(2017y04m02d_205350499.png,nolink,noborder);
ここでは、「Local Linux Machine」と「Net-SNMP Device」を選んで「Finish」ボタンを押下します
暫くすると、下図のような画面になる
&ref(2017y04m02d_214627624.png,nolink);
これでインストールは完了。次は設定へ