小编Cam*_*Lee的帖子

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

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

图片

此外,当我缩小到下一个保留级别时,数字会相应调整:因此1登录失败,显示为0.1现在显示为远低于此:0.017或其他.

我不认为这与使用的聚合方法有关:即使最好的数据也是关闭的.如何让Graphite将此指标视为纯粹的原始计数器?

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

[my_server]
pattern = .*
retentions = 10s:2h,1m:2d,30m:400d
Run Code Online (Sandbox Code Playgroud)

这是我对collectd尾部插件的配置:

<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>
Run Code Online (Sandbox Code Playgroud)

这是我的write_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>
Run Code Online (Sandbox Code Playgroud)

我尝试设置StoreRates falsewrite_graphite插件,但这不起作用.它确实改变了行为:当我执行单个失败的SSH登录时,该指标显示为1.但是,它没有降回到0.当我再执行两次失败的登录时,指标弹出最多3次.

同样感兴趣的是:我还加载了用户插件,它只显示登录的用户数量,并且工作正常:当我进入SSH时显示1,当我再次SSH时显示2,当我退出一个SSH时返回1.对于StoreRates的两种设置.所以看起来我想要的东西有可能以某种方式.也许不是使用tail pluggin.

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

图片

有任何想法吗?谢谢,

graphite collectd graphite-carbon

5
推荐指数
1
解决办法
2678
查看次数

标签 统计

collectd ×1

graphite ×1

graphite-carbon ×1