InfluxDB时序数据库的安装使用教程9(监控组件Kapacitor的安装使用)
Kapacitor 是一个脚本定义告警规则服务,用户通过 tickScript 脚本来对时序数据库当中的数据进行过滤,筛选,批处理等进行告警,告警信息可以通过日志保存在本地,或回插到 InfluxDB,还可以直接在告警产生后发起 http 请求到指定地址。Kapacitor 支持数据流(stream)和批处理(batch)数据,即实时地订阅 InfluxDB 数据或者批量查询数据。
九、监控组件 Kapacitor 的安装使用
1,安装启动
(1)首先访问 InfluxDB 官网(点击访问),找到选择合适的版本:
(2)比如我们服务器使用的是 CentOS 系统,执行如下命令下载 rpm 文件:
wget https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.6-1.x86_64.rpm
(3)下载后执行如下命令进行安装:
sudo yum localinstall kapacitor-1.5.6-1.x86_64.rpm
(4)安装后执行如下命令即可以启动 Telegraf:
systemctl start kapacitor
(5)最后还可以执行如下命令设为开机启动:
systemctl enable kapacitor
(6)如果 InfluxDB 安装在本地且开启了 8086 端口,则不需要进行任何配置,如果 InfluxDB 安装在其它机器,则需要编辑 Kapacitorp 配置文件,设置 kapacitor 连接 InfluxDB 的 api。
vi /etc/kapacitor/kapacitor.conf
2,使用说明
(1)虽然我们可以手动来编写 Kapacitor 脚本,但如果安装了 Chronograf 组件话,我们可以直接在 Chronograf 的 Web 页面上进行配置,(2)打开 Chronograf 的 Alerting 页面,点击“Build Alert Rule”按钮添加一个告警规则:
(3)我这里配置了一个 CPU 使用率的告警规则,只要空闲低于 99% 就产生告警,并将告警信息写到日志文件(/tmp/cpu_alarm.log)中。
注意在 Alert Type 有 Threshold、Relative、Deadman 三个选项,它们意义分别是:
- Threshold:选定项在指定时间范围内达到告警设定条件即触发告警
- Relative:选定项与前一段时间内的值相比较达到设定条件即触发告警
- Deadman:简单粗暴,没数据就告警。
(4)保存后可以看到告警规则创建成功,同时其对应的 TICKscript 脚本也自动生成了。
(5)点击 TICKscript 脚本可以看到内容如下:
(6)由于之前我们已经通过 Telegraf 不断的往 InfluxDB 发送系统统计信息,Kapacitor 在判断告警后就会自动写入到日志文件,内容如下:
(7)除了写到日志文件外,事件输出源可以还是 influxdb、email、http post、tcp、telegram、kafka、alerta、MQTT 等(可同时添加多个输出源)