Linuxサーバの監視方法 (Cacti)

目的

  • MRTGを使ってWindowsを監視するのはできたので、Raspberry Pi自身を監視する方法を確立したい。FreeBSD時代はHotSaNICを使っていたけど、最終更新が2004-02-29という状態なので、もしかすると動くかもしれないけど、今風の何かに乗り換えたい。
  • 軽く調べた程度だが、ZabbixとCactiが二大有名どころのようなので、手っ取り早そうなCactiから始めて見ましょう。

手順(パッケージ)

インストール

$ sudo apt update

$ sudo apt upgrade

$ sudo apt install cacti-spine
$ sudo apt install cacti-spine 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libllvm7 linux-image-4.15.0-1032-raspi2 linux-modules-4.15.0-1032-raspi2
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  cacti
提案パッケージ:
  moreutils
以下のパッケージが新たにインストールされます:
  cacti cacti-spine
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
3,998 kB のアーカイブを取得する必要があります。
この操作後に追加で 11.6 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://ports.ubuntu.com bionic/universe armhf cacti all 1.1.38+ds1-1 [3,952 kB]
取得:2 http://ports.ubuntu.com bionic/universe armhf cacti-spine armhf 1.1.35-1 [45.8 kB]                                                                             
3,998 kB を 17秒 で取得しました (236 kB/s)                                                                                                                            
パッケージを事前設定しています ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
以前に未選択のパッケージ cacti を選択しています。
(データベースを読み込んでいます ... 現在 156977 個のファイルとディレクトリがインストールされています。)
.../cacti_1.1.38+ds1-1_all.deb を展開する準備をしています ...
cacti (1.1.38+ds1-1) を展開しています...
以前に未選択のパッケージ cacti-spine を選択しています。
.../cacti-spine_1.1.35-1_armhf.deb を展開する準備をしています ...
cacti-spine (1.1.35-1) を展開しています...
cacti (1.1.38+ds1-1) を設定しています ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/cacti.conf
checking privileges on database cacti for cacti@localhost: user creation needed.
granting access to database cacti for cacti@localhost: success.
verifying access for cacti@localhost: success.
dbconfig-common: dumping mysql database cacti to /var/tmp/cacti.cacti.2019-07-14-17.06.mysql.DruRXb.
database does not exist.
dbconfig-common: dropping old mysql database cacti.
dropping database cacti: database does not exist.
creating database cacti: success.
verifying database cacti exists: success.
populating database via administrative sql...  done.
populating database via sql...  done.
dbconfig-common: flushing administrative password
Running cli/upgrade_database.php as part of package update...
You are attempting to install cacti 1.1.38 onto a 0.6.x database.
To continue, you must create a new database, import 'cacti.sql' into it,
and     update 'include/config.php' to point to the new database.
cacti-spine (1.1.35-1) を設定しています ...

Creating config file /etc/cacti/spine.conf with new version
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
  • HTTPサーバはApache2を選択
  • dbconfig-commonを利用してDBを設定
  • http://192.168.100.4/cactiにアクセスして初期設定
    • username: Admin
    • password: インストール中に設定した文字列
    • 一般的なインストールではAdminらしい

動作確認

f:id:cutxout:20190714124347j:plain
f:id:cutxout:20190714125253j:plain

動作がおかしい

  • Cacti自体は動作しているのだが、グラフの描画がおかしい。ログを見ていると、大半の項目でデータが取得できておらず、その原因がCactiPHPのバージョンの相性らしい。調べてみると、Cacti 1.3.8とPHP 7.2の組み合わせは動作保証されてないらしい。
  • C2cti側は1.4.2が最新版なので、こちらをアップグレードすれば解決しそうだけど、パッケージの最新版が1.3.8なのでお手上げ。Linuxソースコードからインストールするのってどうやったらよいのだろうか?
  • いや、Cactiソースコード一式あるのだから、public_html配下に置いてパーミッションいじったら動くんじゃないだろうか。MySQLの設定が何とかなれば大丈夫な気がする。