欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

程序员文章站 2023-01-01 11:46:15
第一部分 Telegraf 部署和配置 Telegraf 是实现 数据采集 的工具。Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。 在平台监控系统中,可以使用 Telegraf 采集多种组件的运行信息,而不需要自己手写脚本定时采集,大大降低数据获取的难度; ......

第一部分 telegraf 部署和配置

telegraf 是实现 数据采集 的工具。telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。

在平台监控系统中,可以使用 telegraf 采集多种组件的运行信息,而不需要自己手写脚本定时采集,大大降低数据获取的难度;且 telegraf 配置极为简单,只要有基本的 linux 基础即可快速上手。telegraf 按照时间序列采集数据,数据结构中包含时序信息,借助 influxdb 可以针采集得到的数据完成各种分析计算操作。

 

step 1 下载rpm文件

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.8.3-1.x86_64.rpm

  

step 2 yum 安装已下载的rpm文件

yum localinstall telegraf-1.8.3-1.x86_64.rpm

 

step 3 启动服务

service telegraf start

 

补充说明:

1.数据的收集项的定义和收集后数据保存到什么地方都是通过conf文件决定。用户可修改telegraf配置文件进行采集项的配置,配置文件默认位于/etc/telegraf/telegraf.conf。 

2.telegraf有四种类型的插件

插件类型 功能描述
输入插件(inputs) 收集各种时间序列性指标,包含各种系统信息和应用信息的插件。
处理插件(process) 当收集到的指标数据流要进行一些简单处理时,比如给所有指标添加、删除、修改一个tag。只是针对当前的指标数据进行。
聚合插件(aggregate) 聚合插件有别于处理插件,就在于它要处理的对象是某段时间流经该插件的所有数据(所以,每个聚合插件都有一个设置,只会处理时间段内的数据),比如取最大值、最小值、平均值等操作。
输出插件(outputs) 收集到的数据,经过处理和聚合后,输出到数据存储系统,可以是各种地方,如:文件、influxdb、各种消息队列服务等等。

 

3. 中   input plugins 部分 有对各个系统、应用、服务的监控项配置,我们可以直接添加到既有的conf文件中。

 output plugins部分是对收集数据存放地址的设置。

4.可以同时将数据保存到多种类型的数据库中。下面是将收集的数据保存到influxdb中的设置。

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

5.根据需要(服务器的角色/监控需要)重新生成 telegraf.conf 文件,例如,监控项为cpu,输出的数据为influxdb. (再次强调telegraf服务默认的配置文件在/etc/telegraf/下)

telegraf --input-filter cpu --output-filter influxdb config > telegraf.conf

 

第二部分 influxdb的安装与部署

influxdb 是实现 数据存储 的工具。influxdb是一款优秀的时间序列数据库,适合存储设备性能、日志、物联网传感器等带有时间戳的数据,可以轻松处理高写入和高查询负载(数据采集与数据可视化非常常见的场景)。

influxdb有三大特性:

  • 时序性(time series):与时间相关的函数的灵活使用(例如最大、最小、求和等);

  • 度量(metrics):对实时大量数据进行计算;

  • 事件(event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

具体的安装过程如下:

step 1 下载influxdb的rpm文件

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6.x86_64.rpm

 

step 2 安装已下载的文件

yum localinstall influxdb-1.7.6.x86_64.rpm

  

step 3 启动服务

systemctl start influxdb    ----启动服务
systemctl status influxdb ----查看服务状态

  

step 4 登入验证

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

 

补充说明:

1.默认生成的influxdb.conf 位于 /etc/influxdb/influxdb.conf。

2.几个默认的数据文件路径需注意,或适当调整

数据文档 文档路径 解释 说明
meta /var/lib/influxdb/meta controls the parameters for the raft consensus group that stores metadata about the influxdb cluster.
存放数据库元数据。
data /var/lib/influxdb/data the directory where the tsm storage engine stores tsm files.
存放最终存储的数据,文件以.tsm结尾。
wal /var/lib/influxdb/wal the directory where the tsm storage engine stores wal files.
存放数据库元数据。

 

 3.常用的一些命令

命令 实现功能
show databases 显示所有数据库
use xxxx 转到某个数据库下面
show measurements 显示当前库下的所有表
select * from "xxxxx" 查询指定表的数据;表名中间有点号时,表名双引号;

 

 4. measurement,tags,fields,points与普通的关系型数据库的对应:

influxdb对象 关系型数据库对象
measurement table
tags 索引的列
fields
points 行数据

 

第三部分 grafana的安装与部署

grafana 是实现 数据展示(数据可视化) 的工具。 grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

它主要有以下六大特点:

1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

2、数据源:graphite,influxdb,opentsdb,prometheus,elasticsearch,cloudwatch和kairosdb等;

3、通知提醒:以可视方式定义最重要指标的警报规则,grafana将不断计算并发送通知,在数据达到阈值时通过slack、pagerduty等获得通知;

4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

6、过滤器:ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

 

step 1 下载rpm安装包

wget https://dl.grafana.com/oss/release/grafana-6.2.4-1.x86_64.rpm 

  

step 2 安装

yum localinstall grafana-6.2.4-1.x86_64.rpm 

 

step 3 服务开启

systemctl start grafana-server.service    ----开启服务
systemctl status grafana-server.service  ----服务状态查看

 

step 4 验证

安装后,默认端口为 3000。  可通过浏览器直接登入访问 :http://172.xxx.xxx.xxx:3000

 

step 5 grafana 关于 收集到的数据监控显示

(1) 设置数据源,

 通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

 注意,数据源类型需选择 influxdb 

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

 

(2) 可以设置一个folder,将同类的dashboards 放到一起

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

(3)设置新的监控项

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤

 format as 栏位,请选择【time series】,不可以选择【table】

通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤