@@ -145,7 +145,7 @@ def index(self) -> str:
145145<head><title>Cephadm HTTP Endpoint</title></head>
146146<body>
147147<h2>Cephadm Service Discovery Endpoints</h2>
148- <p><a href='prometheus/sd-config?service=mgr-prometheus '>mgr/Prometheus http sd-config</a></p>
148+ <p><a href='prometheus/sd-config?service=ceph '>mgr/Prometheus http sd-config</a></p>
149149<p><a href='prometheus/sd-config?service=alertmanager'>Alertmanager http sd-config</a></p>
150150<p><a href='prometheus/sd-config?service=node-exporter'>Node exporter http sd-config</a></p>
151151<p><a href='prometheus/sd-config?service=haproxy'>HAProxy http sd-config</a></p>
@@ -161,26 +161,23 @@ def index(self) -> str:
161161 @cherrypy .tools .json_out ()
162162 def get_sd_config (self , service : str ) -> List [Dict [str , Collection [str ]]]:
163163 """Return <http_sd_config> compatible prometheus config for the specified service."""
164- if service == 'mgr-prometheus' :
165- return self .prometheus_sd_config ()
166- elif service == 'alertmanager' :
167- return self .alertmgr_sd_config ()
168- elif service == 'node-exporter' :
169- return self .node_exporter_sd_config ()
170- elif service == 'haproxy' :
171- return self .haproxy_sd_config ()
172- elif service == 'ceph-exporter' :
173- return self .ceph_exporter_sd_config ()
174- elif service == 'nvmeof' :
175- return self .nvmeof_sd_config ()
176- elif service == 'nfs' :
177- return self .nfs_sd_config ()
178- elif service == 'smb' :
179- return self .smb_sd_config ()
180- elif service .startswith ("container" ):
164+
165+ if service .startswith ("container" ):
181166 return self .container_sd_config (service )
182- else :
183- return []
167+
168+ service_to_config = {
169+ 'mgr-prometheus' : self .prometheus_sd_config ,
170+ 'ceph' : self .prometheus_sd_config ,
171+ 'alertmanager' : self .alertmgr_sd_config ,
172+ 'node-exporter' : self .node_exporter_sd_config ,
173+ 'haproxy' : self .haproxy_sd_config ,
174+ 'ingress' : self .haproxy_sd_config ,
175+ 'ceph-exporter' : self .ceph_exporter_sd_config ,
176+ 'nvmeof' : self .nvmeof_sd_config ,
177+ 'nfs' : self .nfs_sd_config ,
178+ 'smb' : self .smb_sd_config ,
179+ }
180+ return service_to_config .get (service , lambda : [])()
184181
185182 def prometheus_sd_config (self ) -> List [Dict [str , Collection [str ]]]:
186183 """Return <http_sd_config> compatible prometheus config for prometheus service.
0 commit comments