Introduction
Percona Monitoring and Management (PMM) is a powerful tool that simplifies database monitoring, providing valuable insights into the performance of your database servers.
If you’re using ClickHouse, an open-source columnar database management system, integrating it with PMM can help you keep a close eye on its performance metrics and ensure its optimal functioning.
In this step-by-step guide, we will walk you through the process of adding ClickHouse to the PMM monitoring setup. By the end of this tutorial, you’ll have a comprehensive monitoring solution that allows you to monitor both your ClickHouse and other database systems from a single PMM dashboard.
Runbook to add ClickHouse to Percona Monitoring & Management (PMM)
Step 1: Install PMM Server
Start by installing the PMM server by running the following command: Follow Quick Start: https://www.percona.com/software/pmm/quickstart
curl -fsSL https://www.percona.com/get/pmm | /bin/bash
This straightforward easy installation script will take care of checking and installing any missing software components. Ensure you run this command as a user with sudo privileges or as the root user.
root@docker:~# curl -fsSL https://www.percona.com/get/pmm | /bin/bash Gathering/downloading required components, this may take a moment Checking docker installation - installed. Starting PMM server... Created PMM Data Volume: pmm-data Created PMM Server: pmm-server Use the following command if you ever need to update your container by hand: docker run -d -p 443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:2 PMM Server has been successfully setup on this system! You can access your new server using one of the following web addresses: https://172.30.0.1:443/ https://172.19.0.1:443/ https://172.77.0.1:443/ https://172.50.0.1:443/ https://172.20.0.1:443/ https://172.22.0.1:443/ https://172.17.0.1:443/ https://10.0.6.24:443/ https://127.0.0.1:443/ The default username is 'admin' and the password is 'admin' :) Note: Some browsers may not trust the default SSL certificate when you first open one of the urls above. If this is the case, Chrome users may want to type 'thisisunsafe' to bypass the warning. Enjoy Percona Monitoring and Management!
To get started, open the provided link. Ensure that the required port (default is 443) is open in your security group settings. You’ll be prompted for credentials; use ‘admin’ for both the username and password. After your initial login, it’s recommended to change your password for added security.
Check the Dashboard for Linux metrics.
Step 2: Install PMM Client
Ubuntu: Install PMM Client
Execute the below steps on the database server that you want to add to monitoring.
1. Download Percona Repo Package
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
2. Install Percona Repo Package
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
3. Update apt cache
sudo apt-get update
4. Install Percona Monitoring and Management Client
sudo apt-get install pmm2-client
Step 3: Connect Client to Server
Register Percona Monitoring and Management client with the server
## sudo pmm-admin config --server-insecure-tls --server-url=https://admin:<password>@pmm.example.com root@clickhouse1:~# sudo pmm-admin config --server-insecure-tls --server-url=https://admin:admin123@10.0.6.24:443 Checking local pmm-agent status... pmm-agent is running. Registering pmm-agent on PMM Server... Registered. Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated. Reloading pmm-agent configuration... Configuration reloaded. Checking local pmm-agent status... pmm-agent is running.
Clickhouse1 Is getting monitored by the PMM server ( As of now, System Metrics only )
Step 4: Load the ClickHouse Dashboard
Import the clickhouse dashboard to the PMM2. Click the + add dashboard, and import the ClickHouse dashboard with id(https://grafana.com/grafana/dashboards/14192). Load it and save.
[This is only for the initial setup of the dashboards.]
Step 5: Add ClickHouse DB monitoring on PMM
Embed Prometheus metrics into the ClickHouse server.
# vim /etc/clickhouse-server/config.d/prometheus.xml <clickhouse> <prometheus> <endpoint>/metrics</endpoint> <port>8001</port> <metrics>true</metrics> <events>true</events> <asynchronous_metrics>true</asynchronous_metrics> </prometheus> </clickhouse>
Restart ClickHouse database
# systemctl restart clickhouse-server
Integrate an external service into PMM from the ClickHouse node, where the PMM agent is set up to export system and ClickHouse metrics. Use the following command:
pmm-admin add external --service-name=clickhouse-db01 --listen-port=8001 --metrics-path=/metrics --scheme=http
Conclusion
Congratulations! You’ve completed the necessary steps to monitor your ClickHouse database effectively. With the integration of ClickHouse into your Percona Monitoring and Management (PMM) setup, you now have a comprehensive solution to keep a watchful eye on its performance metrics and ensure its smooth operation.
Happy monitoring!
To know more about ClickHouse Monitoring, do consider reading the following articles: