helm安装prometheus+grafana,监控nginx

本文介绍了如何使用Helm来安装Prometheus和Grafana,以监控Nginx服务。包括获取图表信息、修改配置、设置Nginx暴露给Prometheus、安装nginx-prometheus-exporter、配置Prometheus服务器和Grafana仪表板,以及设置告警规则和告警转发到邮箱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

helm安装prometheus+grafana,监控nginx

Get Repo Info

helm repo add grafana https://grafana.github.io/helm-charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

Installing the Chart

helm install grafana -n monitor grafana/grafana
helm install prometheus -n monitor prometheus-community/prometheus

一些修改

We need to visit the UI page to see the effect, so we expose the ports of prometheus-altermanager, prometheus, and granfana. And made ingress for grafana (although it was not used much).
我们应该修改svc的type为NodePort, 接下来是grafana的ingress文件

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grafana
  namespace: monitor
spec:
  tls:
    - hosts:
      - grafana.digiits.xzf
  rules:
  - host: grafana.digiits.xzf
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: grafana
            port:
              number: 80

k apply -f ingress.yaml

get user/password from secret

xzfa@xiongzfa:~/workfiles/yaml/monitor$ k get secrets -n monitor 
NAME                                        TYPE                                  DATA   AGE
grafana                                     Opaque                                3      10d

xzfa@xiongzfa:~/workfiles/yaml/monitor$ k edit  secrets -n monitor grafana

base64 user/password

配置nginx接入prometheus

nginx需要把自己的信息给暴露出来,需要再default.conf文件中进行配置,因为测试需要经常修改,因此我只是做了一个pvc把配置文件挂载出来。之后会用configmap的方式挂载配置文件。

因为关于vue的配置在之前的部署在部署文档中写过,这里只是做了一个修改,因此ingress、svc、vue的挂载就不再多说。下面只是对deployment的一些修改、以及nginx配置文件的挂载


apiVersion: v1
kind: PersistentVolume
metadata:
 name: nginx
spec:
 capacity:
   storage: 100m
 volumeMode: Filesystem
 accessModes:
 - ReadWriteMany
 hostPath:
   path: "/mnt/nginx/"
   type: DirectoryOrCreate
 persistentVolumeReclaimPolicy: Delete
 storageClassName: local-path

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: nginx
spec:
 accessModes:
   - ReadWriteMany
 volumeMode: Filesystem
 resources:
   requests:
     storage: 100m
 storageClassName: "local-path"

apiVersion: apps/v1
kind: Deployment
metadata:
 
### 使用 Helm 部署 Prometheus 到 Kubernetes #### 准备工作 在开始之前,确保已安装并配置好 `kubectl` 和 `helm` 工具,并且能够正常访问目标 Kubernetes 集群。 #### 下载 Helm Chart 包 下载官方提供的 `kube-prometheus-stack` Helm Chart 包,该包包含了完整的 Prometheus 监控栈,包括 Prometheus Server、Alertmanager、Node Exporter 等组件。执行以下命令完成下载: ```bash helm pull prometheus-community/kube-prometheus-stack ``` 这会生成一个名为 `kube-prometheus-stack-<version>.tgz` 的压缩文件[^2]。 #### 解压 Helm Chart 包 解压刚刚下载的 `.tgz` 文件以便查看其内容或进行自定义修改: ```bash tar -zxvf kube-prometheus-stack-*.tgz cd kube-prometheus-stack-* ``` #### 安装 Prometheus Stack 运行以下命令来安装 Prometheus 及其相关组件到指定命名空间(如 `prometheus`)。如果命名空间不存在,则需先创建它: ```bash kubectl create namespace prometheus helm install prometheus-instance prometheus-community/kube-prometheus-stack --namespace prometheus ``` 此命令会在默认设置下启动整个监控系统[^5]。 #### 自定义 Values 配置 为了满足特定需求,可能需要调整某些参数。编辑 `values.yaml` 文件中的相关内容后再重新部署即可实现个性化定制。例如,要让服务可通过 Ingress 访问外部网络,在对应部分启用 ingress 设置[^4]: ```yaml server: ingress: enabled: true annotations: nginx.ingress.kubernetes.io/rewrite-target: / hosts: - prometheus.example.com ``` #### Node Exporter 配置 作为收集节点级别性能数据的重要组成部分之一,`kube-prometheus-stack` 默认已经集成好了 node-exporter 。无需额外操作就能自动发现所有 worker nodes 并采集相关信息[^3]。 --- ### 总结 上述过程描述了一个基于 Helm 的简单方法用于快速搭建一套功能齐全的 Prometheus K8S 监控环境。从基础镜像拉取到最后的服务上线都做了详细介绍,同时也给出了针对特殊场景下的高级选项指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值