helm 安装 prometheus loki grafana

前言

我有个应用 需要接入一下指标跟日志收集,就采用k8s安装了 prometheus loki grafana

安装prometheus跟grafana

这个就比较简单,直接使用bitnami的charts就行

这里感谢一下大佬,谢谢大佬的镜像仓库,很好用! 大佬地址

配置文件如下:

bash 复制代码
# prometheus-values.yml
global:
  imageRegistry: "dockerpull.org"
server:
#我这里使用clusterIP的原因是因为我有traefik作为网关代理
  service:
    type: ClusterIP
alertmanager:
  service:
    type: ClusterIP      
bash 复制代码
# grafana-values.yml
global:
  imageRegistry: "dockerpull.org"
admin:
  password: "yourPassword"
persistence:
  enabled: false

安装

bash 复制代码
helm install -f prometheus-values.yml prometheus bitnami/prometheus -n monitor
helm install -f grafana-values.yml grafana bitnami/grafana -n monitor

装完了之后,使用traefik配置一下两个的域名,也就是配一下ingressRoute

bash 复制代码
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: grafana-web--com-tls
  namespace: monitor  
spec:
  entryPoints:
    - websecure
  routes:
  - match: Host(`grafana.xxx.com`)
    kind: Rule
    services:
    - name: grafana
      port: 3000
bash 复制代码
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: prometheus-web-com-tls
  namespace: monitor  
spec:
  entryPoints:
    - websecure
  routes:
  - match: Host(`prometheus.xxx.com`)
    kind: Rule
    services:
    - name: prometheus-server
      port: 80

在grafana里面配置一下数据源

安装loki

这里为什么要把loki单独拿出来讲呢,因为bitnami没有,至少截止至2024/12/04是没有的

这里我就只能使用官方的chart了 也就是 grafana/loki 但是呢 官方的chart配置太臃肿了,我们想定制也很麻烦,比如service的type, persitence 的 storageclass或者 resource-size,还有官方的 golbal.image.registry居然不生效,我没那么多时间去单独写一个chart了,我只能在官方的chart的values.yml文件上改了,我改了拉取镜像的registry以及storage

文件如下 下载

安装

bash 复制代码
helm install -f loki-values.yml loki grafana/loki -n monitor

对接grafana

chart安装成功后 console会打印如下注释

bash 复制代码
***********************************************************************
Connecting Grafana to Loki
***********************************************************************

If Grafana operates within the cluster, you'll set up a new Loki datasource by utilizing the following URL:

http://loki-gateway.monitor.svc.cluster.local/

***********************************************************************
Multi-tenancy
***********************************************************************

Loki is configured with auth enabled (multi-tenancy) and expects tenant headers (`X-Scope-OrgID`) to be set for all API calls.

You must configure Grafana's Loki datasource using the `HTTP Headers` section with the `X-Scope-OrgID` to target a specific tenant.
For each tenant, you can create a different datasource.

The agent of your choice must also be configured to propagate this header.
For example, when using Promtail you can use the `tenant` stage. https://grafana.com/docs/loki/latest/send-data/promtail/stages/tenant/

When not provided with the `X-Scope-OrgID` while auth is enabled, Loki will reject reads and writes with a 404 status code `no org id`.

You can also use a reverse proxy, to automatically add the `X-Scope-OrgID` header as suggested by https://grafana.com/docs/loki/latest/operations/authentication/

For more information, read our documentation about multi-tenancy: https://grafana.com/docs/loki/latest/operations/multi-tenancy/

按照文档操作即可

我这里的url 是 http://loki-gateway ,跟文档不一样的原因是 我的grafana跟loki在同一个 namespace,可以省略 .svc.cluster.local

相关推荐
KubeSphere 云原生8 小时前
云原生周刊:在 Kubernetes 上运行机器学习
云原生·容器·kubernetes
企鹅侠客14 小时前
k8s-dashboard-v2.0.0-beta6部署
云原生·容器·kubernetes
奋斗的蛋黄14 小时前
SRE 进阶:AI 驱动的集群全自动化排查指南(零人工干预版)
运维·人工智能·kubernetes·自动化
戮戮16 小时前
一次深入排查:Spring Cloud Gateway TCP 连接复用导致 K8s 负载均衡失效
tcp/ip·spring cloud·kubernetes·gateway·负载均衡·netty
能不能别报错18 小时前
K8s学习笔记(二十四) ingress
笔记·学习·kubernetes
能不能别报错18 小时前
K8s学习笔记(二十三) 网络策略 NetworkPolicy
笔记·学习·kubernetes
suknna19 小时前
记一次 Kubebuilder Operator 开发中的 CRD 注解超限问题
kubernetes
victory04311 天前
K8S 安装 部署 文档
算法·贪心算法·kubernetes
能不能别报错2 天前
K8s学习笔记(二十二) 网络组件 Flannel与Calico
笔记·学习·kubernetes
lijun_xiao20092 天前
DevOps(devops/k8s/docker/Linux)学习笔记
docker·kubernetes·devops