プロジェクト

全般

プロフィール

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-mysql php-posix php-ldap php-mbstring php-gd php-snmp 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 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 = 'cacti';
    $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ジョブが正しく実装されていること