Reviews of the code/contributions are very welcome (particularly with testing!), since I don't really know Ruby.
Uses Slack incoming webhooks API to send log events to Slack.
Usage:
input {
...
}
filters {
...
}
output {
...
slack {
url => <YOUR SLACK WEBHOOK URL HERE>
channel => [channel-name - this is optional]
username => [slack username - this is optional]
icon_emoji => [emoji, something like ":simple_smile:" - optional]
icon_url => [icon url, would be overriden by icon_emoji - optional]
format => [default is "%{message}", but used to format the text - optional]
}
}
Not supported yet: attachments
In the logstash directory, run: bin/plugin install logstash-output-slack
git clone <thisrepo>
bundle install
gem build logstash-output-slack.gemspec
You should just be able to do bin/plugin install <path-to-your-built-gem>
, but due to this bug installing from a local gem doesn't work right now.
You need to:
- Make sure that the
logstash-core
gem you've installed matches the exact beta 1.5 logstash version you are running. - modify the logstash Gemfile to include the line
gem "logstash-output-slack", :path => <path_to_the_directory_your_gem_is_in>
bin/plugin install --no-verify
bin/plugin list | grep logstash-output-slack
bin/logstash -e '
input { stdin {} }
output { slack { <your slack config here> }}'
And type some text in. The same text should appear in the channel it's configured to go in.
Gem-installing this plugin would only work on Logstash 1.5. For Logstash < 1.5, you could just rename lib
in this repo to logstash
, and then run Logstash with `--pluginpath <path_to_this_repo>.
See the flags documentation for Logstash 1.4.