Telegraf 使用小结

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Telegraf 使用小结

转载请注明出处:

1.简介:

  Telegraf是一个开源的代理程序,用于收集、处理、汇总和发送指标数据。它可以与不同的数据存储和可视化工具(如InfluxDB、Elasticsearch、Grafana等)集成,为监控和数据分析提供了强大的支持。

2.安装:

  可以从indluxdb的官网上下载并进行环境安装:https://www.influxdata.com/downloads/

                           

  也可以在 github上找到 telegraf的项目,将项目拉取到本地之后,进行编译安装:https://github.com/influxdata/telegraf?tab=readme-ov-file

                       

3.插件使用:

  Telegraf提供了多种插件,用于从不同来源收集数据,并将其发送到各种目的地。以下是一些常见的Telegraf插件类型:

  1. 输入插件:用于收集数据的来源,如系统指标、日志文件、数据库等。
  2. 输出插件:将处理后的数据发送到特定的目的地,比如InfluxDB、Elasticsearch等。
  3. 数据处理插件:用于过滤、聚合和转换数据。

  输入插件示例 - CPU 数据收集

[[inputs.cpu]]
  percpu = true
  totalcpu = true

  这个示例配置指示Telegraf收集CPU使用情况数据,并将其发送到后端数据库。

  输出插件示例 - 发送数据到 InfluxDB

[[outputs.influxdb]]
  urls = ["http://localhost:8086"]
  database = "mydatabase"

  这个示例配置将处理后的数据发送到名为"mydatabase"的InfluxDB实例中。

  插件的实现方式

  • cpu 输入插件会读取 /proc/stat 文件来获取CPU使用情况。
  • mem 输入插件会读取 /proc/meminfo 文件来获取内存信息。
  • disk 输入插件会读取 /proc/diskstats 文件来获取磁盘信息。

4.配置:

  Telegraf的配置文件通常基于TOML格式,可以在其中定义所需的输入、输出插件,以及对数据进行处理的方式。可以配置不同类型的输入插件来收集数据,然后选择适当的输出插件将其发送到目标位置,比如InfluxDB数据库。此外,还可以进行更高级的配置,如数据采集频率、标签的添加等。

root:/etc/telegraf# cat telegraf.conf
[global_tags]
  nodetype = "controller" # will tag all metrics with dc=us-east-1
[agent]
  interval = "30s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  debug = false
  quiet = false
  logfile = ""
  hostname = "controller1"
  omit_hostname = false
[[outputs.influxdb]]
  urls = ["http://10.33.2.8:8097"] # required
  database = "monitor" # required
  retention_policy = ""
  write_consistency = "any"
  timeout = "5s"
  username = "admin"
  password = "admin"
[[inputs.cpu]]
  percpu = false
  totalcpu = true
  collect_cpu_time = false
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.kernel]]
[[inputs.mem]]

  

  1. [agent]
  • interval = "30s": Telegraf 收集数据的间隔时间为 30 秒。
  • round_interval = true: 如果设置为 true,则 Telegraf 将尝试将收集间隔四舍五入到最近的 interval。这有助于在多个 Telegraf 实例之间进行更均匀的负载分配。
  • metric_batch_size = 1000: 在每次输出刷新时,Telegraf 将尝试发送的度量指标的最大数量。
  • metric_buffer_limit = 10000: Telegraf 将缓存的度量指标的最大数量。如果达到此限制,Telegraf 将开始丢弃旧数据。
  • collection_jitter = "0s": 为集合间隔添加随机抖动时间,以避免所有 Telegraf 实例在同一时间收集数据。在这里,它被设置为 0,意味着没有抖动。
  • flush_interval = "10s": Telegraf 将刷新(发送)其缓冲区中的度量指标到输出插件的间隔时间。
  • flush_jitter = "0s": 为刷新间隔添加随机抖动时间。与 collection_jitter 类似,但应用于刷新操作。
  • precision = "": 用于时间戳的精度。如果留空,则使用系统时间戳的默认精度。
  • debug = false: 是否启用调试模式。如果设置为 true,则 Telegraf 将输出更多的日志信息。
  • quiet = false: 如果设置为 true,则 Telegraf 将只输出错误日志。
  • logfile = "": 指定 Telegraf 的日志文件路径。如果留空,则日志将发送到标准输出(通常是终端或控制台)。
  • hostname = "HOSTNAME": 设置用于 Telegraf 的主机名。在这里,它被设置为 "HOSTNAME",但通常你会替换为实际的主机名或 IP 地址。
  • omit_hostname = false: 如果设置为 true,则 Telegraf 将不会在其输出的度量指标中包含主机名标签。


标签: linux , 监控

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
监控 Shell Go
如何自己写一个telegraf的插件
之前有个特殊需求要自己搞一个telegraf的插件,就顺手写了这个小指南,go初学者级别吧
1518 0
|
监控 时序数据库
Telegraf+Influxdb+Chronograf+Kapacitor主机性能监控告警
一.简述 通过TICK(Telegraf+Influxdb+Chronograf+Kapacitor)进行主机性能监控告警,职责描述如下: Telegraf的职能是数据采集,用于主机性能数据,包括主机CPU、内存、IO、进程状态、服务状态等 Influxdb的职能是时序数据库,用于存储Teleg.
5126 0
|
Prometheus 监控 Cloud Native
Prometheus VS InfluxDB
前言 除了传统的监控系统如 Nagios,Zabbix,Sensu 以外,基于时间序列数据库的监控系统随着微服务的兴起越来越受欢迎,比如 Prometheus,比如 InfluxDB。gtt 也尝试了一下这两个系统,希望能找到两者的差别,为以后选型提供一些帮助。
9507 0
|
缓存 安全 关系型数据库
PolarDB 阿里云国产化数据库:linux系统下的详细安装步骤手册
PolarDB 阿里云国产化数据库:linux系统下的详细安装步骤手册
4890 0
PolarDB 阿里云国产化数据库:linux系统下的详细安装步骤手册
|
数据采集 监控 Unix
性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
【8月更文挑战第1天】性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
904 0
|
监控 Java 时序数据库
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
【6月更文挑战15天】性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
362 6
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
|
存储 SQL 数据库
influxdb 连续查询使用总结
influxdb 连续查询使用总结
518 0
|
数据采集 存储 监控
InfluxDB与Telegraf:数据采集与监控实战
【4月更文挑战第30天】本文介绍了InfluxDB和Telegraf在数据采集与监控中的应用。InfluxDB是高性能的时序数据库,适合高吞吐量和实时查询,而Telegraf是数据采集代理,能收集多种系统指标并发送至InfluxDB。实战部分涉及安装配置两者,通过Telegraf收集数据,然后使用InfluxDB查询分析,配合Grafana实现可视化展示,从而实现有效的监控解决方案。
|
Prometheus 监控 Cloud Native
操作系统重点关注指标
【8月更文挑战第11天】机器层面监控分带内与带外两类。带内监控通过部署Agent收集OS的CPU、内存等指标;带外监控则利用IPMI等协议监测硬件状态,如温度与电源电压。Categraf为常见Agent之一,支持多种插件,如cpu、mem及disk等,用以采集不同类型的系统指标,并可通过RemoteWrite协议将数据发送至Prometheus等监控后端。此外,还可自定义监控脚本以满足特定需求。
|
存储 JavaScript 前端开发
【MySQL】MySQL9.0发布,有点小失望
本文介绍了MySQL 9.0新版本的更新情况及其主要特性,包括JavaScript存储过程、VECTOR类型支持、内联和隐式外键约束等。作者详细讲解了如何在官网上查找新特性,并提供了两种下载方法:官网下载和Docker镜像。此外,文章还探讨了老版本是否需要升级至MySQL 9.0的问题,最终认为新特性并不足以成为升级的必要理由。适合对MySQL新版本感兴趣的读者参考。
2086 1
【MySQL】MySQL9.0发布,有点小失望