リソース監視ができるwebツール
php,net-snmp,RRDTool,MySQL,httpdが必要
設定cacti/configuration
管理対象ノード追加cacti/net-snmp
GPUカード監視cacti/gpu
RAIDカードの温度監視cacti/adaptec
nvme/ssdの温度監視cacti/storage
ipmiの電力監視cacti/power
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
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にアカウントを用意してみた
|
そしてwebサイト(c.sybyl.local/cacti)へアクセスをしてみたら、下記エラーが表示された。まだ調整が不十分みたい
なので
|
として完了
mariadbの調整が済み、web画面(c.sybyl.local/cacti)にアクセスすると
ライセンス許諾書のような画面が表示され、同意なら下部のチェックボックスを有効にして「OK」ボタンを押下する
「Pre-installation Checks」画面が表示され、cacti稼動に向けての詳細なチェックが行われる。
ここで下記のようなエラーが表示された
これはFAQみたいで
[root@c ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
にて回避できた。次に同じ「Pre-installation Checks」画面でインストールされてないphpモジュールが指摘された
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」画面に移る。
ここでは「New Primary Server」を選び、下部の「Next」を押下する
「Critical Binary Locations and Versions」画面では、そのまま「Next」を押下します
「Directory Permission Checks」画面で書き込み権限の確認が行われ、エラーがなければ「Next」ボタンを押下します
「Template Setup」画面が表示されます。
ここでは、「Local Linux Machine」と「Net-SNMP Device」を選んで「Finish」ボタンを押下します
暫くすると、下図のような画面になる
これでインストールは完了。次は設定へ