]> git-server-git.apps.pok.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)
committerAvan Thakkar <athakkar@redhat.com>
Thu, 10 Feb 2022 11:06:35 +0000 (16:36 +0530)
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Co-authored-by: Aashish Sharma <aasharma@redhat.com>
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 58c8f225abb4aac62f600d3c167f65ba0da798c9..47a4a6f15ca9911b1f48de9ecc07a72f593efe7e 100755 (executable)
@@ -453,7 +453,7 @@ class Monitoring(object):
                 '--config.file=/etc/loki/loki.yml',
             ],
             'config-json-files': [
-                'loki.yml',
+                'loki.yml'
             ],
         },
         'promtail': {
index fa89dc27b4a86a36529c4fef2499c28feefa0739..59c3d94a605d246c613acff80e28d9d7b134c896 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