システム監視にcollectdを使ってホストの様々な情報を収集するなら、NTPサーバのoffsetやdelayといったタイミング情報も一緒に集めたいと思うことがあるかもしれません。タイムサーバの動作状況を把握することは、システム全体の安定性を高めるために重要な要素です。
今回は普段使い慣れているFreeBSDではなく、Debian系Linuxのホストにcollectdをインストールしてみます。Linux系のシステムはFreeBSDと設定が少し異なるので、これを機に手順を確認しました。
collectdのインストール
# apt-get update ← パッケージ関係の情報更新 # apt-cache search collectd ←collectdパッケージを検索 collectd - statistics collection and monitoring daemon ←これを入れたい collectd-core - statistics collection and monitoring daemon (core system) collectd-dbg - statistics collection and monitoring daemon (debugging symbols) collectd-dev - statistics collection and monitoring daemon (development files) collectd-utils - statistics collection and monitoring daemon (utilities) libcollectdclient-dev - client library for collectd's control interface (development files) libcollectdclient1 - client library for collectd's control interface fedmsg - Fedora messaging infrastructure system - general utilities kcollectd - simple collectd graphing frontend for KDE shinken-mod-collectd - Shinken mod-collectd module shinken-mod-collectd-doc - Shinken mod-collectd module - Documentation mtail - Extract monitoring data from logs for collection in a timeseries database # apt-get install collectd ←インストール 後略
collectdの設定
/etc/collectd/collectd.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Hostname "hoge.localnet"
LoadPlugin cpu
LoadPlugin df
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin ntpd
LoadPlugin processes
LoadPlugin swap
<Plugin network>
Server "192.168.12.1" "25826" #ELK StackホストのIPアドレスとポート
<Server "192.168.12.1" "25826">
</Server>
</Plugin>
<Plugin ntpd>
Host "127.0.0.1"
Port 123
ReverseLookups false
IncludeUnitID false
</Plugin>
|
collectdの再起動
# service collectd restart
collectdをインストールすると、インストール直後に自動でサービスが開始されることが多いと思われます。このため、サービスの「起動」ではなく、「再起動」を行います。コマンドラインで簡単に再起動を実行し、collectdが正しく動作していることを確認します。
ただし、パッケージによっては必ずしもインストール後に自動起動するとは限らないためプロセスを確認してサービスが起動されていない場合には「起動」を実行します。
上手くいかない場合
しかし、collectdをインストールしただけでは、ntpdの情報が収集できないことがよくあります。この場合、原因はcollectdの設定というよりも、ntpd側の設定にあることが多いです。特に最近のバージョンでは、初期設定が変更されていることがあり、そのままではcollectdが必要な情報を取得できないことがあります。
/etc/ntp.conf (追加1行)enable mode7
ntpdを再起動します。
# service ntp restart
以下は、多くの場合は不要だと思われますが、もしcollectdのntpdモジュールが読み込まれないなら実行します。
# ldd /usr/lib/collectd/ntpd.so
設定が正しく行われていれば、/etc/ld.so.conf.d以下に必要な設定を書き込んでおくことで、次回以降のシステム起動時にスムーズに動作させることができます。こうすることで、再起動の度に手動で設定を行う手間が省けます。
collectdを再起動します。
# service collectd restart
動作確認
確認方法は以前の記事を参照してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | {
"@timestamp" => 2018-02-09T00:28:58.786Z,
"type_instance" => "GPS_NMEA",
"plugin" => "ntpd",
"host" => "ntp.localnet",
"@version" => "1",
"collectd_type" => "delay",
"type" => "collectd",
"value" => 0.00055908203125
}
{
"@timestamp" => 2018-02-09T00:28:58.786Z,
"type_instance" => "PPS",
"plugin" => "ntpd",
"host" => "ntp.localnet",
"@version" => "1",
"collectd_type" => "time_offset",
"type" => "collectd",
"value" => 0.0001209167316555977
}
|
最終的に、collectdの出力にntpdの情報が含まれていることを確認します。上の例では、ntpdのdelayとtime_offsetのデータを表示していますが、実際にはこれ以外にも多くの情報が収集されます。NTPソースとして参照している全てのNTPサーバがtype_instanceに表示されるため、かなりの量のデータを記録することにはご注意ください。
関連記事:- ウェブ管理者の気まぐれ自作アクセス解析 ElasticsearchとKibanaを添えて
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (後編)
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (中編)
- TelegrafでElasticsearchにメトリクス送信+Kibanaで可視化 (前編)
- Metricbeatで収集したメトリクスデータをKibanaで可視化する
- Kibanaを操作する前にユーザーを作成する
- Metricbeat 8.6.0のインストールと設定
- Elastic Stack 8系をFreeBSDにインストール
- Elastic Stack 6.4.2への更新 FreeBSD ports用メモ
- WinlogbeatでWindowsイベントログを可視化 後編
- WinlogbeatでWindowsイベントログを可視化 中編
- WinlogbeatでWindowsイベントログを可視化 前編
- Elastic Stackを6.3.2に更新する
- Elastic Stackでシステム監視 Heartbeatで収集した死活情報をKibanaで可視化
- Elastic Stackでシステム監視 Heartbeatを使う準備
- Elastic Stackでシステム監視 FreeBSDのportsで6.2.3に更新
- ELK Stackでシステム監視 Filebeatで収集したVolumioのログから時系列の再生曲名リストを表示
- ELK Stackでシステム監視 Rspamd 1.7系のElasticsearchモジュールを試す
- ELK Stackでシステム監視 FilebeatでNTP統計ログ取得 Logstashで加工
- ELK Stackでシステム監視 FilebeatでRaspberry Pi Zero WのVolumio楽曲再生ランキング
- ELK Stackでシステム監視 MeticbeatでRaspberry Pi Zero WのVolumioを監視
- ELK Stackでシステム監視 FilebeatでFreeBSDのCPU温度取得+Kibanaグラフ化
- ELK Stackでシステム監視 FilebeatでFail2banのBan情報+地図表示
- ELK Stackでシステム監視 MetricbeatでNginxのステータス情報を取得+グラフ化
- ELK Stackでシステム監視 FreeBSDのportsでELK Stack6系をインストール
- ELK Stackでシステム監視 FreeBSDにMetricbeatをインストールしてみる
- ELK Stackでシステム監視 elasticsearchインデックスのスキーマが勝手に変わる対処 テンプレート作成
- NanoPi NEO2(arm64)用にFilebeatをビルド
- ELK Stackでシステム監視 kibanaでDNSサーバの情報表示
- ELK Stackでシステム監視 kibanaのTimelion,Timeseriesでグラフ作成











