else:
need = {
'prometheus': ['mgr', 'alertmanager', 'node-exporter', 'ingress'],
- 'grafana': ['prometheus'],
+ 'grafana': ['prometheus', 'loki'],
'alertmanager': ['mgr', 'alertmanager', 'snmp-gateway'],
+ 'promtail': ['loki'],
}
for dep_type in need.get(daemon_type, []):
for dd in self.cache.get_daemons_by_type(dep_type):
deps.append(dd.name())
- daemons = self.mgr.cache.get_daemons_by_service('mgr')
+ daemons = self.mgr.cache.get_daemons_by_service('loki')
loki_host = ''
- assert daemons is not None
- if daemons != []:
+ if daemons:
assert daemons[0].hostname is not None
addr = daemons[0].ip if daemons[0].ip else self._inventory_get_fqdn(daemons[0].hostname)
loki_host = build_url(scheme='http', host=addr, port=3100)
def generate_config(self, daemon_spec: CephadmDaemonDeploySpec) -> Tuple[Dict[str, Any], List[str]]:
assert self.TYPE == daemon_spec.daemon_type
deps: List[str] = []
- hostnames: List[str] = []
- for dd in self.mgr.cache.get_daemons_by_service('mgr'):
- assert dd.hostname is not None
- addr = self.mgr.inventory.get_addr(dd.hostname)
- hostnames.append(addr)
+ daemons = self.mgr.cache.get_daemons_by_service('loki')
+ loki_host = ''
+ if daemons:
+ assert daemons[0].hostname is not None
+ loki_host = daemons[0].ip or self._inventory_get_fqdn(daemons[0].hostname)
+
context = {
- 'hostnames': hostnames,
- 'client_hostname': hostnames[0],
+ 'client_hostname': loki_host,
}
yml = self.mgr.template.render('services/promtail.yml.j2', context)
filename: /tmp/positions.yaml
clients:
- - url: http://1::4:3100/loki/api/v1/push
+ - url: http://:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- - targets:
- - 1::4
- labels:
+ - labels:
job: Cluster Logs
__path__: /var/log/ceph/**/*.log""").lstrip()
type: 'loki'
access: 'proxy'
orgId: 2
- url: 'http://[1::4]:3100'
+ url: ''
basicAuth: false
isDefault: true
editable: false""").lstrip(),
" type: 'loki'\n"
" access: 'proxy'\n"
' orgId: 2\n'
- " url: 'http://[1::4]:3100'\n"
+ " url: ''\n"
' basicAuth: false\n'
' isDefault: true\n'
' editable: false',