基于TICK的DevOps监控实战(Ubuntu20.04系统,Telegraf+InfluDB+Chronograf+Kapacitor)

1、TICK简介

TICK是InfluxData开发的开源高性能时序中台 ,集成了采集、存储、分析、可视化等能力,由Telegraf, InfluDB, Chronograf, Kapacitor等4个组件以一种灵活松散、但又紧密配合,互为补充的方式构成。TICK专注于DevOps监控、IoT监控、实时分析等场景。

这4个组件间的关系如下:Telegraf采集配置文件指定的监控数据,并通过InfluxDB API接口上报到InfluxDB服务器,InfluxDB服务器接收到上报的时序数据后,执行预设的连续查询、聚合运算等操作并进行压缩存储。通过Chronograf可以查看Dashboard等可视化信息,通过Kapacitor可以对接收到的时序数据执行预设的告警策略。

  • Telegraf:一个采集和上报时序数据的数据采集程序,可以采集当前运行主机的指定监控项;
  • InfluxDB:开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析;
  • Chronograf:InfluxData开发的开源Web应用程序,负责将接收的监控数据进行可视化展示和告警,也支持通过灵活强大的模块和库快速配置仪表盘、告警规则、自动化规则;
  • Kapacitor:InfluxData从零构建的TICK原生数据处理引擎,支持流式处理和批量处理,支持各类自定义功能,如定义告警阈值、告警指标特征、告警统计异常特征等。

2、TICK安装(Ubuntu20.04系统)

2.1 安装Influxdb

(1)下载Influxdb安装包并安装

bash 复制代码
wegt https://dl.influxdata.com/kapacitor/releases/influxdb_1.7.8_amd64.deb
sudo dpkg -i influxdb_1.7.8_amd64.deb

(2)启动Influxdb服务

bash 复制代码
sudo systemctl start influxdb # 启动InfluxDB服务
service influxdb status # 查看InfluxDB运行状态

当出现下图中Active: active (running)时即正在正常运行:

2.2 安装Telegraf

(1)下载Telegraf安装包并安装

bash 复制代码
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.17.0-1_amd64.deb
sudo dpkg -i telegraf_1.17.0-1_amd64.deb

(2)修改本机的hostname,更改hostname主机名为IP地址信息,可方便后续在Chronograf查询到这台主机。(我的ip地址是127.0.0.1)

bash 复制代码
hostname -i # 查看本机ip地址
sudo hostname $local_ip # 修改hostname,这里$local_ip为本机ip

(3)修改Telegraf配置文件中InfluxDB服务器的URL信息 ,执行最终的InfluxDB服务器。(这个步骤我实际没有操作)

bash 复制代码
[[outputs.influxdb]]
urls = ["influxdb的IP与端口"]

(4)启动Telegraf进程

bash 复制代码
sudo systemctl start telegraf
sudo systemctl status telegraf # 查看是否启动,出现Active: active (running)时即正在正常运行

(5)检查InfluxDB数据是否上报成功

Telegraf上报到InfluxDB中后,可通过influx命令查看上报结果。Telegraf默认将数据上报到InfluxDB中名为"telegraf"的数据库中,可通过show measurements查看与上报数据对应的表。

bash 复制代码
influx # 启动influx
show databases # 查看数据库信息,此时应该会显示telegraf的数据库
use telegraf # 选定telegraf数据库
show measurements # 查看该数据库中的表信息
exit # 退出influx

按下图显示即infludb数据上报成功:

2.3 安装Kapacitor

(1)下载Kapacitor安装包并安装

bash 复制代码
wegt https://dl.influxdata.com/kapacitor/releases/kapacitor_1.5.3_amd64.deb
sudo dpkg -i kapacitor_1.5.3_amd64.deb

(2)启动Kapacitor服务

bash 复制代码
sudo systemctl start kapacitor
sudo systemctl status kapacitor # 检查是否成功启动

2.4 安装Chronograf

(1)下载Chronograf安装包并安装

bash 复制代码
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.4.0.0_amd64.deb
sudo dpkg -i chronograf_1.4.0.0_amd64.deb

(2)启动Chronograf服务

bash 复制代码
sudo systemctl start chronograf
sudo systemctl status chronograf

(3)打开 Chronograf的默认端口并进行配置

配置方式1(TICK在同一台机器上的极简配置):

Chronograf的默认端口是http://localhost:8888,打开后的初始界面如下图:

直接点击"+Add Source",出现以下界面:

直接点击"Configure Kapacitor",默认配置不用修改即可。

通过选择"Host List"选择本机,即可看到以下的数据可视化界面:

配置方式2(高级配置):略

相关推荐
一个天蝎座 白勺 程序猿4 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS8 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希1238 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
@兽血沸腾10 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
讯捷蓝达15 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落17 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng18 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮19 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹19 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_19 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes