fluent-plugin-twitter icon indicating copy to clipboard operation
fluent-plugin-twitter copied to clipboard

log_level enabled can not do?

Open naa0yama opened this issue 8 years ago • 13 comments

Fill the console you get lots of Tweets, are in trouble.

Add log_level option by repeatedly · Pull Request #255 · fluent/fluentd

naa0yama avatar Mar 29 '17 08:03 naa0yama

Oh, I have forgot to implement it. I'll fix it soon.

y-ken avatar Mar 29 '17 09:03 y-ken

Thank you.

naa0yama avatar Mar 29 '17 09:03 naa0yama

Would you please tell me the type of logs? I know the two type of logs but you mean to another logs.

  • input: on startup message staring withtwitter: starting Twitter Streaming API for
    details in https://github.com/y-ken/fluent-plugin-twitter/blob/master/lib/fluent/plugin/in_twitter.rb#L64
  • output: error message https://github.com/y-ken/fluent-plugin-twitter/blob/master/lib/fluent/plugin/out_twitter.rb#L47

y-ken avatar Mar 30 '17 07:03 y-ken

I'm not so good at writing English, so I also write in Japansese.

en

It is the https://github.com/y-ken/fluent-plugin-twitter/blob/master/lib/fluent/plugin/in_twitter.rb that I use. I changed "$ log.info" to "log.info", but it seems that it is not reflected. Although it is a suggestion, how about trying log_level debug tweet for images?

ja

私が使っているのは、 https://github.com/y-ken/fluent-plugin-twitter/blob/master/lib/fluent/plugin/in_twitter.rb の方です。 自分で "$log.info" を "log.info" に書き換えたのですが、反映されなかったようです。 そこで、提案ですが画像の用にツイートを log_level debug にしてみてはどうでしょう?

naa0yama avatar Mar 30 '17 08:03 naa0yama

apiキーは隠した上で、設定ファイルを見せて頂けますか? おそらく、設定サンプルのように、stdoutの設定が残ってるように見受けられます。

<match twitter.sampling>
  @type stdout
</match>

y-ken avatar Mar 30 '17 09:03 y-ken

ありがとう御座います。 日本語で安心しました。

現在は開発中なので、こちらのレポジトリーに全ファイル置いてあります。 api Key を 直書きしないために環境変数を多様してます。みにくいかと思いますがよろしくお願いします。 fluent-norikra-elasticsearch-kibana/fluent-twitter/conf.d at master · FoxBoxsnet/fluent-norikra-elasticsearch-kibana

追加で説明しますと。ここで log_level warn 指定してます。 https://github.com/FoxBoxsnet/fluent-norikra-elasticsearch-kibana/blob/master/fluent-twitter/conf.d/31-match.norikra.output.conf#L41

naa0yama avatar Mar 30 '17 09:03 naa0yama

ログを発生させているところで、log_levelの設定を行う事で出力されるログを制御できます。[info]付きのログメッセージがそれです。 ですのでstdoutを指定した場合には、そこで流れていたログが全て表示されるのは仕様です。

前提として、ログ自体はfluent.infoやfluent.warnなどのタグで流れております。 ref. http://chopl.in/post/2013/04/27/fluentd_internal_log/

stdoutで出力される内容を制御するためには、filterプラグインを経由する必要があります。

y-ken avatar Mar 30 '17 09:03 y-ken

stdoutで出力される内容を制御するためには、filterプラグインを経由する必要があります。

公式サイトにこちらの記事があり、log_level 使えるそうです http://docs.fluentd.org/v0.12/articles/out_stdout

#36 現在これに遭遇して gem uninstall json -v='2.0.3' を追加する事で 0.6.0 で 起動は出来ましたが、ツイートが来なかったため、 0.5.4 を使用してます

先ほど確認したら 対応されてましたね. ごめんなさい。私の勘違いのようです

naa0yama avatar Mar 30 '17 10:03 naa0yama

stdoutでlog_levelを用いるケースですが、それ自体で発生するエラー、bufferd outputではなくmemory outputなので、例えばディスクフルのため標準出力ログに書き出せなかった、といったエラーを出すかどうかの制御程度しか想定できません。 log_levelの制御対象はタグの中のメッセージではなく、指定したそのプラグインによって発生したタグの中のメッセージとは別にログファイルに書き出すべきエラーです。そのため、制御できるのは既にログファイルに書き出されている[notice]や[info]、[warn]が付いたものに限定されるのです。

y-ken avatar Mar 30 '17 10:03 y-ken

そうですか、 では fluent-plugin-twitter0.5.4 以上で稼働出来るようになったら

<source>
  type twitter
 
  log_level warn
</source>

と書いてログ出力側の方で設定する用にしてみます。 ありがとう御座いました.

naa0yama avatar Mar 30 '17 11:03 naa0yama

status has updated. ref #39

y-ken avatar Apr 03 '17 02:04 y-ken

新しいバージョンを本日リリースしましたので、確認をお願いします。 https://rubygems.org/gems/fluent-plugin-twitter/versions/0.6.1

y-ken avatar Apr 03 '17 06:04 y-ken

おそらく、次の所で発生したエラーを、集約サーバで集めたいのだと推測します。

<source>
  type twitter
 
  log_level warn
</source>

その場合には、次のように発生した内部エラーログを他のサーバに転送する設定がtwitterを入れてるサーバで必要です。

<filter fluent.**>
  type record_transformer
  <record>
    host ${hostname}
  </record>
</match>

<match fluent.**>
  type forward
  <server>
    name watcher
    host watcher.domain
    port 24224
  </server>
</match>

y-ken avatar Apr 03 '17 06:04 y-ken