Bleemeo agent can discover services running on your system and automatically monitor specific metrics for such services. For example with Apache HTTP server, the number of requests served is automatically monitored. For each service detected a tag with the service name is created which allows to filter your agents by service running on them.
Agent also checks TCP sockets for each services. By default a simple TCP connection is used to test the service, but some service support specific check. See service details below for supported specific checks. Those checks are executed every minute. They may be run earlier for TCP service: Bleemeo agent keeps a connection open with the service and if that connection is broken the check is executed immediately.
If you have any service not listed on this page, you can define a custom check or define a custom metric.
If you want to disable metrics for a service, you can ignore some services.
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a HTTP check if the service listen on port 80.
To enable metrics gathering, ensure Bleemeo agent could access Apache status on
the URL http://server-address/server-status?auto
. This
should be done by default with Apache on Ubuntu or Debian. If not, this
usually means to add the following to your default virtual host
(e.g. the first file in /etc/apache2/sites-enabled/
):
LoadModule status_module /usr/lib/apache2/modules/mod_status.so<Location /server-status>SetHandler server-status# You may want to limit access only to Bleemeo agent# require ip IP-OF-BLEEMEO-AGENT/32</Location>ExtendedStatus On
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Apache running outside any container- id: "apache"address: "127.0.0.1"port: 80 # HTTP listenner, Agent don't support HTTPS here# For a Apache running in a Docker container- id: "apache"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 80 # HTTP listenner, Agent don't support HTTPS here
Agent gathers the following metrics:
Metric | Description |
---|---|
apache_busy_workers | Number of Apache worker busy |
apache_busy_workers_perc | Apache worker busy in percent |
apache_bytes | Network traffic sent by Apache in bytes per second |
apache_connections | Number of client connections to Apache server |
apache_idle_workers | Number of Apache workers waiting for an incoming request |
apache_max_workers | Maximum number of Apache worker configured |
apache_requests | Number of requests per second |
apache_status | Status of Apache |
apache_uptime | Time spent since Apache server start in seconds |
Apache keeps track of server activity in a structure known as the scoreboard. There is a slot in the scoreboard for each worker and it contains the status of this worker. The size of the scoreboard is the maximum of concurrent users that Apache could server.
Metric | Description |
---|---|
apache_scoreboard_waiting | Number of workers waiting for an incoming request. It's the same as apache_idle_workers |
apache_scoreboard_starting | Number of workers starting up |
apache_scoreboard_reading | Number of workers reading an incoming request |
apache_scoreboard_sending | Number of workers processing a client request |
apache_scoreboard_keepalive | Number of workers waiting for another request via keepalive |
apache_scoreboard_dnslookup | Number of workers looking up a hostname |
apache_scoreboard_closing | Number of workers closing their connection |
apache_scoreboard_logging | Number of workers writing in log files |
apache_scoreboard_finishing | Number of workers gracefully finishing a request |
apache_scoreboard_idle_cleanup | Number of idle workers being killed |
apache_scoreboard_open | Number of slots with no worker in the scoreboard |
Apache do not start all workers when they are not needed (e.g. if there is enough workers waiting, Apache reuse them and don't start a new one).
The sum of all scoreboard items is the maximum of concurrent requests Apache can serve. This sum is calculated and stored in apache_max_workers metric.
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see Java Metrics for setup details.
In addition Bitbucket need to expose JMX over a TCP port. To enable JMX you can follow Enabling JMX counters for performance monitoring on Atlassian documentation.
Here is a summary for unauthenticated access:
-Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
to the JVM. Default Bitbucket startup-script accept them from JMX_OPTS or JAVA_OPTS environment variable.jmx.enabled=true
to $BITBUCKET_HOME/shared/bitbucket.propertiesWarning: this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
Bleemeo agent should auto-detect the JMX port, if some auto-detected parameters are wrong, you
can manually override them by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Bitbucket running outside any container- id: "bitbucket"address: "127.0.0.1"port: 7990jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"# For a Bitbucket running in a Docker container- id: "bitbucket"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 7990jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"
Agent gathers the following metrics:
Metric | Description |
---|---|
bitbucket_events | Number of events per second |
bitbucket_io_tasks | Number of events per second |
bitbucket_jvm_gc | Number of garbage collection per second |
bitbucket_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
bitbucket_jvm_gc_utilization | Garbage collection utilization in percent |
bitbucket_jvm_heap_used | Heap memory used in bytes |
bitbucket_jvm_non_heap_used | Non-Heap memory used in bytes |
bitbucket_pulls | Number of pulls per second |
bitbucket_pushes | Number of pushes per second |
bitbucket_queued_events | Number of events queued |
bitbucket_queued_scm_clients | Number of SCM clients queued |
bitbucket_queued_scm_commands | Number of SCM commands queued |
bitbucket_queued_request_time | Average time of request in milliseconds |
bitbucket_queued_requests | Number of requests per second |
bitbucket_queued_ssh_connections | Number of SSH connections per second |
bitbucket_status | Status of Bitbucket |
bitbucket_tasks | Number of scheduled tasks per second |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see Java Metrics for setup details.
In addition Cassandra need to expose JMX over a TCP port. To enable JMX you will need to:
JVM_OPTS=-Dcassandra.jmx.remote.port=7199
-Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.authenticate=false
to the JVM.Warning: this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
Bleemeo agent should auto-detect the JMX port, if some auto-detected parameters are wrong, you
can manually override them by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Cassandra running outside any container- id: "cassandra"address: "127.0.0.1"port: 9042jmx_port: 7199jmx_username: "cassandra" # by default, no authentication is donejmx_password: "cassandra"# For a Cassandra running in a Docker container- id: "cassandra"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 9042jmx_port: 7199jmx_username: "cassandra" # by default, no authentication is donejmx_password: "cassandra"
Agent gathers the following metrics:
Metric | Description |
---|---|
cassandra_bloom_filter_false_ratio | Number of false positive of the bloom filter in percent |
cassandra_jvm_gc | Number of garbage collection per second |
cassandra_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
cassandra_jvm_gc_utilization | Garbage collection utilization in percent |
cassandra_jvm_heap_used | Heap memory used in bytes |
cassandra_jvm_non_heap_used | Non-Heap memory used in bytes |
cassandra_read_requests | Number of read requests per second |
cassandra_read_time | Average time of read requests in millisecond |
cassandra_sstable | Number of SSTable |
cassandra_status | Status of Cassandra |
cassandra_write_requests | Number of write requests per second |
cassandra_write_time | Average time of write requests in millisecond |
Bleemeo also support for detailed monitoring of specific Cassandra tables. To enable this,
add the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Cassandra running outside any container- id: "cassandra"cassandra_detailed_tables:- "keyspace1.table1"- "keyspace2.table2"[...]# For a Cassandra running in a Docker container- id: "cassandra"instance: "CONTAINER_NAME"cassandra_detailed_tables:- "keyspace1.table1"- "keyspace2.table2"[...]
The following per-table metrics will be gathered:
Metric | Description |
---|---|
cassandra_bloom_filter_false_ratio | Number of false positive of the bloom filter in percent |
cassandra_read_requests | Number of read requests per second |
cassandra_read_time | Average time of read requests in millisecond |
cassandra_sstable | Number of SSTable |
cassandra_write_requests | Number of write requests per second |
cassandra_write_time | Average time of write requests in millisecond |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see Java Metrics for setup details.
In addition Confluence need to expose JMX over a TCP port. To enable JMX you can follow Live Monitoring Using the JMX Interface.
Here is a summary for unauthenticated access:
-Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
to the JVM. Default Confluence startup-script accept them from CATALINA_OPTS or JAVA_OPTS environment variable.Warning: this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
Bleemeo agent should auto-detect the JMX port, if some auto-detected parameters are wrong, you
can manually override them by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Confluence running outside any container- id: "confluence"address: "127.0.0.1"port: 8090jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"# For a Confluence running in a Docker container- id: "confluence"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 8090jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"
Agent gathers the following metrics:
Metric | Description |
---|---|
confluence_db_query_time | Example for database query time in millisecond |
confluence_jvm_gc | Number of garbage collection per second |
confluence_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
confluence_jvm_gc_utilization | Garbage collection utilization in percent |
confluence_jvm_heap_used | Heap memory used in bytes |
confluence_jvm_non_heap_used | Non-Heap memory used in bytes |
confluence_last_index_time | Time of last indexing task in millisecond |
confluence_queued_error_mails | Number of mails in error queued |
confluence_queued_index_tasks | Number of indexing tasks queued |
confluence_queued_mails | Number of mails queued |
confluence_queued_request_time | Average time of request in milliseconds |
confluence_queued_requests | Number of requests per second |
confluence_status | Status of Confluence |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a BIND running outside any container- id: "bind"address: "127.0.0.1"port: 53# For a BIND running in a Docker container- id: "bind"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 53
Only the metric from service check is produced:
Metric | Description |
---|---|
bind_status | Status of BIND |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a IMAP check if the service listen on port 143.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Dovecot running outside any container- id: "dovecot"address: "127.0.0.1"port: 143 # IMAP listenner, Agent don't support IMAPS here# For a Dovecot running in a Docker container- id: "dovecot"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 143 # IMAP listenner, Agent don't support IMAPS here
Only the metric from service check is produced:
Metric | Description |
---|---|
dovecot_status | Status of Dovecot |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a ejabberd running outside any container- id: "ejabberd"address: "127.0.0.1"port: 5672# For a ejabberd running in a Docker container- id: "ejabberd"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 5672
Only the metric from service check is produced:
Metric | Description |
---|---|
ejabberd_status | Status of ejabberd |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a HTTP check if the service listen on port 9200.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Elasticsearch running outside any container- id: "elasticsearch"address: "127.0.0.1"port: 9200# For a Elasticsearch running in a Docker container- id: "elasticsearch"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 9200
Agent gathers the following metrics:
Metric | Description |
---|---|
elasticsearch_status | Status of Elasticsearch |
elasticsearch_docs_count | Number of documents stored in all indices |
elasticsearch_jvm_gc | Number of garbage collection per second |
elasticsearch_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
elasticsearch_jvm_gc_utilization | Garbage collection utilization in percent |
elasticsearch_jvm_heap_used | Heap memory used in bytes |
elasticsearch_jvm_non_heap_used | Non-Heap memory used in bytes |
elasticsearch_size | Size of all indices in bytes |
elasticsearch_search | Number of search in a shard per seconds |
elasticsearch_search_time | Average time took by search in milliseconds |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a SMTP check if the service listen on port 25.
To enable metrics gathering, ensure Bleemeo agent could run mailq command.
This usually means to add the following to your exim configuration (e.g. /etc/exim4/conf.d/main/99_local
):
queue_list_requires_admin=false
You will then need to fresh configuration (warning: the following will lost any
local change in /etc/exim4/exim4.conf.template
):
update-exim4.conf.template --runupdate-exim4.confservice exim4 restart
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Exim running outside any container- id: "exim"address: "127.0.0.1"port: 25# For a Exim running in a Docker container- id: "exim"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 25
Agent gathers the following metrics:
Metric | Description |
---|---|
exim_status | Status of Exim |
exim_queue_size | Number of mails queued |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent needs access to HAProxy stats page and to known where it may find this page.
On HAProxy side, you will need to enable statistics page on a HTTP(S) frontend, for example:
frontend api-httpbind 0.0.0.0:80stats enablestats uri /statistics
On Bleemeo agent side, you need configure check by adding the following to
/etc/glouton/conf.d/99-local.conf
:
service:[...]# For a HAProxy running outside any container- id: "haproxy"address: "127.0.0.1"port: 80stats_url: "http://my-server/statistics"# For authenticated access, use# stats_url: "http://username:password@my-server/statistics"# For a HAProxy running in a Docker container- id: "haproxy"instance: "CONTAINER_NAME"address: "127.0.0.1"port: 80stats_url: "http://my-server/statistics"# For authenticated access, use# stats_url: "http://username:password@my-server/statistics"
Agent gathers the following metrics:
Metric | Description |
---|---|
haproxy_status | Status of HAProxy |
haproxy_act | Number of active servers |
haproxy_bin | Network traffic received from clients in bytes per second |
haproxy_bout | Network traffic sent to clients in bytes per second |
haproxy_ctime | Average time spent opening a connection in milliseconds |
haproxy_dreq | Number of request denied by HAproxy per second |
haproxy_dresp | Number of response denied by HAproxy per second |
haproxy_econ | Number of failed connection per second |
haproxy_ereq | Number of request in error per second |
haproxy_eresp | Number of response in error per second |
haproxy_qcur | Number of currently queued requests |
haproxy_qtime | Average time request spent in queue in milliseconds |
haproxy_req_tot | Number of HTTP request per second |
haproxy_rtime | Average response time in milliseconds |
haproxy_scur | Number of sessions opened |
haproxy_stot | Number of sessions per second |
haproxy_ttime | Average time of session in milliseconds |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a HTTP check if the service listen on port 8086.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a InfluxDB running outside any container- id: "influxdb"address: "127.0.0.1"port: 8086# For a InfluxDB running in a Docker container- id: "influxdb"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 8086
Only the metric from service check is produced:
Metric | Description |
---|---|
influxdb_status | Status of InfluxDB |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see Java Metrics for setup details.
In addition Confluence need to expose JMX over a TCP port. To enable JMX you need to:
-Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
to the JVM. Default JIRA startup-script accept them from CATALINA_OPTS or JAVA_OPTS environment variable.Warning: this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
Bleemeo agent should auto-detect the JMX port, if some auto-detected parameters are wrong, you
can manually override them by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a JIRA running outside any container- id: "jira"address: "127.0.0.1"port: 8080jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"# For a JIRA running in a Docker container- id: "jira"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 8080jmx_port: 3333jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"
Agent gathers the following metrics:
Metric | Description |
---|---|
jira_jvm_gc | Number of garbage collection per second |
jira_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
jira_jvm_gc_utilization | Garbage collection utilization in percent |
jira_jvm_heap_used | Heap memory used in bytes |
jira_jvm_non_heap_used | Non-Heap memory used in bytes |
jira_queued_request_time | Average time of request in milliseconds |
jira_queued_requests | Number of requests per second |
jira_status | Status of JIRA |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a Memcached check if the service listen on port 11211.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Memcached running outside any container- id: "memcached"address: "127.0.0.1"port: 11211# For a Memcached running in a Docker container- id: "memcached"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 11211
Agent gathers the following metrics:
Metric | Description |
---|---|
memcached_status | Status of Memcached |
memcached_command_get | Number of get request per second |
memcached_command_set | Number of set request per second |
memcached_connections_current | Number of client connection to Memcached |
memcached_items_current | Current number of items stored |
memcached_octets_rx | Network traffic received by Memcached in bytes per second |
memcached_octets_tx | Network traffic sent by Memcached in bytes per second |
memcached_ops_cas_hits | Number of successful CAS (Check-And-Set) request per second |
memcached_ops_cas_misses | Number of CAS (Check-And-Set) request against missing keys per second |
memcached_ops_decr_hits | Number of successful decr request per second |
memcached_ops_decr_misses | Number of decr request against missing keys per second |
memcached_ops_delete_hits | Number of successful delete request per second |
memcached_ops_delete_misses | Number of delete request against missing keys per second |
memcached_ops_evictions | Number of valid items removed from cache to free memory for new items per second |
memcached_ops_get_hits | Number of successful get request per second |
memcached_ops_get_misses | Number of get request against missing keys per second |
memcached_ops_incr_hits | Number of successful incr request per second |
memcached_ops_incr_misses | Number of incr request against missing keys per second |
memcached_ops_touch_hits | Number of successful touch request per second |
memcached_ops_touch_misses | Number of touch request against missing keys per second |
memcached_percent_hitratio | Hit ratio of get request in percent |
memcached_ps_count_threads | Number of worker threads |
memcached_uptime | Time spent since Memcache server start in seconds |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a MongoDB running outside any container- id: "mongodb"address: "127.0.0.1"port: 27017# For a MongoDB running in a Docker container- id: "mongodb"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 27017
Agent gathers the following metrics:
Metric | Description |
---|---|
mongodb_status | Status of MongoDB |
mongodb_open_connections | Number of client connections to Mongo server |
mongodb_net_in_bytes | Network traffic received by MongoDB in bytes per second |
mongodb_net_out_bytes | Network traffic sent by MongoDB in bytes per second |
mongodb_queued_reads | Number of clients waiting to read data from the MongoDB |
mongodb_queued_writes | Number of clients waiting to write data to the MongoDB |
mongodb_active_reads | Number of clients performing read operation |
mongodb_active_writes | Number of clients performing write operation |
mongodb_queries | Number of queries per second |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Mosquitto running outside any container- id: "mosquitto"address: "127.0.0.1"port: 1883 # MQTT listenner, Agent don't support MQTT-SSL here# For a Mosquitto running in a Docker container- id: "mosquitto"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 1883 # MQTT listenner, Agent don't support MQTT-SSL here
Only the metric from service check is produced:
Metric | Description |
---|---|
mosquitto_status | Status of Mosquitto |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, credentials are required. Bleemeo agent will find the credentials if:
MYSQL_ROOT_PASSWORD
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a MySQL running outside any container- id: "mysql"username: "USERNAME"password: "PASSWORD"address: "127.0.0.1"port: 3306# For a MySQL running in a Docker container- id: "mysql"instance: "CONTAINER_NAME"username: "USERNAME"password: "PASSWORD"address: "172.17.0.2"port: 3306
Agent gathers the following metrics:
Metric | Description |
---|---|
mysql_status: Status of MySQL | |
mysql_cache_result_qcache_hits | Number of query cache hits per second |
mysql_cache_result_qcache_inserts | Number of queries added to the query cache per second |
mysql_cache_result_qcache_not_cached | Number of uncacheable queries per second |
mysql_cache_result_qcache_prunes | Number of queries that were deleted from the query cache because of low memory per second |
mysql_cache_blocksize_qcache | Number of blocks in the query cache |
mysql_cache_free_blocks | Number of free memory blocks in the query cache |
mysql_cache_free_memory | Number of free memory for the query cache in bytes |
mysql_cache_size_qcache | Number of queries registered in the query cache |
mysql_locks_immediate | Number of table locks that could be granted immediately per second |
mysql_locks_waited | Number of table locks that could not be granted immediately per second |
mysql_innodb_history_list_len | Size of InnoDB transaction history list |
mysql_innodb_locked_transaction | Number of InnoDB transaction currently locked |
mysql_octets_rx | Network traffic received from clients in bytes per second |
mysql_octets_tx | Network traffic sent to clients in bytes per second |
mysql_queries | Number of queries per second |
mysql_slow_queries | Number of slow queries per second |
mysql_threads_cached | Number of threads in the thread cache |
mysql_threads_connected | Number of currently open connections |
mysql_threads_running | Number of threads that are not sleeping |
mysql_total_threads_created | Number of threads created per second |
mysql_commands_begin | Number of "BEGIN" statement executed per second |
mysql_commands_binlog | Number of "BINLOG" statement executed per second |
mysql_commands_call_procedure | Number of "CALL PROCEDURE" statement executed per second |
mysql_commands_change_master | Number of "CHANGE MASTER" statement executed per second |
mysql_commands_change_repl_filter | Number of "CHANGE REPL FILTER" statement executed per second |
mysql_commands_check | Number of "CHECK TABLE" statement executed per second |
mysql_commands_checksum | Number of "CHECKSUM TABLE" statement executed per second |
mysql_commands_commit | Number of "COMMIT" statement executed per second |
mysql_commands_dealloc_sql | Number of "DEALLOCATE PREPARE" statement executed per second |
mysql_commands_stmt_close | Number of "DEALLOCATE PREPARE" statement executed per second |
mysql_commands_delete_multi | Number of "DELETE" on multiple table statement executed per second |
mysql_commands_delete | Number of "DELETE" statement executed per second |
mysql_commands_do | Number of "DO" statement executed per second |
mysql_commands_execute_sql | Number of "EXECUTE" statement executed per second |
mysql_commands_stmt_execute | Number of "EXECUTE" statement executed per second |
mysql_commands_explain_other | Number of "EXPLAIN FOR CONNECTION" statement executed per second |
mysql_commands_flush | Number of "FLUSH" statement executed per second |
mysql_commands_ha_close | Number of "HA CLOSE" statement executed per second |
mysql_commands_ha_open | Number of "HA OPEN" statement executed per second |
mysql_commands_ha_read | Number of "HA READ" statement executed per second |
mysql_commands_insert_select | Number of "INSERT ... SELECT" statement executed per second |
mysql_commands_insert | Number of "INSERT" statement executed per second |
mysql_commands_kill: Number of "KILL" statement executed per second | |
mysql_commands_preload_keys | Number of "LOAD INDEX INTO CACHE" statement executed per second |
mysql_commands_load | Number of "LOAD" statement executed per second |
mysql_commands_lock_tables | Number of "LOCK TABLES" statement executed per second |
mysql_commands_optimize | Number of "OPTIMIZE" statement executed per second |
mysql_commands_prepare_sql | Number of "PREPARE" statement executed per second |
mysql_commands_stmt_prepare | Number of "PREPARE" statement executed per second |
mysql_commands_purge_before_date | Number of "PURGE BEFORE DATE" statement executed per second |
mysql_commands_purge | Number of "PURGE" statement executed per second |
mysql_commands_release_savepoint | Number of "RELEASE SAVEPOINT" statement executed per second |
mysql_commands_repair | Number of "REPAIR" statement executed per second |
mysql_commands_replace_select | Number of "REPLACE SELECT" statement executed per second |
mysql_commands_replace | Number of "REPLACE" statement executed per second |
mysql_commands_reset | Number of "RESET" statement executed per second |
mysql_commands_resignal | Number of "RESIGNAL" statement executed per second |
mysql_commands_rollback_to_savepoint | Number of "ROLLBACK TO SAVEPOINT" statement executed per second |
mysql_commands_rollback | Number of "ROLLBACK" statement executed per second |
mysql_commands_savepoint | Number of "SAVEPOINT" statement executed per second |
mysql_commands_select | Number of "SELECT" statement executed per second |
mysql_commands_signal | Number of "SIGNAL" statement executed per second |
mysql_commands_slave_start | Number of "START SLAVE" statement executed per second |
mysql_commands_group_replication_start | Number of "START" for group replication statement executed per second |
mysql_commands_stmt_fetch | Number of "STMT FETCH" statement executed per second |
mysql_commands_stmt_reprepare | Number of "STMT REPREPARE" statement executed per second |
mysql_commands_stmt_reset | Number of "STMT RESET" statement executed per second |
mysql_commands_stmt_send_long_data | Number of "STMT SEND LONG DATA" statement executed per second |
mysql_commands_slave_stop | Number of "STOP SLAVE" statement executed per second |
mysql_commands_group_replication_stop | Number of "STOP" for group replication statement executed per second |
mysql_commands_truncate | Number of "TRUNCATE" statement executed per second |
mysql_commands_unlock_tables | Number of "UNLOCK TABLES" statement executed per second |
mysql_commands_update_multi | Number of "UPDATE" on multiple table statement executed per second |
mysql_commands_update | Number of "UPDATE" statement executed per second |
mysql_commands_xa_commit | Number of "XA COMMIT" statement executed per second |
mysql_commands_xa_end | Number of "XA END" statement executed per second |
mysql_commands_xa_prepare | Number of "XA PREPARE" statement executed per second |
mysql_commands_xa_recover | Number of "XA RECOVER" statement executed per second |
mysql_commands_xa_rollback | Number of "XA ROLLBACK" statement executed per second |
mysql_commands_xa_start | Number of "XA START" statement executed per second |
mysql_commands_assign_to_keycache | Number of assign to keycache commands per second |
mysql_handler_commit | Number of internal commit request per second |
mysql_handler_delete | Number of rows deleted from tables per second |
mysql_handler_write | Number of rows inserted per second |
mysql_handler_update | Number of rows updated per second |
mysql_handler_rollback | Number of transaction rollback requests given to a storage engine per second |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a HTTP check if the service listen on port 80.
To enable metrics gathering, ensure Bleemeo agent could access nginx status
on the URL http://server-address/nginx_status
. This usually means to add the
following to your site definition (e.g. /etc/nginx/sites-enabled/default
):
location /nginx_status {stub_status on;}
If your nginx is not build with stub_status or if you need more information about nginx stub_status, see http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a nginx running outside any container- id: "nginx"address: "127.0.0.1"port: 80 # HTTP listenner, Agent don't support HTTPS here# For a nginx running in a Docker container- id: "nginx"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 80 # HTTP listenner, Agent don't support HTTPS here
Agent gathers the following metrics:
Metric | Description |
---|---|
nginx_status | Status of nginx |
nginx_requests | Number of requests per second |
nginx_connections_accepted | Number of client connections established per second |
nginx_connections_handled | Number of client connections processed per second |
nginx_connections_active | Number of client connections to nginx server |
nginx_connections_waiting | Number of idle client connections waiting for a request |
nginx_connections_reading | Number of client connections where nginx is reading the request header |
nginx_connections_writing | Number of client connections where nginx is writing the response |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a NTP check if the service listen on port 123.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a NTP running outside any container- id: "ntp"address: "127.0.0.1"port: 123# For a NTP running in a Docker container- id: "ntp"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 123
Only the metric from service check is produced:
Metric | Description |
---|---|
ntp_status | Status of NTP |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a OpenLDAP running outside any container- id: "openldap"address: "127.0.0.1"port: 389# For a OpenLdap running in a Docker container- id: "openldap"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 389
Only the metric from service check is produced:
Metric | Description |
---|---|
openldap_status | Status of OpenLDAP |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Only the metric from service check is produced:
Metric | Description |
---|---|
openvpn_status | Status of OpenVPN |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, Bleemeo agent needs access to PHP-FPM status page and to known where it may find this page.
PHP-FPM needs to expose its status. For example the pool configuration should include:
pm.status_path = /status
By defaults, Bleemeo agent try fcgi://<fpm-address>:<fpm-port>/status
. E.g using FCGI over the
TCP port on which PHP-FPM listen and use "/status" path.
If it does not match your configuration, you will need to override
"stats_url" parameters by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a PHP-FPM running outside any container- id: "php-fpm"address: "127.0.0.1"port: 9000stats_url: "fcgi://127.0.0.1:9000/status"# For UNIX socket access, use# stats_url: "/var/run/php5-fpm.sock"# See below for additional note on UNIX socket permission# For a PHP-FPM running in a Docker container- id: "php-fpm"instance: "CONTAINER_NAME"port: 9000stats_url: "fcgi://my-server:9000/status"
If using UNIX socket, you should make sure glouton user has permission to access the socket.
This usually means that glouton user should be member of the group running php-fpm, which is www-data
on Debian/Ubuntu system. Therefor sudo adduser glouton www-data
and a restart of Bleemeo agent will grant access.
Agent gathers the following metrics:
Metric | Description |
---|---|
phpfpm_status | Status of PHP-FPM |
phpfpm_accepted_conn | Number of requests per second |
phpfpm_active_processes | Number of active processes |
phpfpm_idle_processes | Number of idle processes |
phpfpm_listen_queue | Number of requests in the queue of pending connections |
phpfpm_listen_queue_len | Size of the queue of pending connections |
phpfpm_max_active_processes | Maximum number of active processes since FPM started |
phpfpm_max_children_reached | Number of times the process limit has been reached |
phpfpm_max_listen_queue | Maximum number of requests in the queue of pending connections since FPM started |
phpfpm_slow_requests | Number of slow requests per second |
phpfpm_start_since | Time spent since PHP-fpm start in seconds |
phpfpm_total_processes | Number of idle + active processes |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a SMTP check if the service listen on port 25.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Postfix running outside any container- id: "postfix"address: "127.0.0.1"port: 25# For a Postfix running in a Docker container- id: "postfix"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 25
Agent gathers the following metrics:
Metric | Description |
---|---|
postfix_status | Status of Postfix |
postfix_queue_size | Number of mails queued |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
To enable metrics gathering, credentials are required. Bleemeo agent will find the credentials if:
POSTGRES_USER
(with a default to postgres
)
and POSTGRES_PASSWORD
.If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a PostgreSQL running outside any container- id: "postgresql"username: "USERNAME"password: "PASSWORD"address: "127.0.0.1"port: 5432# For a PostgreSQL running in a Docker container- id: "postgresql"instance: "CONTAINER_NAME"username: "USERNAME"password: "PASSWORD"address: "172.17.0.2"port: 5432
Agent gathers the following metrics:
Metric | Description |
---|---|
postgresql_status | Status of PostgreSQL |
postgresql_blk_read_time | Number of blocks read per second |
postgresql_blk_write_time | Time spent writing data file blocks in milliseconds per second |
postgresql_blks_hit | Number of blocks read from PostgreSQL cache per second |
postgresql_blks_read | Number of blocks read from disk per second |
postgresql_commit | Number of commits per second |
postgresql_rollback | Number of rollbacks per second |
postgresql_temp_bytes | Temporary file write throughput in bytes per second |
postgresql_temp_files | Number of temporary files created per second |
postgresql_tup_deleted | Number of rows deleted per second |
postgresql_tup_fetched | Number of rows fetched per second |
postgresql_tup_inserted | Number of rows inserted per second |
postgresql_tup_returned | Number of rows returned per second |
postgresql_tup_updated | Number of rows updated per second |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a AMQP check if the service listen on port 5672.
To enable metrics gathering, credentials are required. By default "guest/guest" is used.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a RabbitMQ running outside any container- id: "rabbitmq"username: "USERNAME"password: "PASSWORD"address: "127.0.0.1"port: 5672 # Port of AMQP servicemgmt_port: 15672 # Port of RabbitMQ management interface# For a RabbitMQ running in a Docker container- id: "rabbitmq"instance: "CONTAINER_NAME"username: "USERNAME"password: "PASSWORD"address: "172.17.0.2"port: 5672 # Port of AMQP servicemgmt_port: 15672 # Port of RabbitMQ management interface
Agent gathers the following metrics:
Metric | Description |
---|---|
rabbitmq_status | Status of RabbitMQ |
rabbitmq_connections | Number of client connections to RabbitMQ server |
rabbitmq_consumers | Number of consumers |
rabbitmq_messages_acked | Number of messages acknowledged per second |
rabbitmq_messages_count | Number of messages |
rabbitmq_messages_delivered | Number of messages delivered per second |
rabbitmq_messages_published | Number of messages published per second |
rabbitmq_messages_unacked_count | Number of messages waiting for an acknowledgement from a consumer |
rabbitmq_queues | Number of queues |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a Redis check if the service listen on port 6379.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Redis running outside any container- id: "redis"address: "127.0.0.1"port: 6379# For a Redis running in a Docker container- id: "redis"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 6379
Agent gathers the following metrics:
Metric | Description |
---|---|
redis_status | Status of Redis |
redis_current_connections_clients | Number of connected clients |
redis_current_connections_slaves | Number of connected slaves |
redis_evicted_keys | Total number of key evicted keys due to maxmemory limit per second |
redis_expired_keys | Total number of key expiration events per second |
redis_keyspace_hits | Number of successful lookup of keys per second |
redis_keyspace_misses | Number of successful lookup of keys per second |
redis_keyspace_hitrate | Hit ratio of keys lookup in percent |
redis_memory | Memory allocated by Redis in bytes |
redis_memory_lua | Memory used by Lua engine in bytes |
redis_memory_peak | Peak memory consumed by Redis in bytes |
redis_memory_rss | Memory used by Redis as seen by system in bytes |
redis_pubsub_channels | Global number of pub/sub channels with client subscriptions |
redis_pubsub_patterns | Global number of pub/sub pattern with client subscriptions |
redis_total_connections | Number of connections (client or slave) per second |
redis_total_operations | Number of commands processed by the server per second |
redis_uptime | Time spent since Redis server start in seconds |
redis_volatile_changes | Number of changes since the last dump |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Salt master running outside any container- id: "salt"address: "127.0.0.1"port: 4505# For a Salt master running in a Docker container- id: "salt"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 4505
Only the metric from service check is produced:
Metric | Description |
---|---|
salt_status | Status of Salt |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a HTTP check if the service listen on port 3128.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Squid running outside any container- id: "squid"address: "127.0.0.1"port: 3128# For a Squid running in a Docker container- id: "squid"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 3128
Only the metric from service check is produced:
Metric | Description |
---|---|
squid3_status | Status of Squid3 |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Only the metric from service check is produced:
Metric | Description |
---|---|
uwsgi_status | Status of uWSGI |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a Varnish running outside any container- id: "varnish"address: "127.0.0.1"port: 6082# For a Varnish running in a Docker container- id: "varnish"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 6082
Only the metric from service check is produced:
Metric | Description |
---|---|
varnish_status | Status of Varnish |
Service Detection | Specific Check | Metrics |
---|---|---|
β | β | β |
Agent uses a ZooKeeper check if the service listen on port 2181.
To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see Java Metrics for setup details.
Also, still for JMX metrics, ZooKeeper must expose JMX over a TCP port. To enable JMX you will need to:
JMXPORT=1234
-Dcom.sun.management.jmxremote.port=1234 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
to the JVM. Usually in JAVA_OPTS in /etc/default/zookeeper.Warning: in both case, this will allow unauthenticated access. Make sure no untrusted access to this port is possible or you should setup authenticated JMX access.
If some auto-detected parameters are wrong, you can manually override them
by adding the following to /etc/glouton/conf.d/99-local.conf
:
service:[...]# For a ZooKeeper running outside any container- id: "zookeeper"address: "127.0.0.1"port: 2181jmx_port: "JMX_PORT"jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"# For a ZooKeeper running in a Docker container- id: "zookeeper"instance: "CONTAINER_NAME"address: "172.17.0.2"port: 2181jmx_port: "JMX_PORT"jmx_username: "monitorRole" # by default, no authentication is donejmx_password: "secret"
Agent gathers the following metrics:
Metric | Description |
---|---|
zookeeper_status | Status of ZooKeeper |
zookeeper_connections | Number of client connections to ZooKeeper server |
zookeeper_packets_received | Number of packets received sent per second |
zookeeper_packets_sent | Number of packets sent per second |
zookeeper_ephemerals_count | Number of ephemeral node |
zookeeper_watch_count | Number of ZooKeeper watch |
zookeeper_znode_count | Number of znode |
Agent gathers the following metrics through JMX:
Metric | Description |
---|---|
zookeeper_jvm_gc | Number of garbage collection per second |
zookeeper_jvm_gc_time | Time spent doing garbage collection in milliseconds per second |
zookeeper_jvm_gc_utilization | Garbage collection utilization in percent |
zookeeper_jvm_heap_used | Heap memory used in bytes |
zookeeper_jvm_non_heap_used | Non-Heap memory used in bytes |