telegraf input的配置

本文提供了一套全面的系统监控配置方案,包括操作系统基础监控、Docker容器、MySQL、HAProxy、Nginx、Kafka、ZooKeeper、Redis、HTTP网站、Ceph等多个方面的监控配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.操作系统基础监控指标配置标准
基础监控使用通用的全局配置文件telegraf.conf,以下只贴上采集器input部分代码

telegraf -config /etc/telegraf/telegraf.d/telegraf.conf -input-filter http_response -test

# Read metrics about cpu usage [[inputs.cpu]] interval
= “60s” percpu = true totalcpu = true fielddrop = [“time*”] # Read metrics about disk usage by mount point [[inputs.disk]] interval = “10m” # mount_points = [“/”] ignore_fs = [“tmpfs”, “devtmpfs”] # Read metrics about disk IO by device [[inputs.diskio]] interval = “60s” # Get kernel statistics from /proc/stat [[inputs.kernel]] interval = “10m” # Read metrics about memory usage [[inputs.mem]] interval = “10m” # Get the number of processes and group them by status [[inputs.processes]] interval = “10m” fielddrop = [“wait”,”idle”,”unknown”] # Read metrics about swap memory usage [[inputs.swap]] interval = “1h” fieldpass = [“used_percent”] # Read metrics about system load & uptime [[inputs.system]] interval = “2m” # # Read metrics about network interface usage [[inputs.net]] interval = “60s” fieldpass = [“packets_*”,”bytes_*”,”drop_*”,”err_*”] # # Read TCP metrics such as established, time wait and sockets counts. [[inputs.netstat]] interval = “5m” fielddrop = [“tcp_none”,”tcp_closing”,”tcp_close*”] # # Read ping metrics [[inputs.ping]] urls = [“www.qq.com”] count = 1 ping_interval = 0.0 timeout = 0.0 interface = “eth0” 2.docker容器监控配置标准 对于基础监控之外的指标监控,需要使用新的配置文件,指定采集器的采集标准和配置,以及输出数据库(可选非必要),下同。 [[inputs.docker]] interval = “5m” endpoint = “unix:///var/run/docker.sock” container_names = [] timeout = “10s” perdevice = true total = false 3.mysql监控配置标准 # Read metrics from one or many mysql servers [root@10-19-6-138 telegraf.d]# cat telegraf_mysql.conf
[[inputs.mysql]]
  interval = "5m" 采集频率
  servers = ["root:kgzg789@tcp(127.0.0.1:3306)/?tls=false"] 采集配置
  perf_events_statements_digest_text_limit  = 120
  perf_events_statements_limit              = 250
  perf_events_statements_time_limit         = 86400
  table_schema_databases                    = [""]
  gather_table_schema                       = false
 
  gather_process_list                       = true
 
  gather_info_schema_auto_inc               = true
 
  gather_slave_status                       = true
  gather_binary_logs                        = false
  gather_table_io_waits                     = false
  gather_table_lock_waits                   = false
  gather_index_io_waits                     = false
  gather_event_waits                        = false
  gather_file_events_stats                  = false
  interval_slow                             = "30m"

4.haproxy配置标准 #vim /etc/telegraf/telegraf.d/mysql.conf [inputs.haproxy] interval = “60s” #input采集频率 servers = [“/var/run/haproxy.sock”] #input参数配置 5.nginx配置标准 [[inputs.nginx]] interval = “60s” urls = [“http://localhost/server_status”] 6.kafka配置标准 [[inputs.kafka_consumer]] topics = [“telegraf”] zookeeper_peers = [“localhost:2181”] consumer_group = “telegraf_metrics_consumers” metric_buffer = 100000 offset = “oldest” data_format = “influx” 7.zookeeper配置标准 [[inputs.zookeeper]] servers = [“:2181”] 8.ovirt配置标准 9.redis配置标准 # # Read metrics from one or many redis servers [[inputs.redis]] interval = “5m” unix:///var/run/redis.sock servers = [“tcp://localhost:6379”] 10.http网站监控 [[inputs.http_response]] interval = “1m” address = “http://abc.com” response_timeout = “15s” method = “GET” follow_redirects = true 11.Ceph监控 [[inputs.ceph]] interval = ‘1m’ ceph_binary = “/usr/bin/ceph” socket_dir = “/var/run/ceph” mon_prefix = “ceph-mon” osd_prefix = “ceph-osd” socket_suffix = “asok” ceph_user = “client.admin” ceph_config = “/etc/ceph/ceph.conf” gather_admin_socket_stats = true gather_cluster_stats = false 12.ping监控 单独使用场景:主要作为WAN链路监控,URL监控的监测手段 [[inputs.ping]] urls = [“www.qq.com”] count = 1 ping_interval = 0.0 timeout = 0.0 interface = “eth0” 13.tcp端口监控 使用场景:主要作为本机端口应用监控 # # Generic TCP listener [[inputs.tcp_listener]] service_address = “:8094” allowed_pending_messages = 10000 max_tcp_connections = 250 data_format = “influx” 14.端口流量监控 使用场景:主要作为入口或者外出服务器或者防火墙的端口流量监控 15.IPMI监控 使用场景:主要作为物理机器基础电力设施的指标监控 # #IPMI1# # [[inputs.ipmi_sensor]] servers = [“root:password@lanplus(10.8.81.15)”] 16.http-json格式监控 使用场景:在特殊应用无任何匹配模板时,可使用json格式化数据后进行指标收集; # [[inputs.httpjson]] name = “webserver_stats” servers = [ “http://localhost:9999/stats/”, “http://localhost:9998/stats/”, ] method = “GET” tag_keys = [ “my_tag_1”, “my_tag_2” ] 17.自定义sh脚本监控 使用场景:在以上都没有可用的监控采集配置外,可以使用自定义脚本格式收集指标; [[inputs.exec]] commands = [“/tmp/test.sh”,] timeout = “15s” data_format = “json” name_suffix = “_mycollector” 18.SQLserver监控 使用场景:用于监控SQLserver数据库性能 [[inputs.sqlserver]] servers = [ “Server=192.168.1.30;Port=1433;User Id=telegraf;Password=T$l$gr@f69*;app name=dbname;log=1;” ]

原文:http://www.lvkaineng.com/235.html

Telegraf 是一个强大的服务器代理,用于收集和报告指标。它支持多种输出插件,可以将数据发送到不同的目的地,比如 InfluxDB、Prometheus 或者其他监控系统。下面将详细介绍如何配置 Telegraf 以及一些基本的使用教程。 ### 配置 Telegraf 在安装了 Telegraf 之后,通常需要创建或修改其配置文件来指定输入和输出插件。默认情况下,Telegraf 的主配置文件位于 `/etc/telegraf/telegraf.conf`。你可以通过以下命令生成一个包含特定输入插件(如 CPU、内存、磁盘等)和输出插件(如 InfluxDB)的配置文件: ```bash telegraf --input-filter cpu:mem:disk:diskio:net --output-filter influxdb config > telegraf.conf ``` 这个命令会生成一个配置文件,其中包含了对 CPU 使用率、内存使用情况、磁盘信息、磁盘 I/O 和网络活动的监控,并且这些数据会被配置为发送到 InfluxDB 数据库[^2]。 如果你想要手动编辑配置文件,你需要打开 `/etc/telegraf/telegraf.conf` 文件并根据你的需求调整输入和输出插件部分。例如,要添加一个新的输入插件,你可以在 `[agent]` 段落下的 `[[inputs]]` 区域中加入相应的配置。同样地,对于输出插件,则是在 `[[outputs]]` 区域进行设置。 ### 启动与运行 Telegraf 一旦配置完成,可以通过以下命令启动 Telegraf: ```bash sudo telegraf -config /etc/telegraf/telegraf.conf ``` 这将会使用你刚创建的配置文件来启动 Telegraf 服务。如果一切正常,Telegraf 将开始定期从定义的源收集数据,并按照配置将它们发送到指定的目的地。 ### 监控与故障排查 为了确保 Telegraf 正确工作,你应该检查日志输出以确认没有错误发生。此外,还可以查看 Telegraf 提供的内部度量标准,这些度量可以帮助诊断问题或者优化性能。 ### 自定义脚本 除了内置的输入插件外,Telegraf 还允许用户编写自定义脚本以获取额外的数据。这可以通过 exec 输入插件实现,该插件可以执行外部程序并读取它们的标准输出作为数据源。这种灵活性使得 Telegraf 能够适应几乎任何监控场景。 ### 示例:使用 Python 脚本来收集自定义指标 假设我们有一个简单的 Python 脚本,用来收集某个应用的自定义指标: ```python #!/usr/bin/env python3 import json print(json.dumps({"application": {"custom_metric": 42}})) ``` 然后,在 Telegraf 配置文件中添加如下内容以启用此脚本作为数据源: ```toml [[inputs.exec]] commands = ["/path/to/your_script.py"] name_suffix = "_custom" data_format = "json" ``` 这样,Telegraf 就会在每次采集周期运行这个脚本,并处理返回的 JSON 格式数据。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值