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

相关推荐
小柏ぁ2 小时前
karmada-descheduler
docker·kubernetes·karmada
莱特昂11 小时前
K8S环境下验证RocketMQ扩缩容
kubernetes·rocketmq·java-rocketmq
chaoren49914 小时前
k8s使用的nfs作为sc。
云原生·容器·kubernetes
binqian16 小时前
【k8s】监控K8S集群
容器·kubernetes·prometheus
it噩梦18 小时前
k8s Quality of Service
云原生·容器·kubernetes
渔阳节度使1 天前
Kubernetes——part11 云原生中间件上云部署 Rocketmq&kafka&zookeeper
云原生·中间件·kubernetes
LeonNo111 天前
k8s,进一步理解Pod
云原生·容器·kubernetes
怡雪~1 天前
k8s的User Account
云原生·容器·kubernetes
binqian2 天前
【k8s】监控metrics-server
云原生·容器·kubernetes