Fluent event to slack plugin.

Installation

$ fluent-gem install fluent-plugin-slack

Usage (Incoming Webhook)

<match slack>
  type slack
  webhook_url https://hooks.slack.com/services/XXX/XXX/XXX
  channel general
  username sowasowa
  color good
  icon_emoji :ghost:
  flush_interval 60s
</match>
fluent_logger.post('slack', {
  :message  => 'Hello<br>World!'
})

Usage (Slackbot)

<match slack>
  type slack
  slackbot_url https://xxxx.slack.com/services/hooks/slackbot?token=XXXXXXXXX
  channel general
  flush_interval 60s
</match>
fluent_logger.post('slack', {
  :message  => 'Hello<br>World!'
})

Usage (Web API)

<match slack>
  type slack
  token xoxb-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
  channel general
  username sowasowa
  color good
  icon_emoji :ghost:
  flush_interval 60s
</match>
fluent_logger.post('slack', {
  :message  => 'Hello<br>World!'
})

Parameter

parameter description default
webhook_url Incoming Webhook URI (Required for Incoming Webhook mode). See https://api.slack.com/incoming-webhooks
slackbot_url Slackbot URI (Required for Slackbot mode). See https://api.slack.com/slackbot. username, color, icon_emoji, icon_url are not available for this mode, but Desktop Notification via Highlight Words works with only this mode (Notification via Mentions works from Incoming Webhook and Web API with link_names=1, but Notification via Highlight Words does not)
token Token for Web API (Required for Web API mode). See https://api.slack.com/web
username name of bot fluentd
color color to use good
icon_emoji emoji to use as the icon. either of icon_emoji or icon_url can be specified :question:
icon_url url to an image to use as the icon. either of icon_emoji or icon_url can be specified nil
mrkdwn enable formatting. see https://api.slack.com/docs/formatting false
channel channel to send messages (without first '#')
channel_keys keys used to format channel. %s will be replaced with value specified by channel_keys if this option is used nil
title title format. %s will be replaced with value specified by title_keys. title is created from the first appeared record on each tag nil
title_keys keys used to format the title nil
message message format. %s will be replaced with value specified by message_keys %s
message_keys keys used to format messages message
auto_channels_create Create channels if not exist. Not available for Incoming Webhook mode (since Incoming Webhook is specific to a channel). A web api token for Normal User is required (Bot User can not create channels. See https://api.slack.com/bot-users) false
https_proxy https proxy url such as https://proxy.foo.bar:443 nil

fluent-plugin-slack uses SetTimeKeyMixin and SetTagKeyMixin, so you can also use:

parameter description default
timezone timezone such as Asia/Tokyo
localtime use localtime as timezone true
utc use utc as timezone
time_key key name for time used in xxx_keys time
time_format time format. This will be formatted with Time#strftime. %H:%M:%S
tag_key key name for tag used in xxx_keys tag

fluent-plugin-slack is a kind of BufferedOutput plugin, so you can also use Buffer Parameters.

ChangeLog

See CHANGELOG.md for details.

Contributors

Copyright

  • Copyright:: Copyright (c) 2014- Keisuke SOGAWA
  • License:: Apache License, Version 2.0