问题标签 [metricbeat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - 磁盘空间的 Elastalert 规则
我正在使用 metricbeat 监控磁盘空间使用情况。
现在我想根据磁盘大小通过 Elastalert 发出警报。
使用的磁盘空间超过 50% 时发出警报
使用的磁盘空间超过 70% 时发出警报
使用的磁盘空间超过 80% 时发出警报
当磁盘空间使用超过 95% 时发出警报
使用的磁盘空间超过 100% 时发出警报
现在这里的问题是,当它超过某些阈值(50、70、80、95、100)时,应该只发出一次警报
因此,如果已经发送超过 50% 标记的警报,则不应发送 50.1% / 50.2% / ... / 69.9% 的警报
只有在超过 70% 时才应发出下一个警报。
初步方法:
我计划使用“任何规则”将磁盘空间字段匹配到不同的值和警报。但这也可能会产生错误警报,原因是如果存储在过去 1 小时内以 50.0% 饱和(考虑没有新数据写入数据库),如果我们每 10 分钟评估一次规则,它将在那一小时内发出 6 次警报. 我也不想使用 realert,因为我不知道要等多久。
方法 v1:
制作 n 个规则配置,其中 n 是不同条件的数量
这种方法并不理想,因为我们需要重复警报。示例 -当使用率降至 50% 以下,然后再次超过 50% 时,需要发出警报。
方法 v2: 可以使用两个规则的组合。(仅考虑 50%)
规则 1:检查磁盘空间 >= 50,发送邮件,启用规则 2 并使用命令禁用自身
规则 2:检查磁盘空间 <50,启用规则 1,使用命令禁用自身。
有更好的方法吗?
elasticsearch - 遍历数组的 Kibana 脚本字段
我正在尝试使用 metricbeat http 模块来监控 F5 池。
我向 f5 api 发出请求并带回保存到 kibana 的 json。但是 json 包含一组池成员,我想计算增加的数量。
建议似乎是这可以通过脚本字段来完成。但是,我无法获取脚本来检索数组。例如
在预览结果中返回添加了相同的“附加字段”以进行比较:
如果我尝试
或类似的我只是得到一个错误:
谷歌搜索表明 doc 构造不包含数组?
- 是否可以创建一个可以访问一组值的脚本字段?即是我的代码或我索引数据的方式错误。
- 如果没有,metricbeats 中是否有替代方法?我不想制作一个全新的 api 来进行计算并添加一个单独的字段
- 更新。
奇怪的是,数组中的数值似乎确实返回了预期的结果。IE。
返回
-- 更新 2
好的,所以如果字段中的字符串具有不同的值,那么您将获得所有值。如果它们是相同的,你就得到一个。什么?
elasticsearch - RabbitMQ Metricbeat 缺少队列
看起来我的 RabbitMQ 集群上只有一小部分队列通过 Metricbeat 进入 Elasticsearch。
当我查询 RabbitMQ 时/api/overview
,我看到报告了 887 个队列:
当我查询 RabbitMQ /api/queues
(这是 Metricbeat 命中的)时,我也计算了 887 个队列。
当我在 Elasticsearch 中获得该字段的唯一计数时rabbitmq.queue.name
,我只看到 309 个队列。
我在调试输出中没有看到任何对我来说很突出的东西。这只是通常的 INFO 级别的启动消息,然后是发布信息:
我认为如果获取队列有问题,我应该在上面的日志中看到一个错误,按照https://github.com/elastic/beats/blob/master/metricbeat/module/rabbitmq/queue/data.go# L94-L104
这是metricbeat.yml
:
这是modules.d/rabbitmq.yml
:
docker - openshift上的权限被拒绝metricbeat
我正在尝试在 openshift 上部署 metricbeat,但经过数小时的工作,我无法让它工作。相同的图像在 docker 上正常运行。谢谢
错误:/usr/local/bin/custom-entrypoint:第 2 行:/usr/share/metricbeat/metricbeat:权限被拒绝
jolokia - Metricbeat Jolokia jmx 映射
我目前正在使用 docker-compose 使用 ELK 7.2.0 与 Jolokia 一起试验 Metricbeat,并且我能够在 Kibana 中显示 JMX 指标。
我的问题是我需要为每个 JMX 指标配置 metricbeat 配置 YML 的 jmx.mappings 部分中的映射,我想发送给 ELK 的指标。
问题是否可以传递某种通配符配置,以便 metricbeat简单地提取所有 jmx 指标并将其发送到 ELK?
谢谢,路易斯·奥斯卡·特里格罗斯
jolokia - 默认情况下启用许多模块的 Metricbeat
我正在使用 Docker-Compose 试验 Metricbeat,但我只对在开始时通过 Jolokia 获取指标感兴趣。
目前从默认启用的所有模块开始,这会在 Elastic 中生成一个巨大的模式,其中包含 2000 多个字段。
在使用 Docker 映像安装时,为什么只启用特定的模块?
谢谢,路易斯·奥斯卡·特里格罗斯
docker - 无法让 Metricbeat 使用传递的环境变量
metricbeat
根据官方文档(版本 7.2.0) ,我正在尝试在 docker 中运行服务。这是我的 bash 命令setup
:
如您所见,我正在传递output.elasticsearch.host
变量,它绝对不等于默认值。但这是metricbeat
容器日志的一部分:
这意味着metricbeat
使用默认的 Elastic 主机而不是环境变量值。我该如何解决?
elasticsearch - 在索引上检测到特定数量的分片时发出警报
我想检测每个索引的分片数量何时超过某个阈值。
我使用 Metricbeat 和 Elasticsearch 模块从索引中检索指标数据,并使用 ElastAlert 在每个索引检测到一定数量的分片时发送警报。
起初,我认为我可以以某种方式使用_stats
API 或_settings
端点来访问每个索引的分片数量并在这个数字上运行 ElastAlert。但是,据我所知,ElastAlert 仅扫描_doc
索引部分,而不扫描_stats
or _settings
。
正如 Metricbeat 的 Elasticsearch 模块的文档中所写,有一个elasticsearch.cluster.stats.indices.shards.count
字段列出了整个集群的分片数量:
elasticsearch.cluster.stats.indices.shards.count
类型:长集群中的分片总数。
我想知道除了每个索引之外是否有类似的东西?如果没有,可能的解决方法是什么?
elasticsearch - 默认情况下,在文本字段上禁用 Fielddata 设置 fielddata=true
我在 kubernetes 上运行弹性堆栈 v 7.2.0,并且在访问 metricbeat 仪表板时在 elasticsearh 中收到此错误
我的问题是如果我手动添加了模板和仪表板,那么为什么会出现此错误?添加模板后,所需的映射不应该进入索引吗?我看到了一些建议明确应用所需映射的答案。但是在这种情况下,我应该如何给出要应用此映射的索引名称,因为我的 metricbeat 索引将在每个新日期每天创建。这种显式映射将如何在每个日期创建的所有 metricbeat 索引中持续存在?PUT /what-should-be-the-index-name/_mapping