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 #要真正生效,好像只能重启。 #在重启前,先做一下测试,看看是否正常拉到数据