Fluentd
Slack
Slackboard

fluent-plugin-slackboard〜FluentdからSlackboard経由でSlackに通知する〜

More than 3 years have passed since last update.

FluentdからSlackboardを通してSlackに通知するプラグインを書いてみた。

https://github.com/cubicdaiya/fluent-plugin-slackboard

SlackboardはSlackのIncoming Webhooksプロキシです。HTTPベースのAPIや同封されているCLIプログラム(slackboard-cli、slackboard-log)を利用してSlackboardとやりとりすることでSlackにメッセージをポストできます。


インストール

RubyGemsからインストールできます。

gem install fluent-plugin-slackboard


使い方

設定ファイルの書き方はこんな感じです。

<match slackboard>

type slackboard
# required
host host
port port
channel random
fetch_key message
# optional
username slackboard
icon_emoji :clipboard:
parse full
sync false
</match>

あとはfluent-cat等でメッセージを流してやればSlackにポストできます。slackboard_fetch_keyで指定したキーの値に通知したいメッセージを埋め込むのがポイントです。

echo '{"message":"bokko"}' | fluent-cat slackboard

image

各パラメータの意味は以下の通り。

パラメータ名
解説
備考

host
slackboardのホスト名

port
slackboardのポート番号

channel
通知するSlackのチャンネル

fetch_key
通知するメッセージを含むキー名

username
通知する際のユーザ名
デフォルト値:slackboard

icon_emoji
通知する際の絵文字アイコン
デフォルト値::clipboard:

parse
通知するメッセージのパース方法を指定
デフォルト値:full

sync
通知を同期・非同期的に行う

trueだと同期、falseだと非同期、デフォルト値:false