elasticsearch - Logstash:将格式化的指标事件发送到 Elasticsearch
问题描述
我可以使用相关插件stdout
从事件中捕获一些指标,logstash
如下所示:
在我的filter
文件中:
if "somekeyword" in [tags] {
metrics {
meter => "events_somekeyword"
flush_interval => 60
add_tag => "metric_somekeyword"
}
}
在我的outputs
档案中
if "metric_somekeyword" in [tags] {
stdout {
codec => line {
format => "Time: %{+YYYY-MM-dd HH:mm:ss Z} | Metric: rate 1m | Client: SomeJeyword | Rate: %{[events_somekeyword][rate_1m]}"
}
}
我的问题是如何在输出方面翻译完全相同的操作/格式elasticsearch
。
例如
{
"Metric Rate": "1m",
"Client": "SomeKeyword",
"Rate": "THE_ACTUAL_RATE_VALUE_HERE",
"@timestamp": "2018-11-02T11:34:34.000Z",
}
我还希望(如果可能)将Rate
其四舍五入到最接近的整数值;
以上应分组为每日索引
解决方案
如果我理解正确,您想像这样解析您的键值消息
filter {
kv {
source => "field_containing_the_message_to_parse"
field_split => "|"
value_split => ":"
}
}
如果这是您想要的,还有更多选项可用于自定义您的解析https://www.elastic.co/guide/en/logstash/current/plugins-filters-kv.html
推荐阅读
- c# - 查看模型未更新
- pandas - PandasUDF 可以接受一系列类型的字符串并返回一系列类型的数组吗?
- regex - 如何使用一个捕获组获取单独的组
- python - 如何使用 Python 中未记录的 API 或未记录的 MQTT 消息协议发送 Instagram Direct 消息?
- file - Hexeditor,允许在数据中查找文件
- python - 为什么我的调优模型的得分明显非最优(负)?
- javascript - 从 jquery 加载选项卡时未显示选中的按钮
- reactjs - 运行“npm run build”时,它不会创建构建目录
- ansible - 如何在 Ansible 中加密剧本中的变量?
- html - 为什么我在使用路由处理当前页面时渲染到主页