• 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]]
    复制代码

     

       

  • 相关阅读:
    Mac电脑升级13系统后,git clone 代码报错,mac升级后git ssh用不了
    NCF 的Azure Cosmos DB 演示案例
    java-net-php-python-ssm儿童演出礼服租赁网站计算机毕业设计程序
    day24逆增子序列&全排列&全排列II(全排列问题:回溯三部曲)
    Java:一篇学好设计模式
    LeetCode 799. 香槟塔【数组,模拟,简单线性DP】1855
    微信小程序 实现手写签名(横屏签名板)
    微信多开,张大龙-《软件方法》自测题解析018
    离散型制造业数字化转型难点与转型方向
    如何在 Docker 容器中运行 MySQL
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/17978473