What Bleemeo Monitors?

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.

Metrics can have four thresholds:

  • low critical
  • low warning
  • high warning
  • high critical

When a metric value is above a high threshold or below a low threshold for more than 5 minutes, an event is created. This event will be notified if it match one of your rules, see Notifications for details.

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.

Both result of service check and thresholds check create a metrics ending with “_status”. For example a threshold on “cpu_used” creates a metric “cpu_used_status”. A service check for Apache creates “apache_status”. Values for service check metric are produced when checks are run. Other metrics are gathered every 10 seconds.

If you have any service not listed on this page, you can define a custom check or define a custom metric.

Our metrics collection process rely on Telegraf. If you already have a setup with collectd and you are willing to use collectd, check our page using Bleemeo with collectd.

System Metrics

Service Detection Specific Check Metrics

System checks cover the following:

  • Connection of the agent to the Bleemeo Cloud platform
  • Overutilization of resources: CPU, memory, disk space and swap. Default thresholds are 80% for warning status and 90% for critical status
  • Network errors
  • No metric data received by the agent from the collecting daemon (Telegraf or collectd): 3 minutes for warning status and 5 minutes for critical status
  • Pending security updates

Agent gathers the following metrics:

  • agent_status: Status of Agent connection.
  • cpu_idle: CPU idle in percent.
  • cpu_interrupt: CPU used by low-level driver in percent.
  • cpu_nice: CPU used by niced applications in percent.
  • cpu_other: CPU not used by user or system in percent.
  • cpu_softirq: CPU used by driver in percent.
  • cpu_steal: CPU used by hypervisor in percent.
  • cpu_system: CPU used by system call in percent.
  • cpu_used: CPU used in percent. Default thresholds are: above 80% for warning status and above 90% for critical status.
  • cpu_used_status: Status of CPU usage.
  • cpu_user: CPU used by applications in percent.
  • cpu_wait: CPU idle while waiting for IO operation in percent.
  • cpu_guest_nice: CPU used by niced guest VM in percent.
  • cpu_guest: CPU used by guest VM in percent.
  • disk_free: Filesystem space available in bytes.
  • disk_inodes_free: Number of inodes available.
  • disk_inodes_total: Number of inodes for this filesystem.
  • disk_inodes_used: Number of used inodes.
  • disk_total: Filesystem size in bytes.
  • disk_used: Filesystem space used in bytes.
  • disk_used_perc: Filesystem space used in percent. Default thresholds are: above 80% for warning status and above 90% for critical status.
  • disk_used_perc_status: Status of disk usage
  • io_read_bytes: Disk read throughput in bytes per second.
  • io_read_time: Time spent reading in milliseconds per second.
  • io_reads: Number of reads completed per second.
  • io_time: Time spent doing I/O in milliseconds per second.
  • io_utilization: Disk IO utilization in percent.
  • io_write_bytes: Disk write throughput in bytes per second.
  • io_write_time: Time spent writing in milliseconds per second.
  • io_writes: Number of writes completed per second.
  • mem_available: Memory available for application in bytes.
  • mem_available_perc: Memory available for application in percent.
  • mem_buffered: Memory used for raw block cache in bytes.
  • mem_cached: Memory used for file cache in bytes.
  • mem_free: Memory unused in bytes.
  • mem_total: Memory size in bytes.
  • mem_used: Memory used by applications in bytes.
  • mem_used_perc: Memory used by applications in percent. Default thresholds are: above 80% for warning status and above 90% for critical status.
  • mem_used_perc_status: Status of memory usage.
  • net_bits_recv: Network traffic received in bits per second.
  • net_bits_sent: Network traffic sent in bits per second.
  • net_drop_in: Number of received packets dropped per second.
  • net_drop_out: Number of sent packets dropped per second.
  • net_err_in: Number of errors per second while receiving packet. Default thresholds are: above 0 for critical status.
  • net_err_in_status: Status of network errors for received packets.
  • net_err_out: Number of errors per second while sending packet. Default thresholds are: above 0 for critical status.
  • net_err_out_status: Status of network errors for sent packets.
  • net_packets_recv: Number of packets received per second.
  • net_packets_sent: Number of packets sent per second.
  • process_status_blocked: Number of processes blocked in system call.
  • process_status_paging: Number of processes blocked by paging operation.
  • process_status_running: Number of processes currently running.
  • process_status_sleeping: Number of idle processes.
  • process_status_stopped: Number of stopped processes.
  • process_status_zombies: Number of zombie processes.
  • process_total: Number of processes.
  • swap_free: Swap unused in bytes.
  • swap_in: Swap read throughput in bytes per second.
  • swap_out: Swap write throughput in bytes per second.
  • swap_total: Swap size in bytes.
  • swap_used: Swap used in bytes.
  • swap_used_perc: Swap used in percent. Default thresholds are: above 80% for warning status and above 90% for critical status.
  • swap_used_perc_status: Status of swap usage.
  • system_load1: System load over last minute.
  • system_load5: System load over last 5 minutes.
  • system_load15: System load over last 15 minutes.
  • system_pending_updates: Number of pending system updates.
  • system_pending_security_updates: Number of pending system security updates.
  • time_elapsed_since_last_data: Time elapsed since agent received last data in seconds. Default thresholds are: above 3 minutes for warning status and above 5 minutes for critical status.
  • time_elapsed_since_last_data_status: Status of metrics reception.
  • uptime: Time elapsed since last boot in seconds.
  • users_logged: Number of users currently logged in the system.

Apache HTTP

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/bleemeo/agent.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:

  • apache_status: Status of Apache.
  • apache_requests: Number of requests per second.
  • apache_idle_workers: Number of Apache workers waiting for an incoming request.
  • apache_bytes: Network traffic sent by Apache in bytes per second.
  • apache_connections: Number of client connections to Apache server.
  • 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.

  • 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.

Asterisk

Service Detection Specific Check Metrics

Bitbucket

Service Detection Specific Check Metrics

To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see agent/jmx-monitoring 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:

  • Add option -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.
  • Add jmx.enabled=true to $BITBUCKET_HOME/shared/bitbucket.properties

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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a Bitbucket running outside any container
  - id: bitbucket
    address: 127.0.0.1
    port: 7990
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

  # For a Bitbucket running in a Docker container
  - id: bitbucket
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 7990
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

Agent gathers the following metrics:

  • 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.

Cassandra

Service Detection Specific Check Metrics

To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see agent/jmx-monitoring for setup details.

In addition Cassandra need to expose JMX over a TCP port. To enable JMX you will need to:

  • If using Docker, add environment variable JVM_OPTS=-Dcassandra.jmx.remote.port=7199
  • If running Cassandra and Bleemeo agent as native package, nothing should be needed. Cassandra already expose JMX on port 7199 on localhost by default.
  • In other case, add option -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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a Cassandra running outside any container
  - id: cassandra
    address: 127.0.0.1
    port: 9042
    jmx_port: 7199
    jmx_username: cassandra  # by default, no authentication is done
    jmx_password: cassandra

  # For a Cassandra running in a Docker container
  - id: cassandra
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 9042
    jmx_port: 7199
    jmx_username: cassandra  # by default, no authentication is done
    jmx_password: cassandra

Agent gathers the following metrics:

  • 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/bleemeo/agent.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:

  • 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.

Confluence

Service Detection Specific Check Metrics

To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see agent/jmx-monitoring 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:

  • Add option -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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a Confluence running outside any container
  - id: confluence
    address: 127.0.0.1
    port: 8090
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

  # For a Confluence running in a Docker container
  - id: confluence
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 8090
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

Agent gathers the following metrics:

  • 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.

BIND

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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: mysql
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 53

Only the metric from service check is produced:

  • bind_status: Status of BIND.

Docker

Service Detection Specific Check Metrics

Agent gathers the following metrics:

  • docker_containers: Number of Docker containers.

In addition to the above global metric, the following information are retrieved per Docker container:

  • Name of the container.
  • Docker ID of the container.
  • Status of the container (running, stopped, …).
  • Date when the container is created, started and/or stopped.
  • Image name used to create the container.
  • Command used to create the container.
  • A copy of Docker inspect for the container.

The above information are not archived: only latest value is available, and when a container is destroyed, the information for this container are deleted.

Finally, for each container, Agent gathers the following metrics:

  • docker_container_cpu_used: CPU used by container in percent.
  • docker_container_health_status: Status of Docker container. If your container has an HEALTHCHECK defined, this metric will contains the result of this check.
  • docker_container_io_read_bytes: Disk read throughput of container in bytes per second.
  • docker_container_io_write_bytes: Disk write throughput of container in bytes per second.
  • docker_container_mem_used: Memory used by container in bytes.
  • docker_container_mem_used_perc: Memory used by container in percent.
  • docker_container_mem_used_perc_status: Status of memory used by container.
  • docker_container_net_bits_recv: Network traffic received by container in bits per second.
  • docker_container_net_bits_sent: Network traffic sent by container in bits per second.

To ignore a container, set a label bleemeo.enable=false on it. Once ignored, information and metrics of this container won’t be gathered and any service running in this container won’t be discovered.

Dovecot

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/bleemeo/agent.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:

  • dovecot_status: Status of Dovecot.

ejabberd

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • ejabberd_status: Status of ejabberd.

Elasticsearch

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/bleemeo/agent.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:

  • 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.

Exim4

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/bleemeo/agent.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

Only the metric from service check is produced:

  • exim_status: Status of Exim.

FreeRADIUS

Service Detection Specific Check Metrics

HAProxy

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-http
    bind 0.0.0.0:80
    stats enable
    stats uri     /statistics

On Bleemeo agent side, you need configure check by adding the following to /etc/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a HAProxy running outside any container
  - id: haproxy
    address: 127.0.0.1
    port: 80
    stats_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: 80
    stats_url: http://my-server/statistics
    # For authenticated access, use
    # stats_url: http://username:password@my-server/statistics

Agent gathers the following metrics:

  • 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.

InfluxDB

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/bleemeo/agent.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:

  • influxdb_status: Status of InfluxDB.

JIRA

Service Detection Specific Check Metrics

To enable metrics gathering, Bleemeo agent need to be installed with JMX enabled, see agent/jmx-monitoring for setup details.

In addition Confluence need to expose JMX over a TCP port. To enable JMX you need to:

  • Add option -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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a JIRA running outside any container
  - id: jira
    address: 127.0.0.1
    port: 8080
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

  # For a JIRA running in a Docker container
  - id: jira
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 8080
    jmx_port: 3333
    jmx_username: monitorRole # by default, no authentication is done
    jmx_password: secret

Agent gathers the following metrics:

  • 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.

libvirtd

Service Detection Specific Check Metrics

Memcached

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/bleemeo/agent.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:

  • 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_hits: Number of successful get request 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_misses: Number of get 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.

MongoDB

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • 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.

Mosquitto

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • mosquitto_status: Status of Mosquitto.

MySQL

Service Detection Specific Check Metrics

To enable metrics gathering, credentials are required. Bleemeo agent will find the credentials if:

  • MySQL and the agent are running on Ubuntu or Debian
  • MySQL is running in a Docker container and root password is set through the environment variable MYSQL_ROOT_PASSWORD

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • 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_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_alter_db_upgrade: Number of “ALTER DATABASE UPGRADE” statement executed per second.
  • mysql_commands_alter_db: Number of “ALTER DATABASE” statement executed per second.
  • mysql_commands_alter_event: Number of “ALTER EVENT” statement executed per second.
  • mysql_commands_alter_function: Number of “ALTER FUNCTION” statement executed per second.
  • mysql_commands_alter_instance: Number of “ALTER INSTANCE” statement executed per second.
  • mysql_commands_alter_procedure: Number of “ALTER PROCEDURE” statement executed per second.
  • mysql_commands_alter_server: Number of “ALTER SERVER” statement executed per second.
  • mysql_commands_alter_table: Number of “ALTER TABLE” statement executed per second.
  • mysql_commands_alter_tablespace: Number of “ALTER TABLESPACE” statement executed per second.
  • mysql_commands_alter_user: Number of “ALTER USER” statement executed per second.
  • mysql_commands_analyze: Number of “ANALYZE” statement executed 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_create_db: Number of “CREATE DATABASE” statement executed per second.
  • mysql_commands_create_event: Number of “CREATE EVENT” statement executed per second.
  • mysql_commands_create_function: Number of “CREATE FUNCTION” statement executed per second.
  • mysql_commands_create_index: Number of “CREATE INDEX” statement executed per second.
  • mysql_commands_create_procedure: Number of “CREATE PROCEDURE” statement executed per second.
  • mysql_commands_create_server: Number of “CREATE SERVER” statement executed per second.
  • mysql_commands_create_table: Number of “CREATE TABLE” statement executed per second.
  • mysql_commands_create_trigger: Number of “CREATE TRIGGER” statement executed per second.
  • mysql_commands_create_udf: Number of “CREATE UDF” statement executed per second.
  • mysql_commands_create_user: Number of “CREATE USER” statement executed per second.
  • mysql_commands_create_view: Number of “CREATE VIEW” 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_drop_db: Number of “DROP DATABASE” statement executed per second.
  • mysql_commands_drop_event: Number of “DROP EVENT” statement executed per second.
  • mysql_commands_drop_function: Number of “DROP FUNCTION” statement executed per second.
  • mysql_commands_drop_index: Number of “DROP INDEX” statement executed per second.
  • mysql_commands_drop_procedure: Number of “DROP PROCEDURE” statement executed per second.
  • mysql_commands_drop_server: Number of “DROP SERVER” statement executed per second.
  • mysql_commands_drop_table: Number of “DROP TABLE” statement executed per second.
  • mysql_commands_drop_trigger: Number of “DROP TRIGGER” statement executed per second.
  • mysql_commands_drop_user: Number of “DROP USER” statement executed per second.
  • mysql_commands_drop_view: Number of “DROP VIEW” 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_get_diagnostics: Number of “GET DIAGNOSTICS” statement executed per second.
  • mysql_commands_grant: Number of “GRANT” 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_help: Number of “HELP” 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_install_plugin: Number of “INSTALL PLUGIN” 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_rename_table: Number of “RENAME TABLE” statement executed per second.
  • mysql_commands_rename_user: Number of “RENAME USER” 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_revoke_all: Number of “REVOKE ALL” statement executed per second.
  • mysql_commands_revoke: Number of “REVOKE” 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_set_option: Number of “SET OPTION” statement executed per second.
  • mysql_commands_show_binlog_events: Number of “SHOW BINLOG EVENTS” statement executed per second.
  • mysql_commands_show_binlogs: Number of “SHOW BINLOGS” statement executed per second.
  • mysql_commands_show_charsets: Number of “SHOW CHARSETS” statement executed per second.
  • mysql_commands_show_collations: Number of “SHOW COLLATIONS” statement executed per second.
  • mysql_commands_show_create_db: Number of “SHOW CREATE DATABASE” statement executed per second.
  • mysql_commands_show_create_event: Number of “SHOW CREATE EVENT” statement executed per second.
  • mysql_commands_show_create_func: Number of “SHOW CREATE FUNC” statement executed per second.
  • mysql_commands_show_create_proc: Number of “SHOW CREATE PROC” statement executed per second.
  • mysql_commands_show_create_table: Number of “SHOW CREATE TABLE” statement executed per second.
  • mysql_commands_show_create_trigger: Number of “SHOW CREATE TRIGGER” statement executed per second.
  • mysql_commands_show_create_user: Number of “SHOW CREATE USER” statement executed per second.
  • mysql_commands_show_databases: Number of “SHOW DATABASES” statement executed per second.
  • mysql_commands_show_engine_logs: Number of “SHOW ENGINE LOGS” statement executed per second.
  • mysql_commands_show_engine_mutex: Number of “SHOW ENGINE MUTEX” statement executed per second.
  • mysql_commands_show_engine_status: Number of “SHOW ENGINE STATUS” statement executed per second.
  • mysql_commands_show_errors: Number of “SHOW ERRORS” statement executed per second.
  • mysql_commands_show_events: Number of “SHOW EVENTS” statement executed per second.
  • mysql_commands_show_fields: Number of “SHOW FIELDS” statement executed per second.
  • mysql_commands_show_function_code: Number of “SHOW FUNCTION CODE” statement executed per second.
  • mysql_commands_show_function_status: Number of “SHOW FUNCTION STATUS” statement executed per second.
  • mysql_commands_show_grants: Number of “SHOW GRANTS” statement executed per second.
  • mysql_commands_show_keys: Number of “SHOW KEYS” statement executed per second.
  • mysql_commands_show_master_status: Number of “SHOW MASTER STATUS” statement executed per second.
  • mysql_commands_show_open_tables: Number of “SHOW OPEN TABLES” statement executed per second.
  • mysql_commands_show_plugins: Number of “SHOW PLUGINS” statement executed per second.
  • mysql_commands_show_privileges: Number of “SHOW PRIVILEGES” statement executed per second.
  • mysql_commands_show_procedure_code: Number of “SHOW PROCEDURE CODE” statement executed per second.
  • mysql_commands_show_procedure_status: Number of “SHOW PROCEDURE STATUS” statement executed per second.
  • mysql_commands_show_processlist: Number of “SHOW PROCESSLIST” statement executed per second.
  • mysql_commands_show_profile: Number of “SHOW PROFILE” statement executed per second.
  • mysql_commands_show_profiles: Number of “SHOW PROFILES” statement executed per second.
  • mysql_commands_show_relaylog_events: Number of “SHOW RELAYLOG EVENTS” statement executed per second.
  • mysql_commands_show_slave_hosts: Number of “SHOW SLAVE HOSTS” statement executed per second.
  • mysql_commands_show_slave_status: Number of “SHOW SLAVE STATUS” statement executed per second.
  • mysql_commands_show_status: Number of “SHOW STATUS” statement executed per second.
  • mysql_commands_show_storage_engines: Number of “SHOW STORAGE ENGINES” statement executed per second.
  • mysql_commands_show_table_status: Number of “SHOW TABLE STATUS” statement executed per second.
  • mysql_commands_show_tables: Number of “SHOW TABLES” statement executed per second.
  • mysql_commands_show_triggers: Number of “SHOW TRIGGERS” statement executed per second.
  • mysql_commands_show_variables: Number of “SHOW VARIABLES” statement executed per second.
  • mysql_commands_show_warnings: Number of “SHOW WARNINGS” statement executed per second.
  • mysql_commands_shutdown: Number of “SHUTDOWN” 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_uninstall_plugin: Number of “UNINSTALL PLUGIN” 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_change_db: Number of “USE” 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_commands_admin_commands: Number of mysqladmin command executed per second.
  • mysql_commands_empty_query: Number of statement that were not SQL (like comment) executed per second.
  • mysql_handler_external_lock: Number of call to external_lock() function per second.
  • mysql_handler_commit: Number of internal commit request per second.
  • mysql_handler_mrr_init: Number of multi-range read scan per second.
  • mysql_handler_read_rnd: Number of requests to read a row based on its position per second.
  • mysql_handler_read_first: Number of requests to read the first row from an index per second.
  • mysql_handler_read_last: Number of requests to read the last row from an index per second.
  • mysql_handler_read_next: Number of requests to read the next row from an index per second.
  • mysql_handler_read_rnd_next: Number of requests to read the next row per second.
  • mysql_handler_read_prev: Number of requests to read the previous row from an index per second.
  • mysql_handler_savepoint_rollback: Number of requests to rollback to a transaction savepoint per second.
  • mysql_handler_read_key: Number of row read requests based on an index value 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_discover: Number of times that tables have been discovered in a NDBCLUSTER per second.
  • mysql_handler_rollback: Number of transaction rollback requests given to a storage engine per second.
  • mysql_handler_savepoint: Number of transaction savepoint creation requests per second.
  • mysql_handler_prepare: Number of two-phase commit prepares per second.

nginx

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/bleemeo/agent.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:

  • 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.

NTP

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/bleemeo/agent.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:

  • ntp_status: Status of NTP.

OpenLDAP

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • openldap_status: Status of OpenLDAP.

OpenVPN

Service Detection Specific Check Metrics

PHP-FPM

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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a PHP-FPM running outside any container
  - id: php-fpm
    address: 127.0.0.1
    port: 9000
    stats_url: fcgi://127.0.0.1:9000/status
    # For UNIX socket access, use
    # stats_url: /var/run/php5-fpm.sock

  # For a PHP-FPM running in a Docker container
  - id: php-fpm
    instance: CONTAINER_NAME
    port: 9000
    stats_url: fcgi://my-server:9000/status

Agent gathers the following metrics:

  • 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_total_processes: Number of idle + active processes

Postfix

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/bleemeo/agent.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

Only the metric from service check is produced:

  • postfix_status: Status of Postfix.

PostgreSQL

Service Detection Specific Check Metrics

To enable metrics gathering, credentials are required. Bleemeo agent will find the credentials if:

  • PostgreSQL is running in a Docker container and username/password are set through the environment variable 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/bleemeo/agent.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:

  • 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.

RabbitMQ

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/bleemeo/agent.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 service
    mgmt_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 service
    mgmt_port: 15672    # Port of RabbitMQ management interface

Agent gathers the following metrics:

  • 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.

Redis

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/bleemeo/agent.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:

  • 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.

Salt

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • salt_status: Status of Salt.

Squid3

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/bleemeo/agent.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:

  • squid3_status: Status of Squid3.

uWSGI

Service Detection Specific Check Metrics

Varnish

Service Detection Specific Check Metrics

If some auto-detected parameters are wrong, you can manually override them by adding the following to /etc/bleemeo/agent.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:

  • varnish_status: Status of Varnish.

ZooKeeper

Service Detection Specific Check Metrics

Agent uses a ZooKeeper check if the service listen on port 2181.

To enable JMX metrics gathering, Bleemeo agent need to be installed with JMX enabled, see agent/jmx-monitoring for setup details.

Also, still for JMX metrics, ZooKeeper must expose JMX over a TCP port. To enable JMX you will need to:

  • If using Docker for ZooKeeper, add environment variable JMXPORT=1234
  • In other case, add option -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/bleemeo/agent.conf.d/99-local.conf:

service:
  [...]

  # For a ZooKeeper running outside any container
  - id: zookeeper
    address: 127.0.0.1
    port: 2181
    jmx_port: JMX_PORT
    jmx_username: monitorRole  # by default, no authentication is done
    jmx_password: secret

  # For a ZooKeeper running in a Docker container
  - id: zookeeper
    instance: CONTAINER_NAME
    address: 172.17.0.2
    port: 2181
    jmx_port: JMX_PORT
    jmx_username: monitorRole  # by default, no authentication is done
    jmx_password: secret

Agent gathers the following metrics:

  • 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):

  • 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.