Skip to content

Open source framework for processing, monitoring, and alerting on time series data

License

Notifications You must be signed in to change notification settings

influxdata/kapacitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 26, 2025
938f59d · Mar 26, 2025
Feb 4, 2025
Jun 15, 2022
Feb 9, 2020
Feb 16, 2023
Aug 10, 2016
Jan 5, 2017
Feb 4, 2025
Oct 13, 2022
Sep 16, 2022
May 17, 2023
Oct 13, 2022
Oct 13, 2022
Sep 26, 2024
Dec 9, 2021
Aug 3, 2021
Jul 9, 2021
Oct 13, 2022
Apr 12, 2023
Sep 18, 2017
Apr 29, 2017
Oct 13, 2022
Oct 13, 2022
Nov 5, 2021
Aug 26, 2024
Sep 26, 2024
Feb 16, 2023
Oct 13, 2022
May 17, 2023
Oct 13, 2022
Mar 21, 2024
Oct 10, 2017
Mar 16, 2017
Oct 13, 2022
Jan 15, 2016
May 31, 2016
Sep 16, 2022
Sep 21, 2016
Oct 28, 2024
Oct 25, 2021
Feb 1, 2018
Feb 4, 2025
Oct 15, 2018
Sep 4, 2024
Oct 19, 2020
Mar 25, 2024
Aug 26, 2024
Sep 16, 2022
Sep 16, 2021
Jun 21, 2022
May 17, 2023
Feb 16, 2023
Nov 21, 2018
Oct 26, 2021
May 25, 2017
Sep 16, 2022
Jun 17, 2022
Sep 16, 2022
Jul 2, 2016
Mar 21, 2018
Mar 21, 2018
Mar 21, 2018
Oct 13, 2022
Sep 18, 2017
Sep 16, 2022
Jul 31, 2017
Feb 4, 2021
Jun 4, 2021
Mar 21, 2024
Mar 26, 2025
Mar 26, 2025
Feb 5, 2016
Jun 3, 2021
Sep 16, 2022
Oct 13, 2022
Sep 16, 2022
Sep 16, 2022
Sep 16, 2022
Sep 16, 2022
Sep 16, 2022
Sep 16, 2022
Jun 10, 2016
Sep 16, 2022
Jun 21, 2022
Oct 13, 2022
Sep 18, 2017
Oct 2, 2015
May 12, 2021
Jun 21, 2022
Jun 21, 2022
Jun 21, 2022
Oct 13, 2022
Mar 21, 2018
Mar 21, 2018
Sep 16, 2022
Mar 21, 2018
Sep 16, 2022
May 14, 2020
Mar 21, 2018
Jun 4, 2021
Feb 16, 2023
May 31, 2016
Feb 16, 2023
May 9, 2018
Apr 12, 2017
Sep 16, 2022
Jun 2, 2021
Sep 18, 2017
Oct 13, 2022
Sep 16, 2022
Mar 25, 2016
Sep 16, 2022
Mar 21, 2018
Sep 16, 2022

Repository files navigation

Kapacitor Circle CI Docker pulls

Open source framework for processing, monitoring, and alerting on time series data

Installation

Kapacitor has two binaries:

  • kapacitor – a CLI program for calling the Kapacitor API.
  • kapacitord – the Kapacitor server daemon.

You can either download the binaries directly from the downloads page or go get them:

go get github.com/influxdata/kapacitor/cmd/kapacitor
go get github.com/influxdata/kapacitor/cmd/kapacitord

Configuration

An example configuration file can be found here

Kapacitor can also provide an example config for you using this command:

kapacitord config

Getting Started

This README gives you a high level overview of what Kapacitor is and what its like to use it. As well as some details of how it works. To get started using Kapacitor see this guide. After you finish the getting started exercise you can check out the TICKscripts for different Telegraf plugins.

Basic Example

Kapacitor uses a DSL named TICKscript to define tasks.

A simple TICKscript that alerts on high cpu usage looks like this:

stream
    |from()
        .measurement('cpu_usage_idle')
        .groupBy('host')
    |window()
        .period(1m)
        .every(1m)
    |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()

Place the above script into a file cpu_alert.tick then run these commands to start the task:

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