Prometheus 监控 K8S pod 的解决方案 ( nginx,web应用 )

Prometheus 监控 K8S pod 的解决方案

nginx 是一个开源的 Web 服务器,通常用作反向代理、负载均衡器和 Web 缓存。专为高负载的并发连接而设计,它快速、通用、可靠,最重要的是,资源非常少。 在本文中,您将学习如何使用 Prometheus 监控 Kubernetes 中的 nginx,以及如何解决与延迟
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
添加nginx 配置文件

vim nginx.conf
server {
    listen 80;
    listen [::]:80;
    server_name localhost default_server;
    client_max_body_size 200m;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        try_files $uri/index.html /index.html;
    }
}

server {
   listen 8080;
   server_name  localhost;

   location /stub_status {
        stub_status on;
        access_log off;
      }
}

[root@node2 ]# cat index.html 
这是测试页面  感谢
aaaaaaaaaaa
ddddddddddddd

添加 dockerfile 文件

FROM nginx
COPY index.html /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

构建nginx images 镜像

docker build -t nginx:v1 -f dockerfile .
kind: Deployment
apiVersion: apps/v1
metadata:
  name: web-nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: web-nginx
  template:
    metadata:
      annotations:
        prometheus.io/scrape: 'true'
        prometheus.io/port: '9113'
      labels:
        k8s-app: web-nginx
    spec:
      containers:
        - image: nginx:v1
          name: web-nginx
          ports:
            - containerPort: 80

        - name: nginx-prometheus
          image: 857676355/nginx-prometheus:v1
          args:
            - '-nginx.scrape-uri=http://localhost:8080/stub_status'
          resources:
            limits:
              memory: 128Mi
              cpu: 128m

运行pod

[root@node2 ~]# kubectl  apply -f demo2.yaml 
deployment.apps/web-nginx created
[root@node2 ~]# 

监控配置prometheus文件
1.配置 prometheus-config
告警规则 和 监控

    global:
      scrape_interval: 2s
      scrape_timeout: 2s
      evaluation_interval: 2s
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          - 192.168.1.104:9093        #alertmanagersIP
    rule_files:
      - "/etc/prometheus-rules/rules"
    scrape_configs:

    - job_name: 'prometheus'
      static_configs:
      - targets: ['localhost:9090']

    - job_name: 'k8s-nodes'
      kubernetes_sd_configs:
      - role: node
      scheme: https
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - target_label: __address__
        replacement: kubernetes.default.svc:443
      - source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        target_label: __metrics_path__
        replacement: /api/v1/nodes/${1}/proxy/metrics

    - job_name: 'kubernetes-pods'
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
        action: keep
        regex: true
      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
        action: replace
        target_label: __metrics_path__
        regex: (.+)
      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
        action: replace
        regex: ([^:]+)(?::\d+)?;(\d+)
        replacement: $1:$2
        target_label: __address__
      - action: labelmap
        regex: __meta_kubernetes_pod_label_(.+)
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: kubernetes_namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: kubernetes_pod_name




https://yunlzheng.gitbook.io/prometheus-book/part-iii-prometheus-shi-zhan/readmd/use-prometheus-monitor-kubernetes
这是官网的注解

告警规则


    groups:

    - name: Down
      rules:
      - alert: Down
        expr: up == 0
        for: 30s
        labels:
          severity: critical
        annotations:
          description: "服务不可用,已经掉线"


在这里插入图片描述

看到这个图就说明 已经监控上了 pod

添加监控
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值