利用Telegraf+influxdb+grafana构建分布式监控平台。架构图如下:
Telegraf
https://www.influxdata.com/time-series-platform/telegraf/
https://github.com/influxdata/telegraf
Telegraf是一个用Go编写的代理程序,用于收集,处理,汇总和编写度量标准。
设计目标是使插件系统具有最小的内存占用量,以便社区中的开发人员可以轻松地添加对从本地或远程服务收集指标的支持。
Telegraf是插件驱动,并有4个不同的插件的概念:
Input Plugins
- aerospike
- amqp_consumer (rabbitmq)
- apache
- aws cloudwatch
- bcache
- bond
- cassandra
- ceph
- cgroup
- chrony
- consul
- conntrack
- couchbase
- couchdb
- DC/OS
- disque
- dmcache
- dns query time
- docker
- dovecot
- elasticsearch
- exec (generic executable plugin, support JSON, influx, graphite and nagios)
- fail2ban
- filestat
- fluentd
- graylog
- haproxy
- hddtemp
- http_response
- httpjson (generic JSON-emitting http service plugin)
- internal
- influxdb
- interrupts
- ipmi_sensor
- iptables
- jolokia (deprecated, use jolokia2)
- jolokia2
- kapacitor
- kubernetes
- leofs
- lustre2
- mailchimp
- memcached
- mesos
- minecraft
- mongodb
- mysql
- net_response
- nginx
- nginx_plus
- nsq
- nstat
- ntpq
- openldap
- opensmtpd
- pf
- phpfpm
- phusion passenger
- ping
- postfix
- postgresql_extensible
- postgresql
- powerdns
- procstat
- prometheus (can be used for Caddy server)
- puppetagent
- rabbitmq
- raindrops
- redis
- rethinkdb
- riak
- salesforce
- sensors
- smart
- snmp
- snmp_legacy
- solr
- sql server (microsoft)
- teamspeak
- tomcat
- twemproxy
- unbound
- varnish
- zfs
- zookeeper
- win_perf_counters (windows performance counters)
- win_services
- sysstat
- system
- cpu
- mem
- net
- netstat
- disk
- diskio
- swap
- processes
- kernel (/proc/stat)
- kernel (/proc/vmstat)
- linux_sysctl_fs (/proc/sys/fs)
Output Plugins
- influxdb
- amon
- amqp (rabbitmq)
- aws kinesis
- aws cloudwatch
- cratedb
- datadog
- discard
- elasticsearch
- file
- graphite
- graylog
- instrumental
- kafka
- librato
- mqtt
- nats
- nsq
- opentsdb
- prometheus
- riemann
- riemann_legacy
- socket_writer
- tcp
- udp
- wavefront
InfluxDB
https://www.influxdata.com/time-series-platform/influxdb/
https://github.com/influxdata/influxdb
InfluxDB是一个开源的时间序列数据库, 没有外部依赖。记录指标,事件和执行分析很有用。
Grafana
https://grafana.com/
https://github.com/grafana/grafana
Grafana是一个开源的,功能丰富的指标仪表板。
特征
1. 可视化
2. 支持多预警方式
3. 支持多数据源
4. 可扩展,社区活跃