Kapacitor
为什么要使用Kapacitor
?
-
Action-oriented
- Kapacitor的告警系统是遵循
publish-subscribe
设计模式。Alerts
能publish到相应的topcis
,而handlers
来subsribe
相应的topic
。
- Kapacitor的告警系统是遵循
Streaming analytics
Anomaly detection
Introduction
image- Kapacitor是一个实时的流数据处理引擎。
- Kapacitor可以实时地通过
TICK
脚本处理InfluxDB
中的流数据以及批处理数据。
- 数据处理模型
-
Kapacitor
是一种处理时间序列数据的框架,它遵循基于工作流的编程模型(flow based programing model
)。数据流从一个node
到另一个node
,每个node
是一个黑盒的过程,它能以任意方式处理数据。nodes
是以有向无环图(directed acyclic graph
)的方式分布的。 -
Tasks
-
Task
是通过TICK脚本来定义的。 - Task有三种状态:
- disabled
- enabled not executing
- enabled executing
-
-
- Data Flow
- 传输数据的数据模型有两种:
batch data
takes multiple data points as an input and looks at them as a whole.Streams
accept a single point at a time, folding each new point into the mix and re-evaluating thresholds each time.-
Stream
- Data points are passed as single entities.
- 数据立即被transfer,并且每次只transfer一个
data point
-
Batch
- Data points are passed in groups of data.
- 将多个
data points
看作一个整体输入
-
- data point
-
data point
由时间戳timestamp
,一系列的属性fileds
和tags
组成。
-
- Edges
- 数据传输通过有向无环图的边来进行,从
parent node
到child node
。 - Edge是有类型的,指定的边只传输指定的类型。
- 数据传输通过有向无环图的边来进行,从
- 传输数据的数据模型有两种:
Componets
- Server Daemon (
kapacitord
)- ● Config for inputs/outputs/services/ etc.
- CLI (
kapacitor
)- ● Calls for HTTP API or server
- ● Not interactive
- Tasks - units of work
- ● Defined by a TICKscript
- ● Stream or Batch
- ● DAG - pipeline
- Recordings - saved data
- ● Useful for isolated testing
- Templates -
- ● Building many instances of a templated task
- Topics & topics handlers
- ● Generic rules for all alters
References
- Kapacitor
- Kapacitor Internal Design
- Kapacitor github
- Flow Based Programming
- Replacement Server Monitoring – Part 3: Kapacitor alerts and going live!
- Kapacitor启动的时候如何连接到influxdb的
- telegraf收集的数据如何写入到influxdb的
- A DevOps tutorial to setup intelligent machine learning driven alerts
- How to contribute a new output to Kapacitor
- Kapacitor行为测试
- 开源kapacitor操作手册
- Monitoring kapacitor
网友评论