grafana提供了基于loki的完整安装模式,可基于helm3实现在k8s上完整部署。具体安装与快速使用方式如下所示。
上手指南
添加loki-stack仓库
helm repo add grafana https://grafana.github.io/helm-charts
创建loki namespace
kubectl create namespace loki
部署loki stack
helm install homelab-loki grafana/loki-stack --set grafana.enabled=true --set prometheus.enabled=true --set prometheus.alertmanager.persistentVolume.enabled=false --set prometheus.server.persistentVolume.enabled=false --set loki.persistence.enabled=false --namespace loki
等待各组件部署完成:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4mxepjkh-1687325874728)(https://secure2.wostatic.cn/static/gpaHxokssPZUanWASNjn8n/image.png?auth_key=1687325864-oRA5j7vPnMeW838ubLjQKc-0-215e3867415f8e9ce4fbae42e2828e8e)]
创建grafana nodeport,内容如下:
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: "homelab-loki"
app.kubernetes.io/name: "grafana"
name: grafana-nodeport
spec:
type: NodePort
ports:
- name: http
port: 3000
protocol: TCP
nodePort: 30080
selector:
app.kubernetes.io/instance: "homelab-loki"
app.kubernetes.io/name: "grafana"
将上述内容保存为grafana.yaml,执行
kubectl apply -f grafana.yaml -n loki
之后便可以通过nodeport的30080端口访问grafana。
但是这里的grafana初始化帐号密码并不是传统的admin/admin。具体可以查看grafana容器的环境变量来查看此帐号密码:
kubectl exec -it pod/homelab-loki-grafana-b44544bfd-n2jcw -c grafana-sc-datasources env -n loki | grep REQ
得到:
REQ_PASSWORD=7WyR0QWplAHFpHwhgFxQNFfpF0Az8F1jrvbGqL6q
REQ_URL=http://localhost:3000/api/admin/provisioning/datasources/reload
REQ_METHOD=POST
REQ_USERNAME=admin
那么REQ_USERNAME便为登录帐号,REQ_PASSWORD便为登录密码。(当然该帐号密码也可以在你启动的时候进行设置)
使用上述帐号密码登录grafana,
点击左侧explore,进入日志选择页面
在左上角选择namespace以及pod,然后点击show logs查询得到
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuXnvKTh-1687325874731)(https://secure2.wostatic.cn/static/mdx2knQVr5qG9Kg75C5cTJ/image.png?auth_key=1687325864-pA6iunnsDJiBNZCfHvrmUS-0-384546fdbc833a321e296d7c879dd454)]
当然,点击右上角的Live可以实现日志实施刷新