采集-telegraf

1 介绍

Telegraf是一款Go语言编写的metrics收集、处理、聚合的代理
其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的metrics收集
Telegraf由4个独立的插件驱动

Input Plugins
输入插件,收集系统、服务、第三方组件的数据
Processor Plugins
处理插件,转换、处理、过滤数据
Aggregator Plugins
聚合插件,数据特征聚合
Output Plugins
输出插件,写metrics数据

在目前的了解中,tg的input似乎都是探测式的,而无法接受app抛出来的数据。所以在实用性上收到了很大的局限,只能适用于可以自带status模块的应用。

但相比zabbix,对主流开源应用的探测支持的更好,并且无需安装agent。

2 安装配置

从官网下载rpm包,然后rpm安装,然后systemctl启动

telegraph会和influxDB的HTTP APi通信来写入数据。

telegraf-1.5.1-1.x86_64.rpm

  

[root@webmaster data]# ps aux|grep tele
telegraf   1033  0.3  1.4 177940 22512 ?        Ssl  11:32   0:42 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
root      11354  0.0  0.0 112704   964 pts/0    R+   14:31   0:00 grep --color=auto tele
[root@webmaster data]# netstat -ntp|grep 1033
tcp        0      0 127.0.0.1:38512         127.0.0.1:8086          ESTABLISHED 1033/telegraf 

  

3 INPUT-REDIS测试

官方支持redis监控,原理是探测型,相当于定期对目标redis执行info,然后把数据output到存储里。

[[inputs.redis]]
  servers = ['tcp://IP:PORT']
#在rpm安装的tg里,conf文件在/etc/telegraf/下。
#配置这个input参数,tg就会自己去拉数据

  

./telegraf --config telegraf.conf --input-filter redis --test
* Plugin: redis, Collection 1
> redis,server=localhost,port=6379,replication_role=master,host=host keyspace_hitrate=1,clients=2i,blocked_clients=0i,instantaneous_input_kbps=0,sync_full=0i,pubsub_channels=0i,pubsub_patterns=0i,total_net_output_bytes=6659253i,used_memory=842448i,total_system_memory=8351916032i,aof_current_rewrite_time_sec=-1i,rdb_changes_since_last_save=0i,sync_partial_err=0i,latest_fork_usec=508i,instantaneous_output_kbps=0,expired_keys=0i,used_memory_peak=843416i,aof_rewrite_in_progress=0i,aof_last_bgrewrite_status="ok",migrate_cached_sockets=0i,connected_slaves=0i,maxmemory_policy="noeviction",aof_rewrite_scheduled=0i,total_net_input_bytes=3125i,used_memory_rss=9564160i,repl_backlog_histlen=0i,rdb_last_bgsave_status="ok",aof_last_rewrite_time_sec=-1i,keyspace_misses=0i,client_biggest_input_buf=5i,used_cpu_user=1.33,maxmemory=0i,rdb_current_bgsave_time_sec=-1i,total_commands_processed=271i,repl_backlog_size=1048576i,used_cpu_sys=3,uptime=2822i,lru_clock=16706281i,used_memory_lua=37888i,rejected_connections=0i,sync_partial_ok=0i,evicted_keys=0i,rdb_last_save_time_elapsed=1922i,rdb_last_save_time=1493099368i,instantaneous_ops_per_sec=0i,used_cpu_user_children=0,client_longest_output_list=0i,master_repl_offset=0i,repl_backlog_active=0i,keyspace_hits=2i,used_cpu_sys_children=0,cluster_enabled=0i,rdb_last_bgsave_time_sec=0i,aof_last_write_status="ok",total_connections_received=263i,aof_enabled=0i,repl_backlog_first_byte_offset=0i,mem_fragmentation_ratio=11.35,loading=0i,rdb_bgsave_in_progress=0i 1493101290000000000
#要真正生效,好像只能重启。
#在重启前,先做一下测试,看看是否正常拉到数据

  

原文地址:https://www.cnblogs.com/jabbok/p/9969175.html