Hello all,
I'm running a Proxmox 9 cluster with Ceph Squid. I want to monitor the status of Ceph with my Zabbix install. There is a nice template for Zabbix, which automatically adds OSDs and pools to the monitoring, if I add them in Proxmox. It detects that all by itself. Also it has a ton of metrics about everything in Zabbix. I would love to use that!
The issue I'm facing is that this template (well, Zabbix Agent 2, actually, that has a Go module for Ceph monitoring build in) wants to use the REST API that is build in to Ceph. It wants to connect via HTTPS to port 8003, by default. The port is configurable, but I can live with this standard port. When I check one of my PVEs, which has the Ceph Manager process running, I see the following:
So, the REST API module is loaded into the manager proces, but nothing is listening on port 8003, even though I have configured the manager to listen on port 8003. I have restarted the manager process to get it to reload the config, made no difference. I rewritten the config for the mgr to make it specific for 1 manager instance. Made no difference. I made the single node on which I tried this to work the active manager (and had the other 2 stopped), and then restarted it. Made no difference.
How do I get the REST API to run on port 8003, so I can let Zabbix use the API and start monitoring my Ceph from Zabbix?
I'm running a Proxmox 9 cluster with Ceph Squid. I want to monitor the status of Ceph with my Zabbix install. There is a nice template for Zabbix, which automatically adds OSDs and pools to the monitoring, if I add them in Proxmox. It detects that all by itself. Also it has a ton of metrics about everything in Zabbix. I would love to use that!
The issue I'm facing is that this template (well, Zabbix Agent 2, actually, that has a Go module for Ceph monitoring build in) wants to use the REST API that is build in to Ceph. It wants to connect via HTTPS to port 8003, by default. The port is configurable, but I can live with this standard port. When I check one of my PVEs, which has the Ceph Manager process running, I see the following:
Code:
# ceph mgr module ls | grep restful
restful on
# lsof -Pni:8003 | wc -l
0
# ceph config dump | grep restful
mgr advanced mgr/restful/server_addr 127.0.0.1 *
mgr advanced mgr/restful/server_port 8003 *
So, the REST API module is loaded into the manager proces, but nothing is listening on port 8003, even though I have configured the manager to listen on port 8003. I have restarted the manager process to get it to reload the config, made no difference. I rewritten the config for the mgr to make it specific for 1 manager instance. Made no difference. I made the single node on which I tried this to work the active manager (and had the other 2 stopped), and then restarted it. Made no difference.
How do I get the REST API to run on port 8003, so I can let Zabbix use the API and start monitoring my Ceph from Zabbix?