All Projects → y-ken → fluent-plugin-twitter

y-ken / fluent-plugin-twitter

Licence: other
Fluentd Input/Output plugin to process tweets with Twitter Streaming API.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to fluent-plugin-twitter

efk-stack-helm
Helm chart to deploy a working logging solution using the ElasticSearch - Fluentd - Kibana stack on Kubernetes
Stars: ✭ 51 (-3.77%)
Mutual labels:  fluentd
Laravel-FluentLogger
fluent logger for laravel (with Monolog handler for Fluentd)
Stars: ✭ 55 (+3.77%)
Mutual labels:  fluentd
datadog-anomaly-detector
🐶 Anomaly detection system for Datadog multiple metrics
Stars: ✭ 19 (-64.15%)
Mutual labels:  fluentd
ansible-role-fluentbit
Ansible role that install FluentBit
Stars: ✭ 18 (-66.04%)
Mutual labels:  fluentd
fluent-plugin-grok-parser
Fluentd's Grok parser
Stars: ✭ 100 (+88.68%)
Mutual labels:  fluentd
fluent-plugin-anonymizer
Fluentd filter output plugin to anonymize records with MD5/SHA1/SHA256/SHA384/SHA512 algorithms. This data masking plugin protects privacy data such as ID, email, phone number, IPv4/IPv6 address and so on.
Stars: ✭ 52 (-1.89%)
Mutual labels:  fluentd
Fluent Bit
Fast and Lightweight Logs and Metrics processor for Linux, BSD, OSX and Windows
Stars: ✭ 3,223 (+5981.13%)
Mutual labels:  fluentd
fluent-plugin-rabbitmq
Fluent input/output plugin for RabbitMQ.
Stars: ✭ 26 (-50.94%)
Mutual labels:  fluentd
fluent-plugin-ec2-metadata
Fluentd output plugin to add Amazon EC2 metadata into messages
Stars: ✭ 43 (-18.87%)
Mutual labels:  fluentd
fluent-forward-go
A high-performance Go client for Fluentd and Fluent Bit
Stars: ✭ 26 (-50.94%)
Mutual labels:  fluentd
libfluent
Library to send log as fluentd forwarding message
Stars: ✭ 24 (-54.72%)
Mutual labels:  fluentd
logging-operator
A golang based operator to create and manage EFK (Elasticsearch, Fluentd, and Kibana) stack on Kubernetes
Stars: ✭ 42 (-20.75%)
Mutual labels:  fluentd
dns-collector
Aggregator, analyzer, transporter and logging for your DNS logs
Stars: ✭ 58 (+9.43%)
Mutual labels:  fluentd
LogiAM
基于日志模板构建,采集任务动态管控、数据质量精确度量,一站式日志采集平台
Stars: ✭ 199 (+275.47%)
Mutual labels:  fluentd
prometheus-labs
Example Docker Cluster for "Full Stack Monitoring and Notification with Prometheus and Grafana"
Stars: ✭ 38 (-28.3%)
Mutual labels:  fluentd
fluentd-plugin-mdsd
Azure Linux monitoring agent (mdsd) output plugin for fluentd
Stars: ✭ 26 (-50.94%)
Mutual labels:  fluentd
fluent-plugin-irc
No description or website provided.
Stars: ✭ 16 (-69.81%)
Mutual labels:  fluentd
logwatch
日志采集工具
Stars: ✭ 22 (-58.49%)
Mutual labels:  fluentd
fluentd-docs
This repository is deprecated. Go to fluentd-docs-gitbook repository.
Stars: ✭ 49 (-7.55%)
Mutual labels:  fluentd
fluent-plugin-gcs
Google Cloud Storage output plugin for Fluentd.
Stars: ✭ 39 (-26.42%)
Mutual labels:  fluentd

fluent-plugin-twitter Build Status

Component

Fluentd Input/Output plugin to process tweets with Twitter Streaming API.

Dependency

before use, install dependent library as:

# for RHEL/CentOS (eventmachine requires build dependency)
$ sudo yum -y install gcc gcc-c++ openssl-devel libcurl libcurl-devel

# for Ubuntu/Debian (eventmachine requires build dependency)
$ sudo apt-get install build-essential libssl-dev

Requirements

fluent-plugin-twitter fluentd ruby
0.6.1 v0.14.x >= 2.1
0.5.4 v0.12.x >= 1.9

Installation

install with gem or td-agent-gem command as:

# for fluentd
$ gem install eventmachine
$ gem install fluent-plugin-twitter

# for td-agent2
$ sudo td-agent-gem install eventmachine
$ sudo td-agent-gem install fluent-plugin-twitter -v 0.5.4

Input Configuration

Input Sample

It require td-agent2 (fluentd v0.12) to use keyword with hashtag.

<source>
  @type twitter
  consumer_key        YOUR_CONSUMER_KEY        # Required
  consumer_secret     YOUR_CONSUMER_SECRET     # Required
  access_token        YOUR_ACCESS_TOKEN        # Required
  access_token_secret YOUR_ACCESS_TOKEN_SECRET # Required
  tag                 input.twitter.sampling   # Required
  timeline            tracking                 # Required (tracking or sampling or location or userstream)
  keyword             'Ruby,Python,#fleuntd'   # Optional (keyword has priority than follow_ids)
  follow_ids          14252,53235              # Optional (integers, not screen names)
  locations           31.110283, 129.431631, 45.619283, 145.510175  # Optional (bounding boxes; first pair specifies longitude/latitude of southwest corner)
  lang                ja,en                    # Optional
  output_format       nest                     # Optional (nest or flat or simple[default])
  flatten_separator   _                        # Optional
</source>

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

Proxy support

<source>
  @type twitter
  consumer_key        YOUR_CONSUMER_KEY        # Required
  consumer_secret     YOUR_CONSUMER_SECRET     # Required
  access_token        YOUR_ACCESS_TOKEN        # Required
  access_token_secret YOUR_ACCESS_TOKEN_SECRET # Required
  tag                 input.twitter.sampling   # Required
  timeline            tracking                 # Required (tracking or sampling or location or userstream)
  <proxy>
    host proxy.example.com                     # Required
    port 8080                                  # Required
    username proxyuser                         # Optional
    password proxypass                         # Optional
  </proxy>
</source>

Testing

$ tail -f /var/log/td-agent/td-agent.log

Output Configuration

Output Sample

<source>
  @type http
  port 8888
</source>

<match notify.twitter>
  @type twitter
  consumer_key        YOUR_CONSUMER_KEY
  consumer_secret     YOUR_CONSUMER_SECRET
  access_token        YOUR_ACCESS_TOKEN
  access_token_secret YOUR_ACCESS_TOKEN_SECRET
</match>

Proxy support

<match notify.twitter>
  @type twitter
  consumer_key        YOUR_CONSUMER_KEY
  consumer_secret     YOUR_CONSUMER_SECRET
  access_token        YOUR_ACCESS_TOKEN
  access_token_secret YOUR_ACCESS_TOKEN_SECRET
  <proxy>
    host proxy.example.com
    port 8080
    username proxyuser
    password proxypass
  </proxy>
</match>

Testing

$ curl http://localhost:8888/notify.twitter -F 'json={"message":"foo"}'

Reference

Twitter OAuth Guide

http://pocketstudio.jp/log3/2012/02/12/how_to_get_twitter_apikey_and_token/

Quick Tour to count a tweet with fluent-plugin-twitter and fluent-plugin-datacounter

http://qiita.com/items/fe4258b394190f23fece

TODO

patches welcome!

Copyright

Copyright © 2012- Kentaro Yoshida (@yoshi_ken)

License

Apache License, Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].