gpt4 book ai didi

graphite - 如何让 Graphite 简单地计算计数器,而不是对它们进行计时

转载 作者:行者123 更新时间:2023-12-04 17:19:27 26 4
gpt4 key购买 nike

我正在使用 Graphite 和 Collectd 来监控我的服务器。特别是,我正在使用 tail插件来计算失败的 SSH 登录。我正在为这个指标使用一个计数器,所以希望看到 1、2、3、0 等......数据点。但是,我所看到的是 0.1、0.2、0.3、0 等......在我看来,Graphite 正在提供每秒计数。我这么说是因为我的保留策略是每 10 秒一个数据点,持续两个小时。所以每 10 秒登录失败 1 次 = 每秒 0.1 次。我正在看这个图表。它看起来像这样:

Image

此外,当我扩展到下一个保留级别时,数字会相应地进行调整:因此显示为 0.1 的 1 次登录失败现在显示的比这个少得多:0.017 或其他。

我不认为这与使用的聚合方法有关:即使是最好的数据也会关闭。我怎样才能让 Graphite 将此指标视为纯粹的、原始的、计数器?

这是我的 storage-schemas.conf(保留策略):

[my_server]
pattern = .*
retentions = 10s:2h,1m:2d,30m:400d

这是我对 collectd tail 插件的配置:
<Plugin "tail">
<File "/var/log/auth.log">
Instance "auth"
<Match>
Regex "sshd[^:]*: Failed password"
DSType "CounterInc"
Type "counter"
Instance "sshd-invalid_user"
</Match>
</File>
</Plugin>

这是我对 write_graphite 插件(将数据发送到 Graphite )的配置:
<Plugin write_graphite>
<Node "my_server_name">
Host "localhost"
Port "2003"
Protocol "tcp"
LogSendErrors true
Prefix "collectd."
#Postfix ""
StoreRates true
AlwaysAppendDS false
EscapeCharacter "_"
</Node>
</Plugin>

我试过设置 StoreRates false对于 write_graphite 插件,但这不起作用。它确实改变了行为:当我执行一次失败的 SSH 登录时,该指标显示为 1。但是,它没有回落到 0。当我再执行两次失败的登录时,该指标会弹出到 3。

同样感兴趣的是:我还加载了用户插件,它只显示登录的用户数量,它运行良好:当我 SSH 进入时显示 1,再次 SSH 进入时显示 2,当我退出一个 SSH 时返回到 1。对于 StoreRates 的两种设置。所以看起来我想要的东西以某种方式是可能的。虽然可能不是尾部插件。

SSH 登录 StoreRates false在这些图中可以看到登录用户的正确行为:

Image

有任何想法吗?谢谢,

最佳答案

您正在要求系统计算事件的数量。这正是它正在做的事情:它正在计算自启动以来登录失败的次数。是否使用StoreRates或不只是改变信息的显示方式:作为比率或作为原始计数器。计数器可能永远不会减少!您实际要求的是一个在读取时自行重置的计数器:计算自上次检查 collectd 以来登录失败的次数。

碰巧 ABSOLUTE rrdtool 中的数据源类型可用于实现此目的,但这对您没有帮助。

退后一步,想想你想要达到的目标:每秒登录失败的次数在我看来是一个完全合理的指标!

关于graphite - 如何让 Graphite 简单地计算计数器,而不是对它们进行计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25346483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com