Cacti のバージョンアップ(source版)¶
ソースコード版のCactiのバージョンアップ方法について
- オフィシャルアップグレードガイド
https://www.cacti.net/downloads/docs/html/upgrade.html
サービス停止¶
- ポーリングを停止する
「poller.php」のスケジューリングをコメントアウトする# crontab -u apache -e ----------------------------- # */5 * * * * /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1
- ウェブサーバを停止する
# systemctl stop httpd
バックアップ¶
- MySQLのダンプを取得する
ダンプファイルが出力されていること(0バイトではないこと)# mysqldump -u root -p -l --add-drop-table cacti > mysql.cacti Enter password: パスワードを入力 # ls -l -rw-r--r-- 1 root root 290579 4月 19 12:38 2018 mysql.cacti
- Cactiのコンテンツをバックアップする
# mv /usr/local/cacti /usr/local/cacti_old
新しいCactiの取得¶
- 下記URLから新しいCactiのtarballを取得
https://www.cacti.net/downloads - サーバに配置
# wget https://www.cacti.net/downloads/cacti-1.1.xx.tar.gz # tar xzf cacti-1.1.xx.tar.gz # chown -R apache.apache cacti-1.1.xx # mv cacti-1.1.xx /usr/local/cacti
データ移行¶
- 旧バージョンのDB接続設定をコピー
# less /usr/local/cacti_old/include/config.php ----------------------------- $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = '任意のパスワード'; $database_port = '3306'; $database_ssl = false;
- 新バージョンのDB接続設定を上記の内容に更新
# 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;
- rrdファイルを移行
# cp -p /usr/local/cacti_old/rra/* /usr/local/cacti/rra/
- カスタムスクリプトを移行
# cp -u -p /usr/local/cacti_old/scripts/* /usr/local/cacti/scripts/
- カスタムリソースXMLファイルを移行
# cp -u -p -R /usr/local/cacti_old/resource/* /usr/local/cacti/resource/
- ログファイルの移行
# cp -u -p /usr/local/cacti_old/log/* /usr/local/cacti/log/
データベースのアップグレード¶
- Webサーバの起動
# systemctl start httpd
- ブラウザでCactiのweb画面にアクセス
http://example.com/cacti - インストールウィザードが起動する
- ライセンスに同意
- プレインストールチェックを確認
- インストレーションタイプがアップグレードになっていることを確認
Installation Type Upgrade from 1.1.34 to 1.1.xx
- アップグレード結果を確認
各項目が「Success」となっていることUpgrade Results Database upgrade completed!
- ログイン後、画面右上のバージョンが正しく更新されていること
Spineの更新¶
- 下記からcactiバージョンと同じspineのソースを取得
https://www.cacti.net/spine_download.php - cactiサーバにtarballを配置、展開する
# wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.xx.tar.gz # tar xzf cacti-spine-1.1.xx.tar.gz # cd cacti-spine-1.1.xx
- コンパイルおよびインストールを実行
# ./configure # make # make install
- 認証情報を修正(差異があれば)
# vi /usr/local/spine/etc/spine.conf ----------------------------- DB_Host localhost DB_Database cacti DB_User cacti DB_Pass 任意のパスワード DB_Port 3306 RDB_Host localhost RDB_Database cacti RDB_User cacti RDB_Pass 任意のパスワード RDB_Port 3306
- バージョンが更新されていること
# /usr/local/spine/bin/spine --version SPINE 1.1.xx Copyright 2004-2017 by The Cacti Group
- 正しくポーリングが行われること
# /usr/local/spine/bin/spine --conf=/usr/local/spine/etc/spine.conf SPINE: Using spine config file [/usr/local/spine/etc/spine.conf] SPINE: Version 1.1.38 starting SPINE: Time: 1.0716 s, Threads: 1, Devices: 1
ポーリングタスクの開始¶
- ポーリングを再開する
「poller.php」のスケジューリングのコメントアウトを解除する# crontab -e ----------------------------- */5 * * * * /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1
- 次回ポーリング時に、通常のポーリング間隔以上の未実行状態がWarningとして
ログに出力されるが、アップグレードのためのポーリング中断のため無視する
以上でアップグレードは完了¶