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

相关推荐
alden_ygq5 小时前
Kubernetes容器运行时:Containerd vs Docker
docker·容器·kubernetes
张青贤8 小时前
K8s中的containerPort与port、targetPort、nodePort的关系:
云原生·容器·kubernetes
小马爱打代码14 小时前
K8S - GitLab CI 自动化构建镜像入门
ci/cd·kubernetes·gitlab
hi,编程哥16 小时前
Docker、ECS 与 K8s 网段冲突:解决跨服务通信中的路由问题
docker·容器·kubernetes
Cloud Traveler19 小时前
Kubernetes vs. OpenShift:深入比较与架构解析
架构·kubernetes·openshift
杰克逊的日记21 小时前
大规模k8s集群怎么规划
云原生·容器·kubernetes
luck_me521 小时前
K8S已经成为了Ai应用运行的平台工具
人工智能·容器·kubernetes
matrixlzp1 天前
K8S Ingress、IngressController 快速开始
云原生·容器·kubernetes
探索云原生1 天前
一文搞懂 GPU 共享方案: NVIDIA Time Slicing
ai·云原生·kubernetes·gpu
格桑阿sir1 天前
Kubernetes控制平面组件:Kubelet 之 Static 静态 Pod
kubernetes·k8s·kubelet·static pod·静态pod·mirror pod·镜像pod