LoginSignup
16
13

More than 5 years have passed since last update.

td-agent つかって超楽に slack にエラーログを送る

Posted at

なるべく楽して slack にエラーログを送りたい

要件

  • host 名を出したい。
  • CRITICAL が含まれる行を出したい
  1. slack の incoming web hook つくって url 取得する
  2. td-agent2 intall. (もし td-agent が 1 だったら一度消す)
  3. plugin を install する
# yum --setopt=tsflags=noscripts remove td-agent
# yum --setopt=tsflags=noscripts remove td-agent2
# curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
# /usr/sbin/td-agent-gem install fluent-plugin-slack
# /usr/sbin/td-agent-gem install fluent-plugin-rewrite-tag-filter

td-agent.conf (この例は daemontools で起動している plack の log です)

# tail で拾う
<source>
  @type tail
  path /service/my-web/log/main/current
  pos_file /var/log/td-agent/error.log.pos
  tag plack.raw
  format /^(?<message>.*)$/
</source>

# 条件で tag つけなおす rewrite
<match plack.raw>
  @type rewrite_tag_filter
  rewriterule1 message ^.*CRITICAL.*$ plack.error
  rewriterule2 message ^.*HTTP/1.0" 404 .*$ plack.error
</match>

# host 名付与する
<filter plack.*>
  @type record_transformer
  <record>
    host ${hostname}
  </record>
</filter>

# slack になげる
<match plack.error>
  @type slack
  webhook_url https://hooks.slack.com/services/xxxx/xxxx/xxxx
  channel hoge
  username error
  icon_emoji :gear:
  flush_interval 10s
  message_keys host,message
  message "[%s] %s"
</match>
16
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
13