Cacti-install¶
WebモニタリングツールCactiのインストールを行います。
https://www.cacti.net/
インストール¶
- EPELリポジトリを追加します
# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 必要なパッケージをインストールします
※「php-mbstring」「php-snmp」はRHELの場合DVDには含まれていないので、サブスクリプション登録かRHNから取得する必要があります。# yum --enablerepo=epel,remi,remi-php71 install httpd mod_ssl mariadb-server php php-gmp php-pdo php-mysqlnd php-posix php-ldap php-mbstring php-gd php-snmp php-json net-snmp rrdtool net-snmp-utils
- 下記からcactiをダウンロードする
https://www.cacti.net/download_cacti.php - 例
# wget https://www.cacti.net/downloads/cacti-1.1.36.tar.gz
- 展開する
# tar xzvf https://www.cacti.net/downloads/cacti-1.1.36.tar.gz
- 公開場所に移動する
# mv cacti-1.1.36 /usr/local/cacti
- 所有者を変更する
# chown -R apache.apache /usr/local/cacti
サービス起動¶
- Webサービス・DBサービスを起動し、起動設定を行います。
systemctl start httpd systemctl start mariadb systemctl start snmpd
- 起動に問題がなければサービスの起動設定を行います。
systemctl enable httpd systemctl enable mariadb systemctl enable snmpd
データベース作成¶
- データベースのパスワード設定
# mysql -u root MariaDB [(none)]> set password for root@localhost=password('任意のパスワード'); Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
- データベースの作成
- DB認証の確認およびデータベース作成
# mysql -u root -p Enter password: 設定したパスワード MariaDB [(none)]> create database cacti default character set=utf8; MariaDB [(none)]> grant all privileges on cacti.* to "cactiuser"@"localhost" identified by "設定するパスワード"; MariaDB [(none)]> quit Bye
設定¶
- phpの設定を変更する
[Date] date.timezone = Asia/Tokyo
- 下記コマンドでタイムゾーンテーブルを作成する
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
- 下記コマンドで作成したテーブルのアクセス権を設定する
# mysql -u root -p MariaDB [(none)]> grant select on mysql.time_zone_name to 'cactiuser'@'localhost' identified by '任意のパスワード'; MariaDB [(none)]> quit
- 下記設定ファイルを設定する
# vi /etc/my.cnf [mysqld] default-time-zone = 'Asia/Tokyo' [mysqld_safe] timezone = UTC
- DBサービスを再起動する
# systemctl restart mariadb # systemctl restart httpd
- 下記設定ファイルを編集する
# vi /usr/local/cacti/include/config.php ----------------------------- $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cactiuser'; $database_password = '設定したパスワード'; $database_port = '3306'; $database_ssl = false;
- 下記のコマンドでデータベースに初期データを投入する
「1.1.24」部分はバージョンによって異なる# mysql -u cactiuser -p cacti < /usr/local/cacti/cacti.sql
- httpdの設定ファイルを編集する
# vi /etc/httpd/conf.d/cacti.conf ----------------------------- Alias /cacti /usr/local/cacti <Directory /usr/local/cacti> <IfModule mod_authz_core.c> Require all granted </IfModule> </Directory>
- cron設定を編集する
※Webサーバを動かしているユーザが望ましい# crontab -u apache -e ----------------------------- */5 * * * * /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1
- httpdサービスを再起動する
# systemctl restart httpd
- logrotate設定を行う
vi /etc/logrotate.d/cacti ----------------------------- /usr/local/cacti/log/cacti.log { missingok monthly notifempty compress create 0664 apache apache }
初回アクセス¶
- Webブラウザで下記のアドレスにアクセスする
http://サーバのIPアドレス/cacti
- インストールウィザード画面が表示される
- ライセンスに同意する
- Pre-installation Checksを確認する。必要があればMariaDBのチューニングを行う
- New Primary Server を選択して次に進む
- Spineのパス指定エラーは無視して次に進む
- Directory Permission Checksを確認する
- Template Setupから必要なものをチェックしてFinishを行う
とりあえず「Local Linux Machine」だけは入れておく。何もいれなかったらcronがエラーになるほか、標準的なグラフが何も出ない- Cisco Router
- Generic SNMP Device
- Local Linux Machine
- Net-SNMP Device
- Windows Device
- ユーザ名パスワード共に「admin」でログインする
- 現在のパスワードと新しいパスワードを指定する
- 8ケタ以上大文字小文字混在が必要
- ログインする
動作確認¶
- WebUIにログインして「Management」→「グラフ」にグラフが表示されること
- 「/var/log/cacti/cacti.log」を確認し、cronジョブが正しく実装されていること