質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

Fluentd

Fluentdは、オープンソースのログ収集ツールです。ログの収集方法、ログの記録先などのログデータ処理を柔軟にカスタマイズでき、インプットおよびアウトプットが全てプラグインとして実装されています。

Q&A

解決済

1回答

500閲覧

fluentd(td-agent)でelasticsearchへデータを投入したい。

EzrealTrueshot

総合スコア388

Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

Fluentd

Fluentdは、オープンソースのログ収集ツールです。ログの収集方法、ログの記録先などのログデータ処理を柔軟にカスタマイズでき、インプットおよびアウトプットが全てプラグインとして実装されています。

0グッド

0クリップ

投稿2017/08/02 00:56

やりたいこと

fluent(td-agent)でelasticsearchへデータを投入したい。

やったこと

時刻 タグ(fluentの) 値 2017-08-02T09:29:37+09:00 oioi {"host":"oreore"} 2017-08-02T09:29:37+09:00 oioi {"host":"oreore"} 2017-08-02T09:29:46+09:00 oioi {"host":"oreore"} 2017-08-02T09:29:46+09:00 oioi {"host":"oreore"}

という形でデータが入ってきているので(fluentのstdoutで確認)

<match oioi> @type elasticsearch host 192.168.1.100 port 9200 user elastic password ***** index_name oioi logstash_format true logstash_prefix oioi </match>

こういう形で設定したのですが、elasticsearchにデータが入ってきません。

どこに問題があるかお分かりの方いらっしゃいましたらご教授いただけませんでしょうか?
足りない情報等ございましたら追記させて頂きます。

環境
CentOS 7.2
elasticsearch (elasticsearch-5.4.3-1.noarch)
td-agent (td-agent-2.3.5-1.el7.x86_64)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

over

2017/08/02 01:13

「oioi」とタグをつけている前段の処理(恐らくインプット処理 <source>?)ではどのようにデータを取り込んでいるのでしょうか?また、Elasticsearchは同一のサーバですか?別サーバですか?
EzrealTrueshot

2017/08/02 01:45

回答ありがとうございます!① [oioiとタグ付け] => nginx + lua の lua 部分のでつけております。②[同一サーバーかどうか] => 違います。AとBというサーバーがあり、Aにはnginx+luaが動いており、Bにはfluentd + elasticsearchが動いております。
guest

回答1

0

ベストアンサー

詳細を確認させてください。

そもそも方式が不明なのですが、以下何れの方式でしょうか?

  1. Aサーバ fluentd → Bサーバ fluentd → Bサーバ ElasticSearch
  2. Aサーバ fluentd → Bサーバ ElasticSearch

1)だった場合、

という形でデータが入ってきているので

とありますが、これはAサーバで確認できたのでしょうか?
それともBサーバで確認できたのでしょうか?

(fluentのstdoutで確認)

上記は、挙げてもらっているコードを以下に変更して確認できたということでしょうか?

<match oioi> type stdout </match>

nginx + lua の lua 部分のでつけております。

こちらが不明なのですが、fluentd以外でタグ付けしたものがfluentdで処理されるとは考えにくいのですが・・・
何かドキュメント参照しての設定ですか?

投稿2017/08/02 02:20

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EzrealTrueshot

2017/08/02 02:44

Aサーバー(nginx + lua ) → Bサーバー(fluentd) → Bサーバー(elasticsearch)です。
over

2017/08/02 02:47

何度もすいません。教えてください。 > td-agent.logに出力されているので、タグ付けは問題ないかと思うのですが 上記はBサーバ fluentdで確認できたということで良いでしょうか?
EzrealTrueshot

2017/08/02 03:01

失念しておりました。申し訳ございません。はい。その通りでございます。Bサーバー fluentdで確認できました。 type file path /tmp/hoge と記載しても書き込みされました。
over

2017/08/02 03:11

承知しました。 では、Bサーバ fulentd → ElasticSearch が正常に動いていないとの理解で宜しいですね? まず、Bサーバ fluentd stdoutで取得できたデータ形式はJSON形式となっていますか?
over

2017/08/02 03:13

上記補足で > Bサーバ fluentd stdoutで取得できたデータ形式はJSON形式となっていますか? timeも含まれた状態で JSON形式となっていますか?
EzrealTrueshot

2017/08/02 03:21

そのまま貼り付けさせて頂きます。 2017-08-02 12:20:55.000000000 +0900 oioi: {"host":"oreore"} 2017-08-02 12:20:55.000000000 +0900 oioi: {"host":"oreore"} /var/log/td-agent/td-agent.logに上記のように出力されております。
over

2017/08/02 04:36

データ問題ないようですね。 根拠薄いですが、elasticsearch のhost個所をlocalhostに変更して試してもらえますか?
EzrealTrueshot

2017/08/03 07:01

解決致しました。 ご回答ありがとうございました! localhostに変更してもダメでした。 数百行あったfluentdのconfigの中を <match oioi> @type elasticsearch ・ ・ </match> 1つだけにしたところうまく値がはいってくるようになりました。 (何かと競合していたのでしょうか・・・) お手数おかけしてしまい、申し訳ございませんでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問