Prometheus(一)——概述、监控体系、生态组件、部署

目录

前言:zabbix与prometheus区别

一、Prometheus概述

1.1  Prometheus具有以下特性

1.2  Prometheus核心组件

二、运维监控平台设计思路

三、prometheus监控体系 

监控体系

3.1 系统层监控(需要监控的数据)

3.2 中间件及基础设施类监控端监控(移动APP、特定程序等)

3.3 应用层监控

3.4 业务层监控 

四、prometheus时序数据

4.1  数据来源

4.2  收集数据

4.3  prometheus(获取方式) 

五、prometheus的部署

六、prometheus生态组件 

6.1  prometheus-server

6.2  pushgateway (短期周期任务)

6.3  exporters (常规任务—守护进程)

6.4.service discovery:原生支持k8s的服务发现,支持consul、DNS等

6.5.prometheus内置TSDB数据库作为存储(时序数据的储存,promtheus的TSDB数据库默认保存15天,可以自行调整)

6.6 alertmanagr

6.7  data visualization

6.8  PrmoQL (告警规则编写)

6.9 UI : 表达式浏览器(调试)

七、总结

7.1  prometheus如何收集k8s/服务的–三种方式收集

7.2  如何防止告警信息轰炸

7.3 prometheus 工作流程

7.4  prometheus监控什么

7.4.1 网络监控

7.4.2 存储监控

7.4.3 服务器监控

7.4.4 中间件监控

7.5 常见的时间序列数据库

7.6 四个黄金指标 

7.6.1 延迟:服务请求所需时间

7.6.2 通讯量:监控当前系统的流量,用于衡量服务的容量需求

7.6.3 错误:监控当前系统所有发生的错误请求,衡量当前系统错误发生的速率

7.6.4 饱和度:衡量当前服务的饱和度

前言:zabbix与prometheus区别

  • 和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。
  • zabbix的客户端agent可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而Prometheus的上报客户端则分为不同语言的SDK和不同用途的exporter两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的exporter来直接开箱使用,通过http通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。
  • zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。
  • 界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得良好的监控体验,搭配Grafana还是二者的必走之路。

一、Prometheus概述

  • borgmon (监控系统) 对应克隆的版本:prometheus(go语言)
  • 所以prometheus 特别适合K8S 的架构上,作为一个数据监控解决方案,它由一个大型社区支持,有来自700多家公司的6300个贡献者,13500个代码提交和7200个拉取请求

1.1  Prometheus具有以下特性

  1. 多维的数据模型(基于时间序列的Key、value键值对)
  2. 灵活的查询和聚合语言PromQL
  3. 提供本地存储和分布式存储
  4. 通过基于HTTP和HTTPS的Pull模型采集时间序列数据(pull数据的拉取,时间序列:每段 时间点的数据值指标,持续性的产生。横轴标识时间,纵轴为数据值,一段时间内数值的动态变化,所有的点连线形成大盘式的折线图)
  5. 可利用Pushgateway (Prometheus的可选中间件)实现Push模式
  6. 可通过动态服务发现或静态配置发现目标机器(通过consul自动发现和收缩)
  7. 支持多种图表和数据大盘
  • 补充: apen-Falcaon(夜莺)是小米开源的企业级监控工具,用Go语言开发,包括小米、滴滴、美团等在内的互联网公司都在使用它,是一款灵活、可拓展并且高性能的监控方案。

1.2  Prometheus核心组件

整个Prometheus生态包含多个组件,除了Prometheus server组件其余都是可选的

  • Prometheus Server:主要的核心组件,用来收集和存储时间序列数据。
  • Client Library::客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • push gateway:主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
  • 各种支持工具。

二、运维监控平台设计思路

1.数据收集模块
2.数据提取模块(prometheus-TSDB,查询语言是promQL)
3.监控告警模块(布尔值表达式判断是否需要告警,不成立是健康状态)

  • 可以细化为6层
第六层:用户展示管理层   同一用户管理、集中监控、集中维护
第五层:告警事件生成层   实时记录告警事件、形成分析图表(趋势分析、可视化)
第四层:告警规则配置层   告警规则设置、告警伐值设置(定义布尔值表达式,筛选异常状态)
第三层:数据提取层       定时采集数据到监控模块
第二层:数据展示层       数据生成曲线图展示(对时序数据的动态展示)
第一层:数据收集层       多渠道监控数据(网络,硬件,应用,数据,物理环境)

三、prometheus监控体系 

监控体系

3.1 系统层监控(需要监控的数据)

  • CPU、Load、Memory、swap、disk i/o、process等
  • 网络监控 :网络设备、工作负载、网络延迟、丢包率等

3.2 中间件及基础设施类监控端监控(移动APP、特定程序等)

  • 消息中间件:kafka、RocketMQ、等消息代理
  • WEB服务器容器:tomcat、weblogic/apache/php/spring系列
  • 数据库/缓存数据库:MysQL、PostgresQL、MogoDB、es、redis

监控数据库哪些东西?例如redis监控内容:

  • redis所在服务器的系统层监控
  • redis 服务状态
  • RDB AOF日志监控
  • 日志—>如果是哨兵模式—>哨兵共享集群信息,产生的日志—>直接包含的其他节点哨兵信息及redis信息
  • key的数量
  • key被命中的数量/次数
  • 最大连接数——>redis 和 系统:
  • 系统:ulimit -a redis :redis-cli 登陆——> config get maxclients 查看最大连接

3.3 应用层监控

  • 用于衡量应用程序代码状态和性能
  • #监控的分类#:黑盒监控,白盒监控( promtheus)
白盒监控 :自省指标,等待被下载(只需要去拿就行)

黑盒指标: 基于探针的监控方式,不会主动干预、影响数据(摄像头这种)

3.4 业务层监控 

  • 用于衡量应用程序的价值,如电商业务的销售量,ops、dau日活、转化率等,业务接口:登入数量,注册数、订单量、搜索量和支付量

四、prometheus时序数据

  • 时序数据,是在一段时间内通过重复测量(measurement)而获得的观测值的集合将这些观测值绘制于图形之上,它会有一个数据轴和一个时间轴,服务器指标数据、应用程序性能监控数据、网络数据等也都是时序数据;

4.1  数据来源

  • prometheus基于HTTP call (http/https请求),从配置文件中指定的网络端点(endpoint/IP:端口)上周期性获取指标数据
  • 很多环境、被监控对象,本身是没有直接响应/处理http请求的功能,promethens-exporter则可以在被监控端收集所需的数据,收集过来之后,还会做标准化,把这些数据转化为prometheus可识别,可使用的数据(兼容格式)

4.2  收集数据

  • 监控概念 : 白盒监控、黑盒监控
  • 白盒监控 : 自省方式,被监控端内部,可以自己生成指标,只要等待监控系统来采集时提供出去即可
  • 黑盒监控 : 对于被监控系统没有侵入性,对其没有直接"影响",这种类似于基于探针机制进行监控( snmp协议)

Prometheus支持通过三种类型的途径从目标上"抓取(Scrape)"指标数据(基于白盒监控)

Exporters一>工作在被监控端,周期性的抓取数据并转换为pro兼容格式等待prometheus来收集,自己并不推送
Instrumentation一>指被监控对象内部自身有数据收集、监控的功能,只需要prometheus直接去获取
Pushgateway —>短周期5s-10s的数据收集脚本

4.3  prometheus(获取方式) 

Prometheus同其它TSDB相比有一个非常典型的特性:它主动从各Target上拉取(pull)数据,而非等待被监控端的推送(push)

两个获取方式各有优劣,其中,Pull模型的优势在于:

  • 集中控制:有利于将配置集在Prometheus server上完成,包括指标及采取速率等;
  • Prometheus的根本目标在于收集在target上预先完成聚合的聚合型数据,而非一款由事件驱动的存储系统通过targets(标识的是具体的被监控端)
  • 比如配置文件中的targets : [ ‘localhost:9090’]

五、prometheus的部署

[root@localhost ~]# rz
[root@localhost ~]# ls
anaconda-ks.cfg                       公共  图片  音乐
initial-setup-ks.cfg                  模板  文档  桌面
prometheus-2.27.1.linux-amd64.tar.gz  视频  下载
[root@localhost ~]# tar zxvf prometheus-2.27.1.linux-amd64.tar.gz -C /usr/local/
---
[root@localhost ~]# cd /usr/local/
[root@localhost local]# cd prometheus-2.27.1.linux-amd64/
[root@localhost prometheus-2.27.1.linux-amd64]# ./prometheus
---
#另开一台终端
[root@localhost ~]# netstat -natp | grep 9090
tcp6       0      0 :::9090                 :::*                    LISTEN      10161/./prometheus  
tcp6       0      0 ::1:9090                ::1:46988               ESTABLISHED 10161/./prometheus  
tcp6       0      0 ::1:46988               ::1:9090                ESTABLISHED 10161/./prometheus  
---
  • 登录网址192.168.223.20:9090
  • 表达式浏览器

mark

#如果有warning报错的话:
[root@localhost ~]# ntpdate ntp1.aliyun.com
 7 Dec 22:53:32 ntpdate[21741]: adjust time server 120.25.115.20 offset 0.002993 sec
 [root@localhost ~]# init 6
 #进入网页再刷新一下即可

mark

访问192.168.223.20:9090/metrics

六、prometheus生态组件 

prometheus架构图:

6.1  prometheus-server

  • etrieval(获取数据pull/discover) ,TSDB存储,HTPserver
  • 控制台接口,内建了数据样本采集器,可以通过配置文件定义,告诉prometheus到那个监控对象中采集指标数据,prometheus采集过后,会存储在自己内建的TSDB数据库中(默认为2个月时间)),提供了prompL支持查询和过滤操作,同时支持自定义规则来作为告警规则,持续分析一场指标,一旦发生,通知给alerter来发送告警信息,还支持对接外置的UI工具(grafana)来展示数据

6.2  pushgateway (短期周期任务)

  • 允许短暂和批量作业将其指标暴露给普罗米修斯,由于这些类型的作业可能存在时间不足而被删除,因此他们可以将其指标推送到pushgateway,然后pushgateway将这些指标暴露给Prometheus-server端,主要用于业务数据汇报

6.3  exporters (常规任务—守护进程)

专门采集一些web服务,nginx,mysgl服务。因为不适合直接通过nttp的方式采集数据,所以需要通过exporter采集数据(下载mysqgl_exporter,采集mysql数据指标)cadvisor: docker数据收集工具(docker也有自己内置的监控收集方式)
exporter和instrumtations,负责专门服务数据的收集然后暴露出来等待promtheus收集

6.4.service discovery:原生支持k8s的服务发现,支持consul、DNS等

6.5.prometheus内置TSDB数据库作为存储(时序数据的储存,promtheus的TSDB数据库默认保存15天,可以自行调整)

  • ps:时间序列数据库(时序数据库)主要用于指处理代表签(按照时间的顺序变化,既时间序列化)的数据,带时间标签的数据也成为时间序列数据,这是一种特殊类型的数据库,一般不会保存长时间的数据(与mysql相比)
  • 数据保存时间storge.tsdb.retention=90d参数中修改即可(或启动时间指定)

6.6 alertmanagr

prometheus可以生成告警信息,但是不能直接提供告警,需要使用一个外置的组件altermanager来进行告警,emailetctif优势在于,收敛、支持静默、去重、可以防止告警信息的轰炸

6.7  data visualization

prometheus web ui (prometheus-server内建,表达式浏览器),也可以使用grafana

6.8  PrmoQL (告警规则编写)

通常告警规则的文件指定输出到展示界面(grafana)

6.9 UI : 表达式浏览器(调试)

七、总结

7.1  prometheus如何收集k8s/服务的–三种方式收集

  • Exporters(指标暴露器) :收集节点的信息、将数据格式化或转化为promtheus可识别的http这种转化方式/镜像拉取方式
  • Instrumentation (应用内置的指标暴露器): 收集有内置指标暴露器的信息
  • Pushgateway : 收集短周期的数据

7.2  如何防止告警信息轰炸

alertmanagr: prometheus可以生成告警信息,但是不能直接提供告警,需要使用一个外置的组件altermanager来进行告警,emailetctif优势在于,收敛、支持静默、去重、可以防止告警信息的轰炸

  • 把这条告警规则中的支持静默开启,让它必须,配置文件里直接改alertmanagr改一个单词

7.3 prometheus 工作流程

  1. Prometheus server定期从配置好的jobs或者exporters中拉取metrics,或者接收来自 Pushgateway发送过来的metrics,或者从其它的Prometheus server中拉metrics。
  2. Prometheus server在本地存储收集到的metrics,并运行定义好的alerts.rules,记录新的时间序列或者向Alert manager推送警报。
  3. Alertmanager根据配置文件,对接收到的警报进行处理,发出告警。
  4. 在图形界面中,可视化采集数据。
基本原理

服务发现:Prometheus周期性得以pull的形式对target进行指标采集,而监控目标集合是通过配置文件中所定义的服务发现机制来动态生成的。也可以静态配置;
relabel:当服务发现得到所有target后,Prometheus会根据job中的relabel_configs配置对target进行relabel操作,得到target最终的label集合。
采集:进行完上述操作后,Prometheus为这些target创建采集循环,按配置文件里配置的采集间隔进行周期性拉取,采集到的数据根据Job中的metrics_relabel_configs进行relabel,然后再加入上边得到的target最终label集合,综合后得到最终的数据。
存储:Prometheus不会将采集到的数据直接落盘,而是会将近2小时的series缓存在内存中,2小时后,Prometheus会进行一次数据压缩,将内存中的数据落盘。
流程:服务发现 ==> targets ==> relabel ==> 抓取 ==> metrics_relabel ==> 缓存 ==> 2小时落盘
  1. Prometheus Server 可定期从活跃的目标主机上(target)拉取监控指标数据,目标主机的监控数据可以通过配置静态job或者服务发现的方式被Prometheus server采集到,这种方式默认是pull方式拉取指标;也可以通过pushgateway把采集的数据上报到Prometheus server中;还可以通过一些组件自带的exporter采集相应组件的数据;
  2. Prometheus server的时间序列把采集到的监控指标数据整合并保存到本地的磁盘或者数据库中;
  3. Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到Alertmanager;
  4. Alertmanager 通过配置报警接受方,发送报警到邮件,微信等;
  5. Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据;
  6. Grafana 可接入Prometheus数据源,把监控数据以图形化展示出;

7.4  prometheus监控什么

7.4.1 网络监控

网络性能监控:主要涉及网络监测,网络实时流量监控(网络延迟、访问量、成功率)和历史数据统计、汇总和历史数据分析等功能。
网络***检测:主要针对内网或者外网的网络***。如DDoS***的。通过分析异常流量来确定网络***行为。
设备监控:主要针对数据中心内的多种网络设备进行监控。包括路由器,防火墙和交换机等硬件设备,可以通过snmp等协议收集数据。

7.4.2 存储监控

存储性能监控方面:存储通常监控块的读写速率,IOPS。读写延迟,磁盘用量等;文件存储通常监控文件系统inode。读写速度、目录权限等。
存储系统监控方面:不同的存储系统有不同的指标,例如,对于ceph存储需要监控OSD, MON的运行状态,各种状态pg的数量以及集群IOPS等信息。
存储设备监控方面:对于构建在x86服务器上的存储设备,设备监控通过每个存储节点上的采集器统一收集磁盘、SSD、网卡等设备信息;存储厂商以黑盒方式提供商业存储设备,通常自带监控功能,可监控设备的运行状态,性能和容量的。

7.4.3 服务器监控

CPU:涉及整个 CPU 的使用量、用户态百分比、内核态百分比,每个 CPU 的使用量、等待队列长度、I/O 等待百分比、CPU 消耗最多的进程、上下文切换次数、缓存命中率等。
内存:涉及内存的使用量、剩余量、内存占用最高的进程、交换分区大小、缺页异常等。
网络 I/O:涉及每个网卡的上行流量、下行流量、网络延迟、丢包率等。
磁盘 I/O:涉及硬盘的读写速率、IOPS、磁盘用量、读写延迟等。

7.4.4 中间件监控

消息中间件: RabbitMQ Exporter、Kafka Exporter
Web 服务中间件:Apache Exporter、Nginx Exporter
数据库中间件:MySQL Exporter、PostgreSQL Exporter、Redis Exporter

7.5 常见的时间序列数据库

TSDB项目官网
influxDBInfluxDB: Open Source Time Series Database | InfluxData
RRDtoolRRDtool - About RRDtool
GraphiteGraphite
OpenTSDBOpenTSDB - A Distributed, Scalable Monitoring System
Kdb+KX: The Leading Provider of Time-Series Database Technology
DruidDruid | Database for modern analytics applications
KairosDBKairosDB
PrometheusPrometheus - Monitoring system & time series database

7.6 四个黄金指标 

4个黄金指标可以在服务级别帮助衡量终端用户体验、服务中断、业务影响等层面的问题。主要关注与以下四种类型的指标:延迟,通讯量,错误以及饱和度:

7.6.1 延迟:服务请求所需时间

记录用户所有请求所需的时间,重点是要区分成功请求的延迟时间和失败请求的延迟时间。 例如在数据库或者其他关键祸端服务异常触发HTTP 500的情况下,用户也可能会很快得到请求失败的响应内容,如果不加区分计算这些请求的延迟,可能导致计算结果与实际结果产生巨大的差异。除此以外,在微服务中通常提倡“快速失败”,开发人员需要特别注意这些延迟较大的错误,因为这些缓慢的错误会明显影响系统的性能,因此追踪这些错误的延迟也是非常重要的。

7.6.2 通讯量:监控当前系统的流量,用于衡量服务的容量需求

流量对于不同类型的系统而言可能代表不同的含义。例如,在HTTP REST API中, 流量通常是每秒HTTP请求数;

7.6.3 错误:监控当前系统所有发生的错误请求,衡量当前系统错误发生的速率

对于失败而言有些是显式的(比如, HTTP 500错误),而有些是隐式(比如,HTTP响应200,但实际业务流程依然是失败的)。
对于一些显式的错误如HTTP 500可以通过在负载均衡器(如Nginx)上进行捕获,而对于一些系统内部的异常,则可能需要直接从服务中添加钩子统计并进行获取。

7.6.4 饱和度:衡量当前服务的饱和度

主要强调最能影响服务状态的受限制的资源。 例如,如果系统主要受内存影响,那就主要关注系统的内存状态,如果系统主要受限与磁盘I/O,那就主要观测磁盘I/O的状态。因为通常情况下,当这些资源达到饱和后,服务的性能会明显下降。同时还可以利用饱和度对系统做出预测,比如,“磁盘是否可能在4个小时候就满了”。

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微服务是什么?微服务是用于构建应用程序的架构风格,一个大的系统可由一个或者多个微服务组成,微服务架构可将应用拆分成多个核心功能,每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作和出现故障的时候不会相互影响。为什么要用微服务?单体架构下的所有代码模块都耦合在一起,代码量大,维护困难,想要更新一个模块的代码,也可能会影响其他模块,不能很好的定制化代码。微服务中可以有java编写、有Python编写的,他们都是靠restful架构风格统一成一个系统的,所以微服务本身与具体技术无关、扩展性强。大型电商平台微服务功能图为什么要将SpringCloud项目部署到k8s平台?SpringCloud只能用在SpringBoot的java环境中,而kubernetes可以适用于任何开发语言,只要能被放进docker的应用,都可以在kubernetes上运行,而且更轻量,更简单。SpringCloud很多功能都跟kubernetes重合,比如服务发现,负载均衡,配置管理,所以如果把SpringCloud部署到k8s,那么很多功能可以直接使用k8s原生的,减少复杂度。Kubernetes作为成熟的容器编排工具,在国内外很多公司、世界500强等企业已经落地使用,很多中小型公司也开始把业务迁移到kubernetes中。kubernetes已经成为互联网行业急需的人才,很多企业都开始引进kubernetes技术人员,实现其内部的自动化容器云平台的建设。对于开发、测试、运维、架构师等技术人员来说k8s已经成为的一项重要的技能,下面列举了国内外在生产环境使用kubernetes的公司: 国内在用k8s的公司:阿里巴巴、百度、腾讯、京东、360、新浪、头条、知乎、华为、小米、富士康、移动、银行、电网、阿里云、青云、时速云、腾讯、优酷、抖音、快手、美团等国外在用k8s的公司:谷歌、IBM、丰田、iphone、微软、redhat等整个K8S体系涉及到的技术众多,包括存储、网络、安全、监控、日志、DevOps、微服务等,很多刚接触K8S的初学者,都会感到无从下手,为了能让大家系统地学习,克服这些技术难点,推出了这套K8S架构师课程。Kubernetes的发展前景 kubernetes作为炙手可热的技术,已经成为云计算领域获取高薪要掌握的重要技能,在招聘网站搜索k8s,薪资水平也非常可观,为了让大家能够了解k8s目前的薪资分布情况,下面列举一些K8S的招聘截图: 讲师介绍:  先超容器云架构师、IT技术架构师、DevOps工程师,曾就职于世界500强上市公司,拥有多年一线运维经验,主导过上亿流量的pv项目的架构设计和运维工作;具有丰富的在线教育经验,对课程一直在改进和提高、不断的更新和完善、开发更多的企业实战项目。所教学员遍布京东、阿里、百度、电网等大型企业和上市公司。课程学习计划 学习方式:视频录播+视频回放+全套源码笔记 教学服务:模拟面试、就业指导、岗位内推、一对一答疑、远程指导 VIP终身服务:一次购买,终身学习课程亮点:1. 学习方式灵活,不占用工作时间:可在电脑、手机观看,随时可以学习,不占用上班时间2.老师答疑及时:老师24小时在线答疑3. 知识点覆盖全、课程质量高4. 精益求精、不断改进根据学员要求、随时更新课程内容5. 适合范围广,不管你是0基础,还是拥有工作经验均可学习:0基础1-3年工作经验3-5年工作经验5年以上工作经验运维、开发、测试、产品、前端、架构师其他行业转行做技术人员均可学习课程部分项目截图   课程大纲 k8s+SpringCloud全栈技术:基于世界500强的企业实战课程-大纲第一章 开班仪式老师自我介绍、课程大纲介绍、行业背景、发展趋势、市场行情、课程优势、薪资水平、给大家的职业规划、课程学习计划、岗位内推第二章 kubernetes介绍Kubernetes简介kubernetes起源和发展kubernetes优点kubernetes功能kubernetes应用领域:在大数据、5G、区块链、DevOps、AI等领域的应用第三章  kubernetes中的资源对象最小调度单元Pod标签Label和标签选择器控制器Replicaset、Deployment、Statefulset、Daemonset等四层负载均衡器Service第四章 kubernetes架构和组件熟悉谷歌的Borg架构kubernetes单master节点架构kubernetes多master节点高可用架构kubernetes多层架构设计原理kubernetes API介绍master(控制)节点组件:apiserver、scheduler、controller-manager、etcdnode(工作)节点组件:kube-proxy、coredns、calico附加组件prometheus、dashboard、metrics-server、efk、HPA、VPA、Descheduler、Flannel、cAdvisor、Ingress     Controller。第五章 部署多master节点的K8S高可用集群(kubeadm)第六章 带你体验kubernetes可视化界面dashboard在kubernetes部署dashboard通过token令牌登陆dashboard通过kubeconfig登陆dashboard限制dashboard的用户权限在dashboard界面部署Web服务在dashboard界面部署redis服务第七章 资源清单YAML文件编写技巧编写YAML文件常用字段,YAML文件编写技巧,kubectl explain查看帮助命令,手把手教你创建一个Pod的YAML文件第八章 通过资源清单YAML文件部署tomcat站点编写tomcat的资源清单YAML文件、创建service发布应用、通过HTTP、HTTPS访问tomcat第九章  kubernetes Ingress发布服务Ingress和Ingress Controller概述Ingress和Servcie关系安装Nginx Ingress Controller安装Traefik Ingress Controller使用Ingress发布k8s服务Ingress代理HTTP/HTTPS服务Ingress实现应用的灰度发布-可按百分比、按流量分发第十章 私有镜像仓库Harbor安装和配置Harbor简介安装HarborHarbor UI界面使用上传镜像到Harbor仓库从Harbor仓库下载镜像第十一章 微服务概述什么是微服务?为什么要用微服务?微服务的特性什么样的项目适合微服务?使用微服务需要考虑的问题常见的微服务框架常见的微服务框架对比分析第十二章 SpringCloud概述SpringCloud是什么?SpringCloud和SpringBoot什么关系?SpringCloud微服务框架的优缺点SpringCloud项目部署到k8s的流程第十三章 SpringCloud组件介绍服务注册与发现组件Eureka客户端负载均衡组件Ribbon服务网关Zuul熔断器HystrixAPI网关SpringCloud Gateway配置中心SpringCloud Config第十四章 将SpringCloud项目部署到k8s平台的注意事项如何进行服务发现?如何进行配置管理?如何进行负载均衡?如何对外发布服务?k8s部署SpringCloud项目的整体流程第十五章 部署MySQL数据库MySQL简介MySQL特点安装部署MySQL在MySQL数据库导入数据对MySQL数据库授权第十六章 将SpringCLoud项目部署到k8s平台SpringCloud的微服务电商框架安装openjdk和maven修改源代码、更改数据库连接地址通过Maven编译、构建、打包源代码在k8s中部署Eureka组件在k8s中部署Gateway组件在k8s中部署前端服务在k8s中部署订单服务在k8s中部署产品服务在k8s中部署库存服务第十七章 微服务的扩容和缩容第十八章 微服务的全链路监控什么是全链路监控?为什么要进行全链路监控?全链路监控能解决哪些问题?常见的全链路监控工具:zipkin、skywalking、pinpoint全链路监控工具对比分析第十九章 部署pinpoint服务部署pinpoint部署pinpoint agent在k8s中重新部署带pinpoint agent的产品服务在k8s中重新部署带pinpoint agent的订单服务在k8s中重新部署带pinpoint agent的库存服务在k8s中重新部署带pinpoint agent的前端服务在k8s中重新部署带pinpoint agent的网关和eureka服务Pinpoint UI界面使用第二十章 基于Jenkins+k8s+harbor等构建企业级DevOps平台第二十一章 基于Promethues+Alert+Grafana搭建企业级监控系统第二十二章 部署智能化日志收集系统EFK 
对于Prometheus监控部署,你可以按照以下步骤进行操作: 1. 首先,你需要下载并安装Prometheus。你可以从Prometheus官方网站上下载可执行文件,根据你的操作系统选择适合的版本。 2. 在安装目录下创建一个配置文件(通常命名为`prometheus.yml`),用于指定Prometheus的配置信息。在该配置文件中,你可以定义需要监控的目标,例如服务器、应用程序等。 3. 配置文件中,你需要指定需要监控的目标的详细信息,如IP地址、端口等。你可以使用静态配置或动态发现服务(如Consul、Kubernetes等)来自动发现要监控的目标。 4. 启动Prometheus服务。在命令行中运行Prometheus可执行文件,并指定配置文件的路径。例如:`prometheus --config.file=prometheus.yml` 5. 访问Prometheus的Web界面。默认情况下,Prometheus会启动一个Web服务器,你可以通过浏览器访问`http://localhost:9090`来查看监控指标和执行查询。 6. 配置告警规则(可选)。你可以在Prometheus配置文件中定义告警规则,当监控指标达到预设的阈值时,Prometheus将发送警报通知。 7. 集成其他服务或工具。Prometheus具有丰富的生态系统,你可以通过与其他工具(如Grafana、Alertmanager)集成,以进一步增强监控和告警功能。 这是一个基本的Prometheus监控部署过程,你可以根据实际需要进行进一步配置和定制化。希望对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值