Logstash 使用ELK Stack可视化Telegraf或StatsD的指标
我正在使用麋鹿堆栈聚合日志。现在,我想显示指标并用它创建警报,比如当前CPU使用率、处理的请求数、数据库查询数等 我可以使用Telegraf或StatsD收集度量,但如何将它们插入Logstash?这两者都没有日志存储输入Logstash 使用ELK Stack可视化Telegraf或StatsD的指标,logstash,kibana,elastic-stack,statsd,telegraf,Logstash,Kibana,Elastic Stack,Statsd,Telegraf,我正在使用麋鹿堆栈聚合日志。现在,我想显示指标并用它创建警报,比如当前CPU使用率、处理的请求数、数据库查询数等 我可以使用Telegraf或StatsD收集度量,但如何将它们插入Logstash?这两者都没有日志存储输入 这种方法有意义吗?或者我应该在不同的系统中聚合时间序列数据吗?我希望所有东西都在一个罩下。我可以给你一些关于如何使用Telegraf实现这一点的见解: 选项1:将电报发送至日志存储。这是我个人所做的,因为我喜欢让我所有的数据都通过日志库进行标记和突变 Telegraf输出配置
这种方法有意义吗?或者我应该在不同的系统中聚合时间序列数据吗?我希望所有东西都在一个罩下。我可以给你一些关于如何使用Telegraf实现这一点的见解: 选项1:将电报发送至日志存储。这是我个人所做的,因为我喜欢让我所有的数据都通过日志库进行标记和突变 Telegraf输出配置:
[[outputs.socket_writer]]
## URL to connect to
address = "tcp://$LOGSTASH_IP:8094"
tcp {
port => 8094
}
日志存储输入配置:
[[outputs.socket_writer]]
## URL to connect to
address = "tcp://$LOGSTASH_IP:8094"
tcp {
port => 8094
}
选项2:Telegraf。这方面的文档很好,应该告诉你怎么做
从意识形态的角度来看,将度量插入ELK堆栈可能是正确的,也可能不是正确的——这取决于您的用例。我转而使用Telegraf/InfluxDB,因为我有很多指标,我的消费者更喜欢时间序列数据的Influx查询语法和一些其他Influx功能,如汇总
但是,通过将所有数据“放在一个罩下”,可以降低复杂性。Elastic也在努力使其更适合于时间序列数据,并且在Elasticon上有一些关于在Elasticsearch中存储时间序列数据的会谈。我想说,在ELK中存储您的指标是完全合理的做法。:)
让我知道这是否有帮助。以下是用于将指标从StatsD存储到ES的各种选项:
metricbeat.modules:
- module: statsd
host: "localhost"
port: 8125
enabled: true
period: 2s
您还可以使用elastic收集系统度量。它有多个默认模块,用于度量您的系统、数据库、摘要等。