...
Parameters\Tools | Collectd | Ceilometer Polling agent. | Monasca | SNAP | node-exporter and other exporters | sensu client: metric collection plugins | munin | telegraf | NPRE + Plugins | diamond | centreon | icinga | OpenNMS | NSClient++ | Elastic Beats | Reimann | Note: 1. For some parameters the answer could be just YES/NO, 2. Whereas, for some we may have to provide a description/details 3. For some we may have to choose from the list [], whereas for some we may append a value to the list. 4. For some parameters, please provide the number of 'actual metrics' provided under that category. For example, collectd would provide 12 metrics for Processes-category Use NA - If Not applicable. Use NK - If it is Not Known | |
Lowest Sampling Interval - (for transmitting over network) | can go down to a nano second resolution (1-sec) | |||||||||||||||||
CPU metrics | idle, system, wait, stolen, user (% & time), util, vcpus | idle, system, wait, stolen, user (% & time), util, vcpus | idle, system, wait, stolen, user (% & time) | idle, system, wait, stolen, user (% & time), util, vcpus | idle, system, wait, stolen, user (% & time), util, vcpus | Same as ceilometer or monasca | idle, system, wait, user, nice | |||||||||||
Disk IO metrics | Read and write (bytes, rate, time, sectors) | read and write (bytes, rate, req) | read and write (bytes, rate, req) | read and write (bytes, rate, req) | Read and write (bytes, rate, time, sectors) | Same as ceilometer or monasca | read and write (bytes, rate, req) | |||||||||||
Memory metrics | usage, bandwidth | free, swap, total, used | free, swap, total, used | free, swap, total, used (Mb and percentages) | Same as ceilometer or monasca | free, total, swap, active, dirty, inactive, buffers. | ||||||||||||
Process metrics | I/O, memory, CPU-Usage, count. | NO | NO | Same as collectd. | status, thread-count, uptime. IO, memory, cpu-usage. connections. | btime, ctxt, processes, blocked, running | ||||||||||||
Network Interface Metrics | Interface plugin: Standard 4 fields of rx/tx (octets, packets, errors, dropped). Netlink plugin: uses netlink sockets and covers others | Standard 4 fields of rx/tx (octets, packets, errors, dropped). | Standard 4 fields of rx/tx (octets, packets, errors, dropped). | Standard 4 fields of rx/tx (octets, packets, errors, dropped). | Standard 4 fields of rx/tx (octets, packets, errors, dropped). Also includes, fifo, compressed, and frame stats. | Same as ceilometer or monasca | Rx and Tx. MBs | |||||||||||
Libvirt Metrics | YES - | YES | YES | YES | NO | NO | YES | |||||||||||
Container resource usage Monitoring | YES | NO | NO | Docker | Docker | Docker | Docker | |||||||||||
Databases Monitoring : [Influxdb, MongoDb, MySql, PostgreSql, Carbon(graphite), Prometheus, RRDCache,Redis, TSDB] | YES for all | MySql, PostgreSql, MongoDb | Influxdb, Vertica, MySql, PostgreSql, Cassandra | ALL (4) | All | All. | All | |||||||||||
Encryption Support | YES | NO | NO | NO | NO | YES | ||||||||||||
Extensibility - multilanguage support [Python, Java, Golang, C/C++, Lua] | YES for all | Java | Java | Java, Python, Ruby | Go, Python. | |||||||||||||
Interoperability [with other monitoring solutions] | Sensu, statsd, telegraf? | Nagios zabbix | ceilometer | Collectd | Nagios, Zabbix. | Nagios | ||||||||||||
Write to Message Queues and protocols (AMQP, Kafka, MQTT, NSQ) | YES for ALL | AMQP | Kafka | NO | AMQP | kafka, MQTT, NSQ | ||||||||||||
Metrics Pub/sub Mode Support (Metrics push/pull mode support ?) | YES | YES | YES | YES | YES | |||||||||||||
Metrics Req/Resp Mode Support | NO | NO | NO | NO | YES | |||||||||||||
Support for Events (polling, Pushing) | Yes | NO (1) | NO (1) | NO | YES | |||||||||||||
Notification Support | YES | NO (1) | NO (1) | NO (1) | YES | |||||||||||||
Logging Support | YES | YES | YES | YES | YES | |||||||||||||
Hypervisor metrics | YES | NO | NO | YES | YES (XenTop) | |||||||||||||
Log-File Analysis | YES | NO | NO | YES (mtail) | NO | |||||||||||||
Other Writing Support: [CSV, HTTP, RRD, UnixSocket] | ALL that are listed. | NO | NO | HTTP | NO | |||||||||||||
Transport Protocol | Depends on the end point it's communicating with. | TCP* | TCP* | TCOTCP | TCP, UDP | |||||||||||||
Data-Format [XML, JSON, etc] | JSON, Custom, XML | JSON XML | JSON | JSON ? | JSON | Custom | ||||||||||||
Data-model | Custom | KVP | KVP | KVP | KVP | Custom | ||||||||||||
Hardware: IPMI, Battery, Sensors, | YES for all | IPMI | IPMI | YES for all | YES - IPMI | |||||||||||||
Metric Types: Guage, Derive, Counter, absolute | YES for all | Guage cumulative delta | Guage, Counter, Histogram, summary | |||||||||||||||
Language (written) | C | Python | Python | Go | Ruby | Go | ||||||||||||
Last-Updated | 2017 | 2017 | 2017 | Varies (5) | Varies (5) | |||||||||||||
Commercial Versions? | NO | NO | ? | NO | YES | No | ||||||||||||
Resource consumption by the agent | Binary: 617Kb
| |||||||||||||||||
License | MIT/GPL v2 or later | Apache License, Version 2.0 | Apache License, Version 2.0 | Multiple (5) | MIT | |||||||||||||
Webserver monitoring [Nginix, Apache] | YES for all | Apache | Apache | Nginix, Apache, Passenger varnish | Apache, Nginix, Unicorn. | |||||||||||||
Platforms - OS? | Supports windows, linux, freebsd, etc. | Linux | Linux | Unix Windows(3) | Linux, Windows, | |||||||||||||
Configuration Tool support [Puppet, Chef, Ansible, Salt] | YES for all | Puppet Chef | Puppet, Chef, Ansible, | Yes for all. | YES for all | |||||||||||||
Deployments: servers, VMs, containers, | ALL | ALL | ALL | ALL | ALL. | |||||||||||||
Other Services monitoring: (DHCP, FTP, NTP, HAProxy, Consul) | YES for all. |
...
(3) Support with strong dependency on additional tool/library.
(4) Supports more-options than the ones provided in column-1
(5) A single value cannot be entered due development of logically-independent modules by different community groups.
Inference Questions
The Questions | The Answer |
Lowest Interval: Which agent supports the lowest sampling interval, and what is the value? | |
Interoperability: Which agent is 'most interoperable'? (Work with maximum of 'servers' (collection node) | |
Large-scale deployment: Which agent is ideal for large-scale monitoring (Provide description in a separate page, if needed) | |
Low-footprint: Which agent has the lowest footprint (memory and CPU)? | |
Metrics: Which agent supports maximum number of metrics? | |
Gaps: Are there any metrics that are not supported by any of the agent and that are relavant to NFV? | |
Which agent is ideal for realtime analytics?- [Support for maximum scalable datastores, visualization tools and Analytics engines?] | |
Is any of the agents been used in large-scale real-world deployments? If so, please provide the details on the performance. | |
Which agent has the least/maximum dependency - Libraries, OS/Kernel versions, etc.? | |
Which agent provides maximum 'freedom' w.r.t. Licenses (core agent + plugins)? | |
Which agent is best for the following datastores: Influxdb, Graphite, ElasticSearch? | |
Which agent support dynamic configuration? | |