前言
在寫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位置。
謝謝收看,如有疑問,請在下面留言
0 意見:
張貼留言