telegraf 安装使用说明

发布于:2023-02-09 ⋅ 阅读:(1288) ⋅ 点赞:(0)

telegraf 学习资料

  • telegraf 数据采集端安装与使用:https://blog.51cto.com/feko/4867405
  • Nightingale telegraf:https://n9e.github.io/docs/agent/telegraf
  • github telegraf:https://github.com/influxdata/telegraf
  • docker telegraf:https://github.com/influxdata/telegraf/blob/master/docs/FAQ.md#q-how-can-i-monitor-the-docker-engine-host-from-within-a-container
  • 一文搞懂指标采集利器 Telegraf:http://blog.itpub.net/70002215/viewspace-2785986
  • telegraf数据采集端安装与使用 :https://blog.51cto.com/feko/4867405
  • Telegraf&Influxdb和扩展插件:https://blog.csdn.net/kaige0207/article/details/118031331
  • Telegraf+Influxdb2 监控系统部署:https://cdn.modb.pro/db/234429

物理机上运行

软件说明

  • 操作系统:CentOS Linux release 7.9.2009 (Core)
  • telegraf:telegraf-1.23.3_linux_amd64.tar.gz

使用说明

解压 telegraf-1.23.3_linux_amd64.tar.gz

tar zxvf telegraf-1.23.3_linux_amd64.tar.gz

测试模式启动执行

/usr/bin/telegraf --config etc/telegraf/telegraf.conf --test --input-filter cpu:mem

执行以指令可以采集到 cpu 指标和内存

022-07-27T08:12:28Z I! Starting Telegraf 1.23.3
2022-07-27T08:12:28Z I! Loaded inputs: cpu mem
2022-07-27T08:12:28Z I! Loaded aggregators:
2022-07-27T08:12:28Z I! Loaded processors:
2022-07-27T08:12:28Z W! Outputs are not used in testing mode!
2022-07-27T08:12:28Z I! Tags enabled: host=LINGSHI-DEV-EDGENODE-04
mem,host=LINGSHI-DEV-EDGENODE-04 active=11402080256i,available=27696852992i,available_percent=83.08113435846222,buffered=427352064i,cached=17801916416i,commit_limit=16668557312i,committed_as=6734741504i,dirty=294912i,free=11568394240i,high_free=0i,high_total=0i,huge_page_size=2097152i,huge_pages_free=0i,huge_pages_total=0i,inactive=7687524352i,low_free=0i,low_total=0i,mapped=235700224i,page_tables=14602240i,shared=1684246528i,slab=1397305344i,sreclaimable=1080123392i,sunreclaim=317181952i,swap_cached=0i,swap_free=0i,swap_total=0i,total=33337114624i,used=3539451904i,used_percent=10.617151315944673,vmalloc_chunk=35183434657792i,vmalloc_total=35184372087808i,vmalloc_used=531607552i,write_back=0i,write_back_tmp=0i 1658909548000000000
cpu,cpu=cpu0,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu1,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu2,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=97.99999999813735,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=1.9999999999527063 1658909549000000000
cpu,cpu=cpu3,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu4,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu5,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu6,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu7,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu8,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu9,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=98.03921568448419,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=1.9607843137324836,usage_user=0 1658909549000000000
cpu,cpu=cpu10,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu11,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=98.03921568448419,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=1.9607843137324836 1658909549000000000
cpu,cpu=cpu12,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu13,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=97.99999999813735,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=2.0000000000436557 1658909549000000000
cpu,cpu=cpu14,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=97.99999999813735,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=1.999999999998181,usage_user=0 1658909549000000000
cpu,cpu=cpu15,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu16,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu17,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu18,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu19,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=98.03921570686315,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=1.9607843140908965 1658909549000000000
cpu,cpu=cpu20,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu21,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu22,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu23,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=100,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0,usage_user=0 1658909549000000000
cpu,cpu=cpu-total,host=LINGSHI-DEV-EDGENODE-04 usage_guest=0,usage_guest_nice=0,usage_idle=99.50083194247526,usage_iowait=0,usage_irq=0,usage_nice=0,usage_softirq=0,usage_steal=0,usage_system=0.2495840265832172,usage_user=0.2495840265832172 1658909549000000000

输出到 influxdb

安装 influxdb 1.8

拉取 influxdb 1.8

docker pull influxdb:1.8

启动 influxdb 1.8

docker run -d -p 8083:8083 -p 8086:8086 --name influxdb-test  influxdb:1.8

使用 influxdb studio 连接 influxdb ,点击地址下载 influxdb studio https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1 启动客户端连接。

在这里插入图片描述

修改 telegraf 配置

vim etc/telegraf/telegraf.conf

定位到[outputs.influxdb], 把 urls 和 database 参数注释去掉,如下:

# Configuration for sending metrics to InfluxDB                                                                                                                                                                                                                             
[[outputs.influxdb]]                                                                                                                                                                                                                                                        
  ## The full HTTP or UDP URL for your InfluxDB instance.                                                                                                                                                                                                                   
  ##                                                                                                                                                                                                                                                                        
  ## Multiple URLs can be specified for a single cluster, only ONE of the                                                                                                                                                                                                   
  ## urls will be written to each interval.                                                                                                                                                                                                                                 
  # urls = ["unix:///var/run/influxdb.sock"]                                                                                                                                                                                                                                
  # urls = ["udp://127.0.0.1:8089"]                                                                                                                                                                                                                                         
  urls = ["http://127.0.0.1:8086"]                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                            
  ## The target database for metrics; will be created as needed.                                                                                                                                                                                                            
  ## For UDP url endpoint database needs to be configured on server side.                                                                                                                                                                                                   
  database = "telegraf"                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                            
  ## The value of this tag will be used to determine the database.  If this                                                                                                                                                                                                 
  ## tag is not set the 'database' option is used as the default.                                                                                                                                                                                                           
  # database_tag = ""           

启动 telegraf

该指令只收集cpu和内存的相关指标,出现如下内容, 10s为间隔进行采集。

./usr/bin/telegraf --config etc/telegraf/telegraf.conf --input-filter cpu:mem

出现以下日志说明已经进入采集;

2022-07-27T13:01:08Z I! Starting Telegraf 1.23.3
2022-07-27T13:01:08Z I! Loaded inputs: cpu mem
2022-07-27T13:01:08Z I! Loaded aggregators:
2022-07-27T13:01:08Z I! Loaded processors:
2022-07-27T13:01:08Z I! Loaded outputs: influxdb
2022-07-27T13:01:08Z I! Tags enabled: host=LINGSHI-DEV-EDGENODE-04
2022-07-27T13:01:08Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:“LINGSHI-DEV-EDGENODE-04”, Flush Interval:10s

查看influxdb存储的数据

查看 influxdb studio 可以看到cpu和mem表,查询可以看到对应的数据已经存储。
在这里插入图片描述

grafana 展示数据

docker 安装 grafana

docker run -d --name=grafana -p 3000:3000 grafana/grafana

访问 grafana http://10.1.253.108:3000 端口默认是3000,默认账号密码是:admin/admin。
在这里插入图片描述

设置influxdb数据源码,填写url和database。
在这里插入图片描述

点击保存和测试,出现两个绿色即可。

在这里插入图片描述

生成监控展示图,点击导入按钮。

在这里插入图片描述

填写监控展示图的模板,这里推荐两个id:5955、1443,点击加载即可。
在这里插入图片描述

填写名称和influxdb,点击导入即可。
在这里插入图片描述
出现下图说明数据已经被加载到 grafana 。
在这里插入图片描述

docker 容器内运行

软件说明

  • 操作系统:CentOS Linux release 7.9.2009 (Core)
  • docker-version:Docker version 20.10.12, build e91ed57

启动服务

docker run  --name=telegraf -d   -v /:/hostfs:ro     -v /root/telegraf-docker/telegraf:/etc/telegraf/telegraf.conf     \
-e HOST_ETC=/hostfs/etc     -e HOST_PROC=/hostfs/proc     \
-e HOST_SYS=/hostfs/sys     -e HOST_VAR=/hostfs/var     \
-e HOST_RUN=/hostfs/run     -e HOST_MOUNT_PREFIX=/hostfs     -e GODEBUG=netdns=cgo     telegraf

启动日志如下:

2022-07-28T09:22:45Z I! Using config file: /etc/telegraf/telegraf.conf
2022-07-28T09:22:45Z I! Starting Telegraf 1.23.3
2022-07-28T09:22:45Z I! Loaded inputs: cpu disk diskio kernel mem processes swap system
2022-07-28T09:22:45Z I! Loaded aggregators:
2022-07-28T09:22:45Z I! Loaded processors:
2022-07-28T09:22:45Z I! Loaded outputs: influxdb
2022-07-28T09:22:45Z I! Tags enabled: host=8fb0f45cb83f
2022-07-28T09:22:45Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:“8fb0f45cb83f”, Flush Interval:10s