CentOS 7の環境にSmokePingを導入した時のメモです。
ネットの情報ではソースからダウンロードしてインストールというのが多いですが、EPELでもパッケージとして公開されています。こちらを使うほうがApacheやCGIの設定、起動スクリプトなどもまとめてめんどうを見てくれるので楽。導入にはさらにEPELのfpingとperl-Config-Grammarも必要となりますのでそれぞれrpmファイルをダウンロード。
インターネット接続が可能など、yumにEPELリポジトリを追加している場合は、普通に
# yum install smokeping
のみで導入可能と思います。
うちの環境ではCentOSのbaseやupdatesリポジトリは社内にミラーしているのですがEPELまではさすがに見られないので上記のように個別にrpmファイルをダウンロードしています。そしてyumを使ってrpmファイルのインストールと同時にbaseから依存パッケージも導入します。
# yum localinstall smokeping-2.6.10-3.el7.noarch.rpm \ fping-3.10-4.el7.x86_64.rpm \ perl-Config-Grammar-1.11-1.el7.noarch.rpm
と実行すると関係するパッケージも含めて問題なく導入できました。
設定ファイルは/etc/smokeping/configにありますので、例を参考にpingで監視するホストを列挙。編集後とりあえず以下のように起動してみます。
# systemctl start smokeping.service
SmokePingのログは/var/log/messagesに書き出されるのでエラーの状況を確認。例えば+や++で追加する名前に空白や日本語はダメで、これは/var/lib/rrdに書き出される履歴ファイルやディレクトリ名に使われるからみたいです。エラーなく実行できるまでそれなりに試行錯誤が必要でした。
SmokePingの接続先URLはhttp://localhost/smokeping/sm.cgiになります。Apache本体は素のままでOKで先に起動しておきます。SmokePingの設定ファイルは/etc/httpd/conf.d/smokeping.confで、デフォルトではローカルからの接続のみ許可となっており他のマシンから閲覧するときはこのファイルで設定変更が必要。
導入初期は/etc/smokeping/configを変更していろいろと試しますが、
# systemctl restart smokeping.service
だけではsm.cgiのページに変化がありません。同時に
# systemctl restart httpd.service
の実行もいるみたいです。
あと表示されるグラフにRRDtoolが利用されているのですが、上記方法でインストールしただけではtitleに日本語を使っていると作成されたグラフのその部分が文字化けになりました。調べてみるとこちらの記事を参考に、
# yum install vlgothic-fonts
と日本語フォントを追加導入して解決です。
最終的に大丈夫と判断したところで
# systemctl enable smokeping.service
としてマシン起動時に有効化されるようにしておきます。
これでしばらく使ってみてどんな感じかみてみようと思います。