]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: add Loki to grafana datasources
authorAvan Thakkar <athakkar@redhat.com>
Mon, 31 Jan 2022 12:05:31 +0000 (17:35 +0530)
committerAdam King <adking@redhat.com>
Tue, 3 May 2022 00:48:34 +0000 (20:48 -0400)
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Co-authored-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 66b2f03e8a028dd692ec95a0f97f3183a4bc8b56)

src/cephadm/cephadm
src/pybind/mgr/cephadm/services/monitoring.py
src/pybind/mgr/cephadm/templates/services/grafana/ceph-dashboard.yml.j2
src/pybind/mgr/cephadm/templates/services/grafana/loki-datasource.yml.j2 [new file with mode: 0644]

index f732857e18a7e6c0f5d2cca60de1fe6e21762f6c..f8966b26de74cffde5ff6c1bf1d6ac950af8afd5 100755 (executable)
@@ -550,7 +550,7 @@ class Monitoring(object):
                 '--config.file=/etc/loki/loki.yml',
             ],
             'config-json-files': [
-                'loki.yml',
+                'loki.yml'
             ],
         },
         'promtail': {
index d7a057cddef14589abcf70c6a32362a36e9e938e..ed165b9f1be0f8e02e58443952e79f7fc161b4fb 100644 (file)
@@ -36,8 +36,13 @@ class GrafanaService(CephadmService):
             prom_services.append(build_url(scheme='http', host=addr, port=port))
 
             deps.append(dd.name())
+            
+        loki_services = []  # type: List[str]
+        for dd in self.mgr.cache.get_daemons_by_service('mgr'):
+            addr = self.mgr.inventory.get_addr(dd.hostname)
+            loki_services.append(build_url(scheme='http', host=addr, port=3100))    
         grafana_data_sources = self.mgr.template.render(
-            'services/grafana/ceph-dashboard.yml.j2', {'hosts': prom_services})
+            'services/grafana/ceph-dashboard.yml.j2', {'hosts': prom_services, 'loki_hosts': loki_services})
 
         cert = self.mgr.get_store('grafana_crt')
         pkey = self.mgr.get_store('grafana_key')
index 170e6f246f6df6f40b37c705c2c1541913b5ef11..95c3ca28cc433854b249b176d4302ecb78667ee5 100644 (file)
@@ -4,6 +4,10 @@ deleteDatasources:
   - name: 'Dashboard{{ loop.index }}'
     orgId: 1
 {% endfor %}
+{% for loki_host in loki_hosts %}
+  - name: 'Loki{{ loop.index }}'
+    orgId: 1
+{% endfor %}
 
 datasources:
 {% for host in hosts %}
@@ -16,3 +20,12 @@ datasources:
     isDefault: {{ 'true' if loop.first else 'false' }}
     editable: false
 {% endfor %}
+
+  - name: 'Loki'
+    type: 'loki'
+    access: 'proxy'
+    orgId: 1
+    url: '{{ loki_hosts[0] }}'
+    basicAuth: false
+    isDefault: true
+    editable: false
diff --git a/src/pybind/mgr/cephadm/templates/services/grafana/loki-datasource.yml.j2 b/src/pybind/mgr/cephadm/templates/services/grafana/loki-datasource.yml.j2
new file mode 100644 (file)
index 0000000..7f8623d
--- /dev/null
@@ -0,0 +1,16 @@
+# {{ cephadm_managed }}
+deleteDatasources:
+{% for loki_host in loki_hosts %}
+  - name: 'Loki{{ loop.index }}'
+    orgId: 1
+{% endfor %}
+
+datasources:
+  - name: 'Loki{{ loop.index }}'
+    type: 'loki'
+    access: 'proxy'
+    orgId: 1
+    url: '{{ loki_hosts }}'
+    basicAuth: false
+    isDefault: {{ 'true' if loop.first else 'false' }}
+    editable: false