MCPcopy Index your code
hub / github.com/influxdata/kapacitor

github.com/influxdata/kapacitor @v1.8.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.8.6 ↗ · + Follow
8,581 symbols 31,886 edges 572 files 2,273 documented · 26% 119 cross-repo links updated 5d agov1.8.6 · 2026-05-26★ 2,372808 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 5,073
Function 1,876
Struct 1,226
Interface 220
TypeAlias 139
FuncType 33
Class 14

Languages

Go99%
Python1%

Modules by API surface

udf/agent/udf.pb.go248 symbols
services/diagnostic/handlers.go218 symbols
client/v1/client.go207 symbols
tick/ast/node.go195 symbols
integrations/streamer_test.go190 symbols
edge/messages.go171 symbols
tick/stateful/functions.go163 symbols
server/server_test.go115 symbols
pipeline/json.go94 symbols
pipeline/alert.go93 symbols
server/server.go92 symbols
cmd/kapacitor/main.go81 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/authv0.20.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/bigqueryv1.74.0 · 1×
cloud.google.com/go/bigtablev1.42.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/longrunningv0.8.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
collectd.orgv0.3.0 · 1×
github.com/99designs/go-keychainv0.0.0-2019100805025 · 1×

For agents

$ claude mcp add kapacitor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page