本家 [[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);
これでインストールは完了。次は設定へ

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS