Kubernetes(K8s)安装Prometheus

news/2024/5/19 1:32:45 标签: kubernetes, prometheus, docker

1、安装Prometheus Operator

官方文档:https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/getting-started.md

Prometheus Operator是一种Kubernetes原生的应用程序,用于管理Prometheus实例和相关的监控组件。它可以通过自定义资源定义(CRD)来管理Prometheus实例和相关的监控组件,大大简化了Prometheus的部署和管理过程。

要安装Prometheus Operator,可以使用Helm chart:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus-operator prometheus-community/kube-prometheus-stack

2、配置Prometheus实例

安装完Prometheus Operator后,可以使用Prometheus自定义资源定义(CRD)来创建Prometheus实例。

以下是一个基本的Prometheus实例配置示例:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: my-prometheus
spec:
  replicas: 1
  version: v2.27.1
  serviceAccountName: prometheus
  securityContext:
    fsGroup: 2000
  serviceMonitorSelector:
    matchLabels:
      app: my-app
  ruleSelector:
    matchLabels:
      app: my-app
  retention: 1d

在上面的示例中,我们定义了一个名为“my-prometheus”的Prometheus实例,它使用了1个副本,版本为v2.27.1。我们还为Prometheus实例指定了一个服务帐户,指定了一个serviceMonitorSelector和ruleSelector,以便Prometheus可以监视我们的应用程序,并设置了一个数据保留期限为1天。

要创建Prometheus实例,请使用kubectl apply命令:

kubectl apply -f prometheus.yaml

3、添加监控目标

要监视Kubernetes集群中的资源,需要将它们添加到Prometheus实例中作为监控目标。可以使用Prometheus
Operator中的ServiceMonitor来定义监控目标。

以下是一个示例ServiceMonitor配置,用于监控名为“my-app”的Kubernetes服务:

apiVersion: monitoring.coreos.com/v1
kind:ServiceMonitor
metadata:
  name: my-app-monitor
spec:
  selector:
    matchLabels:
      app: my-app
  endpoints:
  - port: metrics

在上面的示例中,我们定义了一个名为“my-app-monitor”的ServiceMonitor,它选择标签为“app:my-app”的Kubernetes服务作为监控目标,并定义了一个名为“metrics”的端口。

要创建ServiceMonitor,请使用kubectl apply命令:

kubectl apply -f service-monitor.yaml

4、访问Prometheus UI

安装完Prometheus Operator和Prometheus实例后,可以通过访问Prometheus UI来查看监控数据。可以通过Port Forwarding的方式将Prometheus UI端口映射到本地计算机上:

kubectl port-forward service/my-prometheus-operator-prometheus 9090

然后,可以通过浏览器访问http://localhost:9090/来访问Prometheus UI。在Prometheus
UI中,可以查看监控数据、配置报警规则等。


http://www.niftyadmin.cn/n/139040.html

相关文章

开源新生代的成长之路:从校园到开源,需要迈过哪些挑战?

#17176 (https://github.com/apache/doris/issues/17176) 在 Apache Doris 社区是一个特殊的存在。跟大多开源社区相似的地方在于,这属于社区为了吸引更多新生力量参与而设置的 Good First Issue。不同的地方在于,新生力量对于参与…

Flink从入门到精通系列(三)

4、Flink 运行时架构 4.1、系统架构 Flink 就是一个分布式的并行流处理系统,简单来说,它会由多个进程构成,这些进程一般会分布运行在不同的机器上。 对于一个分布式系统来说,需要面对很多棘手的问题,其中的核心问题…

零基础做油管搬运二创项目的正确方式,短视频小白玩家套利的可能

油管搬运项目,不知道大家了不了解,如果你只是简单的搬运其实这种行为很危险的,今天东哥想给大家开辟另一个新思路新法子,就是油管视频二创!感兴趣的接着看下去吧。 什么是二创? 在当前二次创作大行其道的背…

0104 MySQL作业

1.取得每个部门最高薪水的人员名称 1.取得每个部门最高薪水(按部门编号分组,找出每一组最大值) select deptno,max(sal) as maxsal from emp group by deptno; 2.将以上查询结果当作一张临时表t,和emp表连接 条件:t.deptno e…

SpringCloud五大组件

微服务SpringCloud整合技术组件基本流程: 引入组件启动器依赖坐标覆盖默认配置即application.properties配置文件(每个微服务只有一个并且服务启动默认加载)引导类(微服务入口即main方法)自定义开启组件注解 SpringCloudEureka 服务注册中心,分为Eurek…

ABAQUS免费培训 Abaqus成型 焊接 疲劳多工况课程

一、详解Abaqus多工况分析在工程中,多工况的情况是普遍存在的情况,而单工况孤立存在是十分理想状态下的假设。例如我们在进行强度分析时,都是假设其本身是不存在应力的,然后基于这种无初始应力下的计算,使得我们不得不…

要做一个关于DDD的内部技术分享,记录下用到的资源,学习笔记(未完)

最后更新于2023年3月10日 14:28:08 问题建模》软件分层》具体结构,是层层递进的关系。有了问题建模,才能进行具体的软件分层的讨论,再有了分层,才能讨论在domain里面应该怎么实现具体结构。 1、问题建模:Domain、Mod…

C语言运算符优先级以及记忆方式

C语言运算符优先级 C语言中运算符的优先级从高到低如下: 一元运算符:! – (正数)-(负数)& (取地址)*(指针值) 乘除模运算符:* / % 加减运…