Prometheus-operator集群监控

github地址:https://github.com/prometheus-operator/kube-prometheus

具体的Prometheus是什么,为什么要用,什么时候用,还请移步本人其他随笔详细查看:https://www.cnblogs.com/v-fan/p/14057366.html

Prometheus-operator又是什么呢?

Prometheus-operator是专门用来监控k8s集群,并实现了一些自身特有的的自动化配置及管理,总得来说,就是使监控k8s集群更简单,更方便,由CoreOS率先引入其概念。

如下所示,是Prometheus Operator的架构示意图:

Prometheus Operator能做什么?

要了解Prometheus Operator能做什么,其实就是要了解Prometheus Operator为我们提供了哪些自定义的Kubernetes资源,列出了Prometheus Operator目前提供的️4类资源:

  1. Prometheus:声明式创建和管理Prometheus Server实例;
  2. ServiceMonitor:负责声明式的管理监控配置;
  3. PrometheusRule:负责声明式的管理告警配置;
  4. Alertmanager:声明式的创建和管理Alertmanager实例。

简单说,Prometheus Operator能够帮助用户自动化的创建以及管理Prometheus Server以及其相应的配置。

一、克隆项目到本地,进行服务构建

1、克隆

注意版本问题!!!页面明确指出分支所支持的kubernetes版本!!!

[root@Centos8 prome-git]# git clone https://github.com/prometheus-operator/kube-prometheus/tree/release-0.3
正克隆到 'kube-prometheus'...
remote: Enumerating objects: 9291, done.
remote: Total 9291 (delta 0), reused 0 (delta 0), pack-reused 9291
接收对象中: 100% (9291/9291), 5.09 MiB | 1.04 MiB/s, 完成.
处理 delta 中: 100% (5692/5692), 完成.

克隆到本地后,可以使用tree命令查看当前目录的树状结构

2、主要配置进行修改

cd kube-prometheus/manifests

## 主要的服务构建yaml文件全部在这里了
## 需要注意的是,要将:
Grafana-service.yaml
prometheus-service.yaml
alertmanager-service.yaml
## 三个svc的访问方式修改为NodePort模式,方便集群外的服务访问

vim grafana-service.yaml

apiVersion: v1
kind: Service
metadata:
labels:
app: grafana
name: grafana
namespace: monitoring
spec:
type: NodePort
ports:
- name: http
port: 3000
nodePort: 30201
targetPort: http
selector:
app: grafana

以下两个配置文件同样是修改此处,不再详细打印配置

vim prometheus-service.yaml

...

vim alertmanager-service.yaml

...

3、可以提前将要使用的镜像pull下来,使启动时更快

cd kube-prometheus/manifests 
for i in `awk -F ':' '/image:/{print $2":"$3}' *.yaml`;do docker pull ${i} ;done

4、开始创建yaml

## 先创建setup目录下的所有yaml,因为这是manifests/下yaml的基础
## setup中的yaml主要创建了自定义的namespace和crd(CustomResourceDefinition;自定义kind类型及api组和版本)
kubectl create -f manifests/setup ## 上一步执行成功后,可以查看自定义crd是否创建成功
[root@Centos8 manifests]# kubectl get crd
NAME CREATED AT
alertmanagers.monitoring.coreos.com 2020-11-10T08:19:16Z
podmonitors.monitoring.coreos.com 2020-11-10T08:19:17Z
prometheuses.monitoring.coreos.com 2020-11-10T08:19:17Z
prometheusrules.monitoring.coreos.com 2020-11-10T08:19:18Z
servicemonitors.monitoring.coreos.com 2020-11-10T08:19:18Z ## 查看自定义的kind:servicemonitors 创建是否成功
until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done ## 开始创建Prometheus-operator资源
kubectl create -f manifests/

如果过程报错想删除,可以执行:kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup

5、检查是否启动完毕

kubectl get all -n monitoring

Pod全部Running正常后,通过svc开始访问grafana和prome即可

二、以上服务构建完成,通过grafana访问prome

1、访问prome:http://hub.vfancloud.com:30202

2、访问grafana:http://hub.vfancloud.com:30201  

默认账号密码:admin/admin

具体资源的使用情况可以点进模板自行查看:

需要注意:此搭建全部是引用了Prometheus-operator的默认监控配置,如果有自定义需求,完全可以自己修改yaml文件中的values等信息;设置告警途径等。

Kubernetes-19:Prometheus-operator集群监控神器的更多相关文章

  1. 理解OpenShift(7):基于 Prometheus 的集群监控

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  2. Kubernetes 1.26.0 集群部署Prometheus监控

    前言 该存储库收集 Kubernetes 清单.Grafana仪表板和Prometheus 规则,结合文档和脚本,使用Prometheus Operator提供易于操作的端到端 Kubernetes ...

  3. 重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

    Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架.它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布.2016 年,Prometheu ...

  4. 049.Kubernetes集群管理-集群监控Metrics

    一 集群监控 1.1 Metrics Kubernetes的早期版本依靠Heapster来实现完整的性能数据采集和监控功能,Kubernetes从1.8版本开始,性能数据开始以Metrics API的 ...

  5. vivo 容器集群监控系统架构与实践

    vivo 互联网服务器团队-YuanPeng 一.概述 从容器技术的推广以及 Kubernetes成为容器调度管理领域的事实标准开始,云原生的理念和技术架构体系逐渐在生产环境中得到了越来越广泛的应用实 ...

  6. 一文读懂clickhouse集群监控

    更多精彩内容,请关注微信公众号:后端技术小屋 一文读懂clickhouse集群监控 常言道,兵马未至,粮草先行,在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括metric采集 ...

  7. 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比

    分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...

  8. kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)

    kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...

  9. SpringCloud (十) Hystrix Dashboard单体监控、集群监控、与消息代理结合

    一.前言 Dashboard又称为仪表盘,是用来监控项目的执行情况的,本文旨在Dashboard的使用 分别为单体监控.集群监控.与消息代理结合. 代码请戳我的github 二.快速入门 新建一个Sp ...

  10. 使用国内的镜像源搭建 kubernetes(k8s)集群

    1. 概述 老话说的好:努力学习,提高自己,让自己知道的比别人多,了解的别人多. 言归正传,之前我们聊了 Docker,随着业务的不断扩大,Docker 容器不断增多,物理机也不断增多,此时我们会发现 ...

随机推荐

  1. TI AM64x工业核心板硬件说明书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)

    1          硬件资源 创龙科技SOM-TL64x是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F设计 ...

  2. 一文搞懂到底什么是 AQS

    前言 日常开发中,我们经常使用锁或者其他同步器来控制并发,那么它们的基础框架是什么呢?如何实现的同步功能呢?本文将详细讲解构建锁和同步器的基础框架--AQS,并根据源码分析其原理. 一.什么是 AQS ...

  3. Claude是否超过Chatgpt,成为生成式AI的一哥?

    Anthropic 周一推出了 Claude 3 ,据这家初创公司称,该系列中最有能力的 Claude 3 Opus 在各种基准测试中都优于 Openai 的竞争对手 GPT-4 和谷歌的 Gemin ...

  4. php 选择驱动写法

    在 ThinkPHP 5.1 中,若要根据配置文件 sms.conf 中的设置在不同的短信渠道之间进行切换,可以采用以下步骤: 第一步:定义接口 首先,创建一个接口,这个接口将由所有短信渠道类实现.这 ...

  5. STM32开发环境配置记录——关于PlatformIO + VSCode + CubeMX的集成环境配置

    前言 ​ 为什么配置这样的一个环境呢?鄙人受够了Keil5那个简陋的工作环境了,实在是用不下去,调试上很容易跟CubeMX的代码产生不协调导致调试--发布代码不一致造成的一系列问题.CubeIDE虽说 ...

  6. 初学者使用1Panel面板快速搭建WordPress网站

    之前介绍了宝塔面板以及如何搭建wordpress网站,这篇文章我们来学习如何使用1Panel面板搭建wordpress网站. 一.1Panel面板介绍 1. 介绍 1Panel 是一个现代化.开源的基 ...

  7. hbuilder打包的应用上架appstore屏幕快照的生成方法

    当我们使用hbuiderX或apicloud这些打包工具进行打包的时候,我们需要将打包好的ipa文件进行上架,但是你会发现,我们上架的时候需要上传5.5寸的iphone.6.5寸的iphone X和两 ...

  8. 查询当前网段的所有在用IP

    查询当前网段的所有在用IP For /L %i in (0,1,254) DO ping 192.168.10.%i >>D:\IP.txt https://www.cnblogs.com ...

  9. Java--匿名类(学习笔记)

    匿名类的特点:(1) 匿名类是final类:(3) 在匿名类中可以定义实例变量和若干个实例初始化代码块和新的实例方法.Java虚拟机首先调用父类的构造方法,然后按照实例变量的和实例初始化代码块定义的先 ...

  10. matplotlib中渐变颜色条转CSS样式(hex格式)——同mapbox中cog的颜色条拉伸显示

    matplotlib中渐变颜色条转CSS样式(hex格式)--同mapbox中cog的颜色条拉伸显示 应用场景: 1.适用于mapbox中显示cog影像时,colormap_name拉伸颜色条转换 2 ...