Kapacitor - 时间序列数据监控框架


MIT
跨平台
Google Go

软件简介

Kapacitor 是一个开源框架,用来处理、监控和警告时间序列数据。Kapacitor 使用
TICKscript 脚本来定义任务,示例代码:

stream
    .from().measurement('cpu_usage_idle')
    .groupBy('host')
    .window()
        .period(1m)
        .every(1m)
    .mapReduce(influxql.mean('value'))
    .eval(lambda: 100.0 - "mean")
        .as('used')
    .alert()
        .message('{{ .Level}}: {{ .Name }}/{{ index .Tags "host" }} has high cpu usage: {{ index .Fields "used" }}')
        .warn(lambda: "used" > 70.0)
        .crit(lambda: "used" > 85.0)

        // Send alert to hander of choice.

        // Slack
        .slack()
        .channel('#alerts')

        // VictorOps
        .victorOps()
        .routingKey('team_rocket')

        // PagerDuty
        .pagerDuty()

执行方法:

# Define the task (assumes cpu data is in db 'telegraf')kapacitor define \
    -name cpu_alert \
    -type stream \
    -dbrp telegraf.default \
    -tick ./cpu_alert.tick# Start the taskkapacitor enable cpu_alert