From: Sebastian Wagner Date: Mon, 4 May 2020 12:33:21 +0000 (+0200) Subject: mgr/cephadm: Add NodeExporterService X-Git-Tag: v16.1.0~2396^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=92c53f58f82fe2638150ac0fd72a2d74876969ad;p=ceph.git mgr/cephadm: Add NodeExporterService Signed-off-by: Sebastian Wagner --- diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index a54f3fc1e375..44c36fce428b 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -40,7 +40,8 @@ from .services.cephadmservice import MonService, MgrService, MdsService, RgwServ RbdMirrorService from .services.nfs import NFSService from .services.osd import RemoveUtil, OSDRemoval, OSDService -from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService +from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \ + NodeExporterService from .inventory import Inventory, SpecStore, HostCache try: @@ -431,6 +432,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule): self.grafana_service = GrafanaService(self) self.alertmanager_service = AlertmanagerService(self) self.prometheus_service = PrometheusService(self) + self.node_exporter_service = NodeExporterService(self) def shutdown(self): self.log.debug('shutdown') @@ -1943,7 +1945,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule): 'grafana': self.grafana_service.create, 'alertmanager': self.alertmanager_service.create, 'prometheus': self.prometheus_service.create, - 'node-exporter': self._create_node_exporter, + 'node-exporter': self.node_exporter_service.create, 'crash': self._create_crash, 'iscsi': self._create_iscsi, } @@ -2341,15 +2343,12 @@ api_secure = {api_secure} def add_node_exporter(self, spec): # type: (ServiceSpec) -> AsyncCompletion return self._add_daemon('node-exporter', spec, - self._create_node_exporter) + self.node_exporter_service.create) @trivial_completion def apply_node_exporter(self, spec): return self._apply(spec) - def _create_node_exporter(self, daemon_id, host): - return self._create_daemon('node-exporter', daemon_id, host) - def add_crash(self, spec): # type: (ServiceSpec) -> AsyncCompletion return self._add_daemon('crash', spec, diff --git a/src/pybind/mgr/cephadm/services/monitoring.py b/src/pybind/mgr/cephadm/services/monitoring.py index f96ea5a61431..27a165ba4bb4 100644 --- a/src/pybind/mgr/cephadm/services/monitoring.py +++ b/src/pybind/mgr/cephadm/services/monitoring.py @@ -268,3 +268,8 @@ scrape_configs: r['files']['/etc/prometheus/alerting/ceph_alerts.yml'] = alerts return r, sorted(deps) + + +class NodeExporterService(CephadmService): + def create(self, daemon_id, host) -> str: + return self.mgr._create_daemon('node-exporter', daemon_id, host)