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.