Prometheus - Installation

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
可观测监控 Prometheus 版,每月50GB免费额度
简介: 云原生监控方案 Prometheus 在 Kubernetes Operator的安装管理实现


image.jpeg

https://prometheus-operator.dev/

Prometheus Operator

功能

自定义资源类型,用于部署rometheus、AlertManager等组件

简化部署配置,从 Kubernetes 资源配置 Prometheus 相关功能,例如版本、持久性、保留策略。

简化监控目标配置,基于 Kuberentes 标签查询自动生成监控目标,动态服务发现。


安装

Helm:

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

helm fetch prometheus-community/kube-prometheus-stack

helm install -f values.yaml  prometheus-stack prometheus-community/kube-prometheus-stack -n monitor


YAML:

git clone https://github.com/prometheus-operator/kube-prometheus.git

cd kube-prometheus && git checkout v0.7.0

# 创建 Operator 及 CRD

kubectl apply -f manifests/setup

until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done

# 等待前置条件(Operator 及 CRD )完成后在进行部署资源对象

kubectl apply -f manifests/

架构

image.jpeg

Operator 作为控制器首先会创建 Prometheus、ServiceMonitor、AlertManager、PrometheusRule等资源对象,然后会一直 Watch 这些资源对象的事件变化从而做出修正。


Prometheus

该 CRD 声明 Prometheus 在 Kubernetes 集群中运行的配置,例如持久化、副本数量等。

Operator 通过在指定的命名空间以 StatefulSet 形式部署对应资源,并且挂载同名的 Secret 对象为的配置。

根据 ServiceMonitor 生成监控目标配置,并且在 Secret 对象中更新。


ServiceMonitor

该 CRD 声明 Prometheus 如何监控一组动态的服务,使用标签进行选择那些 Service 进行监控。

按照定义的规则进行发现新的服务,从而无需重新配置。

利用 Service 中的 EndPoint 字段填充在 Prometheus Scrape Target 从而收集监控指标。


PodMonitor

该 CRD 声明 Prometheus 如何监控一组动态的 Pods,使用标签进行选择那些 Pods 进行监控。

按照定义的规则进行发现新的 Pods,从而无需重新配置。

发现的目标可以来自于任何的命名空间,PodMonitorSpec: namespaceSelector 进行约束命名空间。

与 ServiceMonitor 区别就是不需要 Service 资源对象,针对 Pods 标签进行选择。


PrometheusRule

该 CRD 声明 Prometheus 监控指标的告警规则,包括 Recording Rules 及 Alerting。

AlertManager

该 CRD 声明 AlertManager 在 Kubernetes 集群中运行的配置,例如持久化、副本数量等。

Operator 通过在指定的命名空间以 StatefulSet 形式部署对应资源,并且挂载同名的 Secret 对象为的配置。


AlertmanagerConfig

该 CRD 声明 AlertManager 如何去进行告警或者抑制,包括 Route、Receviers。

按照定义的规则进行推送到邮件、微信、钉钉、短信、电话等。


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
相关文章
|
5月前
|
Prometheus 数据可视化 Cloud Native
Grafana 系列文章(四):Grafana Explore
Grafana 系列文章(四):Grafana Explore
Grafana 系列文章(四):Grafana Explore
|
5月前
|
消息中间件 Prometheus Kubernetes
Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing
Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing
|
5月前
|
数据可视化 API
Grafana 系列文章(七):Grafana Explore 中的 Tracing
Grafana 系列文章(七):Grafana Explore 中的 Tracing
|
Kubernetes 容器
Kubernetes【升级】 CKS 2021【11】---Cluster Hardening - Upgrade Kubernetes
Kubernetes【升级】 CKS 2021【11】---Cluster Hardening - Upgrade Kubernetes
Kubernetes【升级】 CKS 2021【11】---Cluster Hardening - Upgrade Kubernetes
|
机器学习/深度学习 Ubuntu iOS开发
【Elastic Engineering】Beats:解密 Filebeat 中的 setup 命令
这个步骤非常重要,但是描述的内容并不是很多。为什么需要这个步骤呢?它到底能够做什么呢?
558 0
【Elastic Engineering】Beats:解密 Filebeat 中的 setup 命令
|
Shell 微服务 Perl
Istio - Installation
了解Istio 安装,以及配置详解
225 0
Istio - Installation
|
Ubuntu 关系型数据库 MySQL
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
In this tutorial, we will explore how to install Docker on Alibaba Cloud and learn some important Docker commands to help you deploy and manage your container services.
3041 0
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
|
关系型数据库 MySQL 数据库管理