如何使用 Logstash 从 Elasticsearch 获取数据并将其放入 Graphite?
How can I get data from Elasticsearch using Logstash and put it into Graphite?
我有 logstash.conf
文件,我从 MySQL 数据库中获取数据。但现在我必须从 Elasticsearch 获取数据并将其放入 Graphite。有我的代码logstash.conf
:
input {
jdbc {
type => "some type"
jdbc_driver_library => "sqljdbc42.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://host:port;databaseName=db name"
jdbc_user => "username"
jdbc_password => "***"
jdbc_default_timezone => "Asia/Almaty"
statement_filepath => "sqlscript.sql"
schedule => "*/30 * * * *"
}
}
output {
stdout { codec => json }
if [type] == "some type" {
graphite {
host => "some host"
port => port
metrics => [some.metric", "%{cnt}"]
}
}
}
您需要做的就是将 logstash.conf 中的输入配置更改为:
elasticsearch {
hosts => "localhost"
query => '{ "query": { "match_all": {} }, "sort": [ "_doc" ] }'
}
我有 logstash.conf
文件,我从 MySQL 数据库中获取数据。但现在我必须从 Elasticsearch 获取数据并将其放入 Graphite。有我的代码logstash.conf
:
input {
jdbc {
type => "some type"
jdbc_driver_library => "sqljdbc42.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://host:port;databaseName=db name"
jdbc_user => "username"
jdbc_password => "***"
jdbc_default_timezone => "Asia/Almaty"
statement_filepath => "sqlscript.sql"
schedule => "*/30 * * * *"
}
}
output {
stdout { codec => json }
if [type] == "some type" {
graphite {
host => "some host"
port => port
metrics => [some.metric", "%{cnt}"]
}
}
}
您需要做的就是将 logstash.conf 中的输入配置更改为:
elasticsearch {
hosts => "localhost"
query => '{ "query": { "match_all": {} }, "sort": [ "_doc" ] }'
}