Skip to main content

Greetings ! 

I have a cluster using Ceph that I would like to monitor.

I set up the restful ceph api like this : 

ceph config set mgr mgr/restful/server_port 8443
ceph config set mgr mgr/restful/server_addr 0.0.0.0
ceph restful create-self-signed-cert
ceph restful create-key centreon #demo user

However, after setting up the host like this : 

I have the following error : 

UNKNOWN: 405 Method Not Allowed


It seems the collector is trying to auth via a post, however it seems the restful api doesn’t auth like this now (I am on Ceph 19.2.3 Squid right now). Is this an issue on my part (I chose the wrong API, maybe ?) or is there a fix to do ?

 

Thanks in advance

Thank you, do you mind sharing your whole command result with `--debug` added at the end. Remember to run it as centreon-engine `su - centreon-engine` and remove any confidential info.


Sure !

Here’s what I get : 
 

su - centreon-engine
$ /usr/lib/centreon/plugins//centreon_ceph_restapi.pl --plugin=apps::ceph::restapi::plugin --mode=osd --hostname='my_IP' --port='8443' --proto='https' --api-username='centreon' --api-password='my_valid_api_password' --insecure --warning-osd-detected='' --critical-osd-detected='' --warning-osd-online='' --critical-osd-online='' --warning-osd-online-prct='' --critical-osd-online-prct='' --warning-osd-participating='' --critical-osd-participating='' --warning-osd-participating-prct='' --critical-osd-participating-prct='' --debug

UNKNOWN: 405 Method Not Allowed
== Info: Trying my_IP...
== Info: Connected to my_IP (my_IP) port 8443 (#0)
== Info: ALPN: offers h2,http/1.1
== Info: TLSv1.3 (OUT), TLS handshake, Client hello (1):
== Info: TLSv1.3 (IN), TLS handshake, Server hello (2):
== Info: TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
== Info: TLSv1.3 (IN), TLS handshake, Certificate (11):
== Info: TLSv1.3 (IN), TLS handshake, CERT verify (15):
== Info: TLSv1.3 (IN), TLS handshake, Finished (20):
== Info: TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
== Info: TLSv1.3 (OUT), TLS handshake, Finished (20):
== Info: SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
== Info: ALPN: server did not agree on a protocol. Uses default.
== Info: Server certificate:
== Info: subject: O=IT; CN=ceph-restful
== Info: start date: Sep 29 07:44:20 2025 GMT
== Info: expire date: Sep 27 07:44:20 2035 GMT
== Info: issuer: O=IT; CN=ceph-restful
== Info: SSL certificate verify result: self-signed certificate (18), continuing anyway.
== Info: using HTTP/1.x
=> Send header: POST /api/auth HTTP/1.1
Host: my_IP:8443
Accept: application/vnd.ceph.api.v1.0+json
Content-Type: application/json
Content-Length: 73

=> Send data: {"username":"centreon","password":"my_valid_api_password"}
== Info: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
== Info: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
== Info: old SSL session ID is stale, removing
== Info: HTTP 1.0, assume close after body
=> Recv header: HTTP/1.0 405 Method Not Allowed
=> Recv header: Server: Werkzeug/3.1.3 Python/3.13.5
=> Recv header: Date: Mon, 29 Sep 2025 13:21:31 GMT
=> Recv header: Allow: GET
=> Recv header: Content-Length: 77
=> Recv header: Content-Type: text/plain; charset=UTF-8
=> Recv header: Connection: close
=> Recv header:
=> Recv data: 405 Method Not Allowed

The method POST is not allowed for this resource.


== Info: Closing connection 0
== Info: TLSv1.3 (OUT), TLS alert, close notify (256):
$

 


Hello,

Is the IP Address you are requesting is the Ceph Dashboard’s address?

It seems the API Centreon use for it’s plugin is the API provided by the Ceph Dashboard module

https://docs.ceph.com/en/latest/mgr/ceph_api/#introduction

Hope it helps


Aah, so one needs to configure the dashboard ceph module, not the restful one.

With ceph as used/embedded in Proxmox, that’s a little bit not-immediately-obvious. With some additional information I could get it to work and I’ll leave those pointers here for posterity:

https://forum.proxmox.com/threads/nautilus-activating-ceph-dashboard.85961/

https://forum.proxmox.com/threads/solved-ceph-dashboard-cause-ceph-manager-fail-to-start.119444/