Counter - Collector

About

Metrics collector query and collects metrics in order to be able to send them to a metrics server

Log Collector may also derived, create and load metrics.

The list below may mix metrics and log collector.

List

Instrumentation

In a instrumented application, reporter are a client piece of code which:

  • process its internal registry's metrics periodically
  • and publish the metrics to be queried or send them

Agent

Agent are daemon that:

  • collects system and application performance metrics periodically from instrumented application
  • and provides mechanisms to store/send the values in a variety of ways.

Pipeline

Pipeline agent are agent where you can create a pipeline with input and ouput

Name Language OS Description
Vector (DataDog) Rust Linux and Windows
MetricBeat (Elastic Metric Oriented Beat Module) Go Linux and Windows Only Elastic Search and Logstash Output
FileBeat (Elastic Log Oriented Beat Module) Go Linux and Windows Only Elastic Search and Logstash Output
LogStash (Elastic Log Oriented) Java / Ruby Linux and Windows
Fluentd (Calyptia) C Linux and Windows
FluentBit (Calyptia) C Linux and Windows Fluentd successor with smaller memory footprint 1)
Telegraf (Influx) Go Linux and Windows
collectd C Only Linux

Beat 2)are Elastic tools with a limited set of output 3)(mostly Elastic Search and Logstash) with the goal to be easy and declarative (for instance, configuration and dashboard are already provided by application monitored)

Server

Server does not query the source but listen to accept metrics from client. Client must run and sends metrics to the daemon.

Name Language OS Description
Riemann Clojure ? monitors distributed systems. A network event stream processing system

Loss Agent

Loss agent are agent that collect metrics and are not part of a monitoring platform.

Name Description
Prometheus Exporter Export Metrics in a http page. The server scrapes the metrics page (It can forward the metrics instead of storing them)

Platform Agent

All Monitor platform have agent that will collect metrics.

Example:

Snmp

This collector works mostly via the SNMP protocol to gather metrics.

Name Language OS Description
Cacti Php / SNMP Linux and Windows Network monitoring: There is only one client called Poller 4) and is run by cron to collect mostly SNMP data, write only to RRD/MySQL database
Munin Perl /SNMP ? Network Monitoring: Write only to RRD
Jrds Java Linux and Windows Write only to RRD - See probes (collect, store, graph) config

Command line Utility

Command line utility can also be used and are OS dependent.

For instance:

Protocol

Every protocol (language) can be used to query counter but there is some specialized to do that such as:

Task Runner