Odoo is a robust ERP and business management platform, and ensuring its performance is critical for smooth business operations. Monitoring an Odoo server using Prometheus and Grafana provides detailed insights into performance metrics such as CPU usage, memory, and request throughput. This blog will guide you through setting up Prometheus and Grafana, installing them on your server, and configuring them to monitor your Odoo instance.
Grafana and Prometheus are a good combo for monitoring and visualizing system metrics. Prometheus is an open-source monitoring and alerting toolkit that excels in collecting time-series data from various sources. The data is stored in a highly efficient time-series database and is capable of accommodating sophisticated queries. Grafana complements Prometheus by providing a rich visualization layer, allowing users to create interactive and customizable dashboards that offer deep insights into their metrics. Together, they enable teams to monitor system performance in real time, spot trends, and make data-driven decisions with ease.
Prerequisites
* A running Odoo server.
* sudo access to your server.
* Basic knowledge of Docker(optional), Linux commands, and system monitoring.
You can install Prometheus either by downloading and installing binaries or using Docker (https://prometheus.io/docs/prometheus/latest/installation). Here, we'll cover local installing binaries.
Prometheus requires an exporter to collect system metrics. Node Exporter is a simple tool that exposes server metrics such as CPU, memory, and disk usage(https://prometheus.io/docs/guides/node-exporter).
Use the below-given code as a scrape target in prometheus.yml
scrape_configs: - job_name: node static_configs: - targets: - localhost:9100
Save the file and restart Prometheus.
sudo systemctl restart prometheus
Grafana is utilized to visualize the metrics gathered by Prometheus. Use the given link for installation documentation : https://grafana.com/docs/grafana/latest/setup-grafana/installation/.
Access Grafana by visiting `http://<your-server-ip>:3000`. The default login is:
* Username: admin
* Password: admin
The next step is connecting Grafana to Prometheus.
1. Log in to Grafana and navigate to Configuration > Data Sources.
2. Click Add Data Source and select Prometheus.
3. In the URL field, enter: `http://<prometheus-server-ip>:9090`.
4. Click Save & Test to verify the connection.
Once Grafana is connected to Prometheus, you can create customizable dashboards to monitor the Odoo server's performance metrics (https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/).
1. In Grafana, click + and select Dashboard.
2. Choose Add New Panel to create a graph for specific metrics.
3. Or you can use prebuilt templates available on the Grafana site : https://grafana.com/grafana/dashboards/.
You can add as many panels as needed to monitor different metrics, from CPU and memory usage to disk I/O and request latency.
To ensure prompt responses to potential performance issues, you can configure Grafana alerts.
1. In the Alert section of a panel, click Create Alert.
2. Set alert conditions, such as CPU usage exceeding 80% for more than 5 minutes.
3. Define notification channels (e.g., email, Slack) for the alert to trigger.
By integrating Prometheus and Grafana, you can monitor the performance of your Odoo server in real time. From tracking CPU and memory usage to monitoring request throughput, this setup offers a robust way to ensure your Odoo instance runs smoothly and efficiently.
You can further enhance the monitoring setup by adding custom metrics specific to your Odoo installation, such as request processing times or database query performance. With this guide, you're now equipped to monitor your Odoo server and keep it running at optimal performance levels.
To read more about What are the Expected Features in Odoo 18 ERP Software, refer to our blog What are the Expected Features in Odoo 18 ERP Software.