...
Parameters\Tools | Collectd | Ceilometer Polling agent. | Monasca | SNAP | node-exporter and other exporters | sensu client: metric collection check 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 | 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. | 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). | Same as ceilometer or monasca | Rx and Tx. MBs | ||||||||||||
Libvirt Metrics | YES - | YES | YES | YES | NO | YES | ||||||||||||
Container resource usage Monitoring | YES | NO | NO | Docker | Docker | Docker | ||||||||||||
Databases Support - Writing to and Monitoring : [Influxdb, MongoDb, MySql, PostgreSql, Carbon(graphite), Prometheus, RRDCache,Redis, TSDB] | YES for all | MySql, PostgreSql, MongoDb - monitoring | Influxdb, Vertica, MySql, PostgreSql, Cassandra - monitoring | Monitoring only | Writing - Influxdb Monitoring - All. | Monitoring - All | ||||||||||||
Encryption Support | YES | NO | NO | NO | YES | |||||||||||||
Extensibility - multilanguage support [Python, Java, Golang, C/C++, Lua] | YES for all | Java | Java | Java, Python | ||||||||||||||
Interoperability [with other monitoring solutions] | Sensu, statsd, telegraf? | Nagios zabbix | ceilometer | Collectd | Nagios | |||||||||||||
Write to Message Queues and protocols (AMQP, Kafka, MQTT, NSQ) | YES for ALL | AMQP | Kafka | NO | kafka, MQTT, NSQ | |||||||||||||
Metrics Pub/sub Mode Support | YES | YES | YES | |||||||||||||||
Metrics Req/Resp Mode Support | NO | NO | NO | |||||||||||||||
Support for Events (polling, Pushing) | Yes | NO (1) | NO (1) | |||||||||||||||
Notification Support | YES | NO (1) | NO (1) | NO (1) | ||||||||||||||
Logging Support | YES | YES | YES | YES | ||||||||||||||
Hypervisor metrics | YES | YES | ||||||||||||||||
Log-File Analysis | YES | NO | NO | |||||||||||||||
Other Writing Support: [CSV, HTTP, RRD, UnixSocket] | ALL that are listed. | NO | NO | |||||||||||||||
Transport Protocol | Depends on the end point it's communicating with. | TCP* | TCP* | TCP, UDP | ||||||||||||||
Data-Format [XML, JSON, etc] | JSON, Custom, XML | JSON XML | JSON | Custom | ||||||||||||||
Data-model | Custom | KVP | KVP | Custom | ||||||||||||||
Hardware: IPMI, Battery, Sensors, | YES for all | IPMI | IPMI | |||||||||||||||
Metric Types: Guage, Derive, Counter, absolute | YES for all | Guage cumulative delta | ||||||||||||||||
Language (written) | C | Python | Python | Ruby | Go | |||||||||||||
Last-Updated | 2017 | 2017 | 2017 | |||||||||||||||
Commercial Versions? | NO | NO | ? | No | ||||||||||||||
Resource consumption by the agent | Binary: 617Kb
| |||||||||||||||||
License | MIT/GPL v2 or later | Apache License, Version 2.0 | Apache License, Version 2.0 | |||||||||||||||
Webserver monitoring [Nginix, Apache] | YES for all | Apache | Apache | Nginix, Apache, Passenger varnish | ||||||||||||||
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 | |||||||||||||
Deployments: servers, VMs, containers, | ALL | ALL | ALL | |||||||||||||||
Other Services Support | statsd, webhooks |
...
(2) Custom solution exist, and may not be part of main distribution.
(3) Support with strong dependency on additional tool/library.
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? | |