===========================
Fluentd Input plugin to execute mysql query and fetch rows across multiple dbs based on an initial shard query returning array of host/db to hit
Installation
install with gem or fluent-gem command as:
# for fluentd
$ fluentd-gem install fluent-plugin-sqlquery-ssh
# for td-agent
$ sudo /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-sqlquery-ssh
Configuration
Config Sample
<source>
type sqlquery_ssh
shard_map_query SELECT database_host, group_concat(database_name) AS database_name FROM cust_customer WHERE status = 'customer' AND collect_stats=1 GROUP BY database_host order by database_host DESC;
query SELECT database() as customer from invoice
host system-reporting.db.prd.us-east-silo.ls #only use for reporting slaves
ssh_gateway mgmt.us-east-silo.lightspeedapp.com
skip_shards [""] #currently broken. use shard query to reduce set.
ssh_username #user name with jumphost access
db_username #reporting db username (do not use this on prod other than reporting)
db_password #the db password for the user above.
nest_result no #whether to nest the result set
nest_key data #key to nest
row_count no #add row count to the return
row_count_key row_count
tag debug #the matching tag
</source>
<match debug*>
type stdout
</match>