Skip to content
Open source framework for processing, monitoring, and alerting on time series data
Branch: master
Clone or download
Latest commit 969536e Mar 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci remove deprecated reusable config Apr 17, 2018
.github
.hooks
alert add alert inhibitors Mar 21, 2018
auth ensure unique and safe mapping from db name to db resource (#802) Aug 10, 2016
bufpool
client fix(http): use default transport consitently Mar 11, 2019
clock influxdb->influxdata Jan 7, 2016
cmd Merge branch 'v1.4' Mar 14, 2018
command add alert service API Jan 5, 2017
edge Add delete support to barrier node Nov 20, 2018
etc Update kapacitor.conf May 10, 2018
examples Add example of all nodes in load tasks style dir Oct 17, 2017
expvar Convert all nodes to use message passing semantics. Jul 31, 2017
http
influxdb
integrations Add Sensu metadata support Nov 28, 2018
keyvalue Refactor logging with diagnostics Sep 18, 2017
listmap
models Convert all nodes to use message passing semantics. Jul 31, 2017
pipeline add ability to skip ssl verification with an alert post node Jan 22, 2019
scripts update package scripts Nov 8, 2017
server
services fix: update for new changes in #2154 Mar 11, 2019
tick fix autogen docs comments May 9, 2018
timer fixes #387 #400 #401 Apr 4, 2016
tlsconfig allow multiple mqtt clients, add tests for alert handling Jul 24, 2017
udf
usr/share/bash-completion/completions
uuid switch to using UUIDs directly Mar 16, 2017
vendor
waiter
.dockerignore User Defined Functions (UDFs) Jan 15, 2016
.gitattributes
.gitignore Use Go vendoring for deps. Using govend tool. Apr 13, 2016
BLOB_STORE_DESIGN.md [WIP] Initial blob store design doc (#905) Sep 21, 2016
CHANGELOG.md fix: update for new changes in #2154 Mar 11, 2019
CONTRIBUTING.md Update CONTRIBUTING.md Mar 20, 2019
DESIGN.md
Dockerfile_build_ubuntu32 Add multiple field support to Change Detect Nov 21, 2018
Dockerfile_build_ubuntu64 Add multiple field support to Change Detect Nov 21, 2018
Gopkg.lock fix(services/alert): Improve JSON serialization performance Jun 20, 2018
Gopkg.toml fix(services/alert): Improve JSON serialization performance Jun 20, 2018
LICENSE
LICENSE_OF_DEPENDENCIES.md pr(services/alert): Changes based on PR feedback Jun 21, 2018
README.md
alert.go Add Sensu metadata support Nov 28, 2018
autoscale.go
barrier.go
batch.go Refactor logging with diagnostics Sep 18, 2017
build.py pr(kapacitor): Add command to install easyjson tool Jun 21, 2018
build.sh
change_detect.go
circle-test.sh switch to circleci 2.0 May 25, 2017
circle.yml Package UDF Agents (#706) Jul 9, 2016
combine.go
combine_test.go
default.go
delete.go add alert inhibitors Mar 21, 2018
derivative.go
doc.go rename DSL to TICKscript Oct 22, 2015
edge.go
eval.go add alert inhibitors Mar 21, 2018
expr.go
flatten.go
gobuild.sh add test.sh for testing various envs Feb 5, 2016
group_by.go
http_out.go add alert inhibitors Mar 21, 2018
http_post.go
influxdb_out.go
influxql.gen.go
influxql.gen.go.tmpl
influxql.go
join.go Add Barrier support to the Join node Nov 20, 2018
kapacitor_loopback.go
list-deps
log.go
metaclient.go Update the InfluxDB dep to 1.1 (#991) Oct 26, 2016
node.go
noop.go Refactor logging with diagnostics Sep 18, 2017
output.go
query.go Add new query property for aligning group by intervals to start times Jan 11, 2017
query_test.go
replay.go
result.go Miscellaneous lint cleanup Jan 10, 2017
sample.go
shift.go add alert inhibitors Mar 21, 2018
sideload.go
state_tracking.go add alert inhibitors Mar 21, 2018
stats.go Refactor logging with diagnostics Sep 18, 2017
stream.go add alert inhibitors Mar 21, 2018
task.go
task_master.go
template.go
test.sh have build.sh and test.sh copy build results back out to ./build/ Jun 1, 2017
tickdoc.conf
tmpldata.json
udf.go Refactor logging with diagnostics Sep 18, 2017
udf_test.go
union.go
update_tick_docs.sh
where.go add alert inhibitors Mar 21, 2018
window.go
window_test.go Refactor logging with diagnostics Sep 18, 2017

README.md

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

For more complete examples see the documentation.

You can’t perform that action at this time.