Pages - Menu

2021年9月5日 星期日

[Grafana]GKE上的grafana上寄送告警圖片

前言

在寫grafana的時候,才發現告警的圖片無法寄出,
必須要額外安裝plugin : grafana-image-renderer ,
然後,我又卡住了…


正文

如果你看到這張圖(fig.1),就表示你該裝Grafana Image Renderer了。



(fig.1)

先說結論,我測過『在pod裡面利用grafana-cli 安裝』、『改成使用ubuntu的image預先安裝plugin',都失敗,最後只能建立 grafana-image-renderer的 服務,透過這個服務,負責宣染當下的告警圖,再隨著telegram送出。

佈署的yaml, grafana-image-render.yaml

apiVersion: apps/v1
kind: Deployment

metadata:
namespace: istio-system
name: grafana-image-renderer
labels:
  app: grafana-image-renderer
  version: v1
spec:
replicas: 1
selector:
  matchLabels:
    app: grafana-image-renderer
    version: v1
strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 1
    maxUnavailable: 1
template:
  metadata:
    labels:
      app: grafana-image-renderer
      version: v1
  spec:
    containers:
      - image: grafana/grafana-image-renderer:latest
        imagePullPolicy: "Always"
        name: renderer
        ports:
          - containerPort: 80
        env:
          - name: "RENDERING_VERBOSE_LOGGING"
            value: "true"
        resources:
          requests:
            memory: "30Mi"
            cpu: "30m"
    restartPolicy: Always
    serviceAccountName: ""
---
apiVersion: v1
kind: Service
metadata:
namespace: istio-system
labels:
  app: grafana-image-renderer
name: grafana-image-renderer
spec:
ports:
  - name: "http"
    port: 8081
selector:
  app:  grafana-image-renderer

然後在佈署 grafana的yaml上面,增加環境參數

- name: "GF_RENDERING_SERVER_URL"
  value: "http://grafana-image-renderer.istio-system:8081/render"
- name: "GF_RENDERING_CALLBACK_URL"
  value: "http://grafana.istio-system:3000/grafana/"

如果要開啟debug的話,加上

- name: "GF_LOG_FILTERS"
  value: "rendering:debug"

如果需要更多的log訊息,可參考 grafana-image-renderer,這邊就是改加至grafana-image-renderer上面了。

一開始在測試的時候有碰到一個問題,
那就是抓圖的時候,一直抓到grafana的首頁(Fig.2)



(Fig.2)

後來才發現是 GF_RENDERING_CALLBACK_URL 錯誤,由於我的grafana.ini 的 root_url 是 http://localhost/grafana,
所以 我的網址後面也要加上grafana,但是,如果在grafana.ini上面 的 root_url 寫 http://localhost/grafana
那telegram的告警,顯示的url也會變成localhost (fig.3)



(Fig.3)

所以,grafana.ini的root_url 最好還是寫實際的ip位置。

謝謝收看,如有疑問,請在下面留言

沒有留言:

張貼留言