前提・実現したいこと
OpenStackのローカルネットワーク内で、Hinemos+Postfix/dovecot、Elasticsearch+kibana、Logstashをそれぞれ別のインスタンスで稼働させています(それぞれ、以下、監視サーバー、可視化サーバー、連携サーバーと呼ぶこととします。加えて監視対象となるサーバーもこれらとは別に動作しています)。
このとき、Hinemosが障害を検知して飛ばしたメールをElasticsearch+kibanaで可視化しようとしており、こちらのページを参考に以下のような設定をしています。
/etc/logstash/conf.d/logstash.conf@連携サーバー
input { #input settings imap { host => "192.168.253.99" #監視サーバーのIP port => 143 user => "alert" password => "alert_no_password" folder => "INBOX" type => "hinemos" secure => false delete => true check_interval => 30 } } filter { #filter settings } output { #output settings elasticsearch { hosts => [ "192.168.253.105:9200" ] #可視化サーバーのIP index => "hinemos-%{+YYYYMMdd}" } }
ElasticSearch APIコール(PUT _template/hinemos)@可視化サーバー
{ "template": "hinemos-*", "settings": { "index": { "analysis": { "tokenizer": { "kuromoji_user_dict": { "type": "kuromoji_tokenizer", "mode": "normal" } } } } }, "mappings": { "_default_": { "dynamic_templates": [ { "named_analyzers": { "match_mapping_type": "string", "match": "message", "mapping": { "fielddata": true, "analyzer": "kuromoji", "fields": { "keyword": { "type": "keyword" } } } } } ] } } }
発生している問題・エラーメッセージ
この時、Elasticsearchにはindexが作成されるのですが、その内容は次のようになっています。
ElasticSearch APIコール(GET /hinemos-20180803/_search?q=*)@可視化サーバー
{ "took": 25, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 4, "max_score": 1, "hits": [ { "_index": "hinemos-20180803", "_type": "doc", "_id": "NUf-_WQBZwW9FI3QeQPC", "_score": 1, "_source": { "date": "Fri, 03 Aug 2018 13:14:17 +0900", "content-type": "text/plain; charset=UTF-8", "x-original-to": "alert@surveyserver", "received": "from mail-server.test (surveyserver [192.168.253.99]) by hinemos (Postfix) with ESMTP id 4C69FC5854D; Fri, 03 Aug 2018 13:14:17 +0900", "@version": "1", "errors-to": "alert@surveyserver", "message": """ ファシリティID:web02 ファシリティ名:web02 ノード名:web02 OS:Linux OSリリース: OSバージョン:Linux web02 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 IPアドレス:192.168.253.112 監視種別:Hinemosエージェント監視 アプリケーション:watch_hinemosagent_all 内容: Hinemosエージェントは利用不可です """, "from": "Hinemos Admin <hinemos@surveyserver>", "to": "alert@surveyserver", "mime-version": "1.0", "@timestamp": "2018-08-03T04:14:17.000Z", "delivered-to": "alert@surveyserver", "reply-to": "Hinemos Admin <hinemos@surveyserver>", "type": "hinemos", "subject": "Hinemosメール通知(【危険】192.168.253.112)", "content-transfer-encoding": "base64", "message-id": "<1020158609.197.1533269657424@surverserver>", "return-path": "hinemos@surveyserver" } }, ***** 3件分省略 ***** } ] } }
messageに形態素解析を適用させているつもりなのですが、その気配がないので確認すべきログや設定でお気付きの箇所があればご教示頂ければありがたいです。
以下のログは確認していますが、おかしな点に気付けていません。
- 可視化サーバー
/var/log/logstash/logstash-plain.log
/var/log/elasticsearch/elasticserach.log
- 連携サーバー
/var/log/logstash/logstash-plain.log
試したこと
こちらを参考にelasticsearchのインデックステンプレートを違う内容に変えて見たりもしましたが、settings部分は効いているように思う(当初number_of_shards、number_of_replicasの指定がなかったため、Elasticsearchのステータスがyellowになっていた)のですが、mappings部分が効いてる気配がないので、設定が有効なのか、の判断も自信がありません。
変更内容。ElasticSearch APIコール(PUT _template/hinemos)@可視化サーバー
{ "template": "hinemos-*", "settings": { "index": { "number_of_shards" : 1, "number_of_replicas" : 0, "analysis": { "analyzer":{ "my_ja_analyzer": { "type": "custom", "tokenizer": "kuromoji_tokenizer", "char_filter": [ "icu_normalizer", "kuromoji_iteration_mark" ], "filter": [ "kuromoji_baseform", "kuromoji_part_of_speech", "ja_stop", "kuromoji_number", "kuromoji_stemmer" ] } } } } }, "mappings": { "_default_": { "dynamic_templates": [ { "named_analyzers": { "match_mapping_type": "string", "match": "message", "mapping": { "fielddata": true, "analyzer": "my_ja_analyzer", "fields": { "keyword": { "type": "keyword" } } } } } ] } } }
補足情報(FW/ツールのバージョンなど)
- 監視サーバー
OS: CentOS Linux release 7.5.1804 (Core)
Hinemos: 6.1.0
Postfix: 2.10.1
dovecot: 2.2.10
- 可視化サーバー
OS: CentOS Linux release 7.4.1708 (Core)
Elasticsearch 6.3.1
Elasticsearch-plugin: analysis-icu,analysis-kuromoji
kibana 6.3.2
- 連携サーバー
OS: CentOS Linux release 7.5.1804 (Core)
Logstash: 6.3.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。