監視対象ホストの状態をkibanaのダッシュボードで確認していたら昨日まで正常に表示されていた筈のNTPサーバのoffset等のグラフがゼロ(0)で動かなくなっていた。グラフに線が表示されないなら値が取れていないと思われるがゼロに張り付いているということは値が取れていてそれがゼロということ。 では、取得している値が本当にゼロになっているのかとDiscoverから確認するとゼロではない値が取得されている。ただし、1より遥かに小さい値。
これはインデックスで扱っている数値の型が間違っている可能性が高そう。
上の画像の赤枠のグラフが値がゼロで張り付いてしまっている。
正常な頃は上の画像の左半分のようなグラフが表示されていた。
それがこの日の午前9時頃を境に全ての値がゼロになっている。
Kibanaの左列から Dev Tools をクリックし、中央列のテキストボックスにマッピング確認コマンドを入力する。
GET logstash-2018.02.22/_mapping
インデックスlogstash-2018.02.22 (2018年2月22日)のスキーマ(マッピング)を取得。
_mappingの後に ?pretty または ?pretty=1 を付けても付けなくてもJSON Pretty-Printで返されるようだけど何か勘違いしてるかしら。
入力したら (実行)ボタンを押す。結果は右列に表示される。
もちろん、kibanaからじゃなくて従来通りターミナルでコマンド打ちでも良い。
% curl -XGET '127.0.0.1:9200/logstash-2018.02.22/_mapping?pretty=1'
FreeBSDのports/pkgでインストールしたcurlで実行するならGETの後ろはシングルクォーテーションで囲むこと。
正常な表示だったころ(2018年2月22日)のスキーマでvalueの型を確認。1 2 3 4 5 6 7 8 9 10 11 12 13 | {
"logstash-2018.02.22": {
"mappings": {
"collectd": {
"properties": {
"value": {
"type": "float"
}
}
}
}
}
}
|
上の結果は関係ない部分を全て省略している。
値が全てゼロになってしまっている日(2018年2月25日)のスキーマでvalueの型を確認。1 2 3 4 5 6 7 8 9 10 11 12 13 | {
"logstash-2018.02.25": {
"mappings": {
"collectd": {
"properties": {
"value": {
"type": "long"
}
}
}
}
}
}
|
上の結果は関係ない部分を全て省略している。
正常な頃のスキーマはvalueの型がfloat (32bit浮動小数点数)だったので小数点以下があったが、値がゼロになっているスキーマではそれがlong (64bit符号付整数)になっているので整数しか扱われないと見て良さそう。
インデックスの作り直しは面倒なので今回は無しとして、次に作られるインデックスからはvalueがlongではなくdoubleになるようにしておきたい。 (今回は好みでdoubleにしたがfloatでも可)
Kibanaの左列から Dev Tools をクリックし、中央列のテキストボックスにテンプレートを入力する。今回はvalueだけ型を指定する内容にしているが他も同時に指定してもちろんOK.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | PUT /_template/logstash
{
"template" : "logstash-*",
"order" : 1,
"mappings": {
"collectd": {
"properties": {
"value": {
"type": "double"
}
}
}
}
}
|
入力したら1行目の右端の (実行)ボタンを押す。右列に acknowleded : true の表示が出たら実行が成功している。
GET logstash-2018.02.26/_mapping
1 2 3 4 5 6 7 8 9 10 11 12 13 | {
"logstash-2018.02.26": {
"mappings": {
"collectd": {
"properties": {
"value": {
"type": "double"
}
}
}
}
}
}
|
上の結果は関係ない部分を全て省略している。
指定したとおりvalueがdouble型になっている。これで安心。
ちなみにインデックスをデータごと一掃したいという場合は同様にDev Toolsで DELETE logstash-* を実行する。
関連記事:- 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でグラフ作成
- ELK Stackでシステム監視 collectdでDNSサーバの情報収集
- ELK Stackでシステム監視 kibanaでVisualizeとDashboard作成のキホンのキ
- ELK Stackでシステム監視 collectdでNTPサーバの情報収集
- ELK Stackでシステム監視 KibanaのSearchで抽出条件を作成する
- ELK Stackでシステム監視 kibana最初の一歩
- ELK Stackでシステム監視 collectdで監視対象ホストからデータ収集
- ELK Stackのインストール