第一部分 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.https://github.com/influxdata/telegraf 中 Input Plugins 部分 有对各个系统、应用、服务的监控项配置,我们可以直接添加到既有的conf文件中。
Output Plugins部分是对收集数据存放地址的设置。
4.可以同时将数据保存到多种类型的数据库中。下面是将收集的数据保存到InfluxDB中的设置。
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 登入验证
补充说明:
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. 存放数据库元数据。