Prometheus监控容器、pod、邮件告警

Cadvisor 进行收集,通过 Prometheus 作为数据源,利用 Grafana 进行展示。

环境说明:

已做工作可以参考上一篇文章Prometheus、Grafan基于docker部署

主机名IP部署功能
master192.168.143.140Grafan 容器 Prometheus 容器 node_exporter
node1192.168.143.141cadvisor容器 node_exporter

node1主机上 用此命令运行容器google/cadvisor官方镜像

docker run \
 --volume=/:/rootfs:ro \
 --volume=/var/run:/var/run:ro \
 --volume=/sys:/sys:ro \
 --volume=/var/lib/docker/:/var/lib/docker:ro \
 --volume=/dev/disk/:/dev/disk:ro \
 --publish=8080:8080 \
 --detach=true \
 --name=cadvisor \
 --privileged \
 --device=/dev/kmsg \
 google/cadvisor

[root@node1 ~]# docker run \
>  --volume=/:/rootfs:ro \
>  --volume=/var/run:/var/run:ro \
>  --volume=/sys:/sys:ro \
>  --volume=/var/lib/docker/:/var/lib/docker:ro \
>  --volume=/dev/disk/:/dev/disk:ro \
>  --publish=8080:8080 \
>  --detach=true \
>  --name=cadvisor \
>  --privileged \
>  --device=/dev/kmsg \
>  google/cadvisor

2

3

4

5

master 主机上配置prometheus.yml文件
使prometheus能够接受到node1采集的信息

[root@master ~]# vim /opt/prometheus.yml 
# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.143.140:9100"]
  - job_name: "Linux Server"  
    static_configs:                    
      - targets: 
        - 192.168.143.141:9100
        - 192.168.143.142:9100
//新增配置
  - job_name: "cadvisor Service "  
    static_configs:                    
      - targets: ["192.168.143.141:8080"]
 //重启docker,也可以docekr restart   prometheus   
[root@master ~]# systemctl restart docker

//master上面查看,监控状态发现有新的节点

6
//发现原来的模板监控不了,此时添加新的模板
11

添加新的模板
7

8

9

10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Prometheus 监控 Pod 使用率,并设置告警规则进行告警。以下是具体步骤: 1. 在 Kubernetes 集群中安装 Prometheus Operator。 2. 在 Prometheus Operator 中创建一个 ServiceMonitor,用于监控 Pod 使用率。 3. 在 Prometheus 中配置相应的指标收集规则,例如: ``` - job_name: 'kubernetes-pods' kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_container_name] action: keep regex: my-container - source_labels: [__meta_kubernetes_pod_name] action: replace target_label: pod_name metric_relabel_configs: - source_labels: [__name__] action: replace target_label: metric regex: container_memory_usage_bytes - source_labels: [pod_name] action: replace target_label: pod regex: (.+) - source_labels: [__meta_kubernetes_namespace] action: replace target_label: namespace ``` 其中,`__meta_kubernetes_pod_container_name`和`__meta_kubernetes_pod_name`是 Kubernetes 的标准标签,可以用来选择要监控Pod容器。`container_memory_usage_bytes`是用来收集 Pod 内存使用率的指标。 4. 设置告警规则,例如: ``` groups: - name: pod-alerts rules: - alert: PodMemoryUsageHigh expr: sum(container_memory_usage_bytes{namespace="my-namespace", pod=~"my-pod.*", container="my-container"}) / sum(container_spec_memory_limit_bytes{namespace="my-namespace", pod=~"my-pod.*", container="my-container"}) > 0.8 for: 1m labels: severity: warning annotations: summary: "Memory usage is high in Pod {{ $labels.pod }}" description: "Memory usage is high ({{ printf "%.2f" $value }}%) in container {{ $labels.container }}" ``` 这个告警规则用于监控 Pod 内存使用率,当内存使用率超过 80% 时,触发告警,并在告警信息中包含 Pod容器的名称。 5. 在 Prometheus Operator 中配置 Alertmanager,用于接收和处理告警信息。 通过以上步骤,就可以使用 Prometheus 监控 Pod 使用率,并设置告警规则进行告警
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值