Prometheus - Installation

本文涉及的产品
可观测监控 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 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
打赏
0
0
0
0
57
分享
相关文章
k8s安装prometheus
##### 安装 在目标集群上,执行如下命令: ```shell kubectl apply -f https://github.com/512team/dhorse/raw/main/conf/kubernetes-prometheus.yml ``` ##### 使用 1.在浏览器访问地址:http://master_ip:30000,如下图所示: 2.查看k8s自带的指标数据,如下图所示:
k8s安装prometheus
【实战】CentOS7 Prometheus+Grafana面板搭建+监控node_exporter+监控mysqld_exporter
有3台主机(CentOS7): 192.168.188.100 服务端 192.168.188.101 客户端 192.168.188.102 客户端 100部署Prometheus(9090)+Grafana(3000) 101部署node_exporter(39100)模块,监控该服务器所用资源情况 102部署mysqld_exporter(39200)模块,监控该服务器上的数据库使用情况
790 0
【2023】Prometheus-Prometheus与Alertmanager配置详解
【2023】Prometheus-Prometheus与Alertmanager配置详解
883 0
【2023】Prometheus-Prometheus与Alertmanager配置详解
Prometheus+Grafana安装配置inux服务器监控
prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。 Prometheus为了支持各种中间件以及第三方的监控提供了exporter,大家可以把它理解成监控适配器,将不同指标类型和格式的数据统一转化为Prometheus能够识别的指标类型。
509 1
Prometheus+Grafana安装配置inux服务器监控
五分钟带你玩转prometheus(三)prometheus+grafana安装(linux)
五分钟带你玩转prometheus(三)prometheus+grafana安装(linux)
236 0
五分钟带你玩转prometheus(三)prometheus+grafana安装(linux)
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.
3099 0
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
1.2 Prometheus 安装
Prometheus是一个监控平台,它通过抓取这些目标主机上采集器暴露的指标来展示监控数据。本文介绍如何安装、配置和监控 Prometheus。你需要下载安装 Prometheus 并且安装 Exporter,这些工具采集了主机和对应服务的时间序列数据。
2507 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等