Metricbeat logo

Monitor your Ceph with Metricbeats

Posted by

The Elastic Stack version 7.7 has just been released, with an important improvement: the support of Ceph 14 alias Nautilus. Ceph is a distributed storage system, it can be use for bloc, file or object storage. Its strengths are the reliability, the scalability and the performances.

Enable the modules in Ceph

From one of your Ceph node

ceph mgr module enable restful
ceph restful create-self-signed-cert

Create a key for metricbeat and save it.

ceph restful create-key metricbeat

The API will only be available on the master monitor node.

Metricbeat

You can find the instructions for your distribution on the Elastic website.
On my side I use Debian:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
apt install metricbeat -y

Let’s configure the Ceph module, don’t forget to replace the password with the one you got on previous step.
In /etc/metricbeat/modules.d/ceph-mgr.yml

- module: ceph
  metricsets:
    - mgr_cluster_disk
    - mgr_osd_perf
    - mgr_pool_disk
    - mgr_osd_pool_stats
    - mgr_osd_tree
  period: 1m
  hosts: [ "https://localhost:8003" ]
  username: "metricbeat"
  password: "your-password"
  ssl:
    verification_mode: none

Configure the output in /etc/metricbeat/metricbeat.yml to your Elasticsearch cluster

output.elasticsearch:
  hosts: ['yourserver']
  username: "username"
  password: "password"

Restart Metricbeat

service metricbeat restart

To get the built-in dashboards don’t forget to activate the Kibana part in Metricbeat

setup:
  dashboards:
    enabled: true
  kibana:
    host: "your kibana host"
    username: "kibana user"
    password: "kibana password"

For security reason, use a different user/password for each, with the correct permissions.

Leave a Reply

Your email address will not be published. Required fields are marked *