diff --git a/docker/grafana/Dockerfile b/docker/grafana/Dockerfile index afe18dc..b11742c 100644 --- a/docker/grafana/Dockerfile +++ b/docker/grafana/Dockerfile @@ -1 +1,5 @@ -FROM grafana/grafana:latest \ No newline at end of file +FROM grafana/grafana:latest +RUN mkdir -p /etc/grafana/provisioning/datasources /etc/grafana/provisioning/dashboards +COPY custom.ini /etc/grafana/grafana.ini +COPY loki_datasource.yaml /etc/grafana/provisioning/datasources/ +COPY dashboard.json /etc/grafana/provisioning/dashboards/ diff --git a/docker/grafana/custom.ini b/docker/grafana/custom.ini new file mode 100644 index 0000000..54535e3 --- /dev/null +++ b/docker/grafana/custom.ini @@ -0,0 +1,11 @@ +datasources: + - name: Loki + type: loki + access: proxy # Access mode: 'proxy' (default) or 'direct' + url: http://loki_loki + jsonData: + maxLines: 1000 # Maximum number of lines returned per query + # basicAuth: + # username: myuser + # password: mypassword +default_home_dashboard = Loki \ No newline at end of file diff --git a/docker/grafana/dashboard.json b/docker/grafana/dashboard.json new file mode 100644 index 0000000..1c94aa4 --- /dev/null +++ b/docker/grafana/dashboard.json @@ -0,0 +1,17 @@ +{ + "title": "Loki", + "panels": [ + { + "title": "Error Rate", + "type": "graph", + "datasource": "Loki", + "targets": [ + { + "expr": 'sum(rate({job="my-app", level="error"}[1m])) by (level)', + "legendFormat": "{{level}}", + "refId": "A" + } + ] + } + ] + } \ No newline at end of file diff --git a/docker/grafana/loki_datasource.yaml b/docker/grafana/loki_datasource.yaml new file mode 100644 index 0000000..4e5d03e --- /dev/null +++ b/docker/grafana/loki_datasource.yaml @@ -0,0 +1,7 @@ +apiVersion: 1 + +datasources: + - name: Loki + type: loki + access: proxy + url: http://loki_loki:3100 \ No newline at end of file