Influx Module

The influx module continuously collects and sends time series data to aninfluxdb database.

The influx module was introduced in the 13.x Mimic release.

Enabling

To enable the module, use the following command:

  1. ceph mgr module enable influx

If you wish to subsequently disable the module, you can use the equivalentdisable command:

  1. ceph mgr module disable influx

Configuration

For the influx module to send statistics to an InfluxDB server, itis necessary to configure the servers address and some authenticationcredentials.

Set configuration values using the following command:

  1. ceph config set mgr mgr/influx/<key> <value>

The most important settings are hostname, username and password.For example, a typical configuration might look like this:

  1. ceph config set mgr mgr/influx/hostname influx.mydomain.com
  2. ceph config set mgr mgr/influx/username admin123
  3. ceph config set mgr mgr/influx/password p4ssw0rd

Additional optional configuration settings are:

  • interval
  • Time between reports to InfluxDB. Default 30 seconds.

  • database

  • InfluxDB database name. Default “ceph”. You will need to create this database and grant write privileges to the configured username or the username must have admin privileges to create it.

  • port

  • InfluxDB server port. Default 8086

  • ssl

  • Use https connection for InfluxDB server. Use “true” or “false”. Default false

  • verify_ssl

  • Verify https cert for InfluxDB server. Use “true” or “false”. Default true

  • threads

  • How many worker threads should be spawned for sending data to InfluxDB. Default is 5

  • batch_size

  • How big batches of data points should be when sending to InfluxDB. Default is 5000

Debugging

By default, a few debugging statements as well as error statements have been set to print in the log files. Users can add more if necessary.To make use of the debugging option in the module:

  • Add this to the ceph.conf file.:
  1. [mgr]
  2. debug_mgr = 20
  • Use this command ceph influx self-test.

  • Check the log files. Users may find it easier to filter the log files using mgr[influx].

Interesting counters

The following tables describe a subset of the values output bythis module.

Pools

CounterDescription
storedBytes stored in the pool not including copies
max_availMax available number of bytes in the pool
objectsNumber of objects in the pool
wr_bytesNumber of bytes written in the pool
dirtyNumber of bytes dirty in the pool
rd_bytesNumber of bytes read in the pool
stored_rawBytes used in pool including copies made

OSDs

CounterDescription
op_wClient write operations
op_in_bytesClient operations total write size
op_rClient read operations
op_out_bytesClient operations total read size
CounterDescription
op_wipReplication operations currently being processed (primary)
op_latencyLatency of client operations (including queue time)
op_process_latencyLatency of client operations (excluding queue time)
op_prepare_latencyLatency of client operations (excluding queue time and wait for finished)
op_r_latencyLatency of read operation (including queue time)
op_r_process_latencyLatency of read operation (excluding queue time)
op_w_in_bytesClient data written
op_w_latencyLatency of write operation (including queue time)
op_w_process_latencyLatency of write operation (excluding queue time)
op_w_prepare_latencyLatency of write operations (excluding queue time and wait for finished)
op_rwClient read-modify-write operations
op_rw_in_bytesClient read-modify-write operations write in
op_rw_out_bytesClient read-modify-write operations read out
op_rw_latencyLatency of read-modify-write operation (including queue time)
op_rw_process_latencyLatency of read-modify-write operation (excluding queue time)
op_rw_prepare_latencyLatency of read-modify-write operations (excluding queue timeand wait for finished)
op_before_queue_op_latLatency of IO before calling queue (before really queue into ShardedOpWq)op_before_dequeue_op_lat
op_before_dequeue_op_latLatency of IO before calling dequeue_op(already dequeued and get PG lock)

Latency counters are measured in microseconds unless otherwise specified in the description.