1.监控-Prometheus-Grafana

本文详细介绍了如何使用Docker部署Prometheus监控系统,包括安装、配置Prometheus服务器与exporters,以及与Grafana集成展示容器指标。此外,还展示了如何通过实例监控Docker容器并设置告警。

Docker-Prometheus

一、监控

1.1 监控的意义

  • 及时的发现问题,提醒工程师尽快的去解决问题,减少公司的损失。
  • 提升了产品的品质,增强了用户的信任。

监控(monitor): 监视我们的服务器或者服务,一旦出现问题,要告诉我们(告警),运维人员及时去处理,将公司的损失减少到最小。

监控: 在公司里非常重要,任何公司都重视,还需要监控
背后: 收集数据,分析数据,可以提前预知一些问题,及时处理

1.2 监控的工具 – prometheus

官方网站:https://prometheus.io/

架构 – 组件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTqMnQ3I-1662223043770)(D:\Typora\photo\image-20220901162034155.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sg5mjs0j-1662223043771)(D:\Typora\photo\image-20220901165628511.png)]

1、Prometheus server:

TSDB:

time series database --> 时间序列的数据库 --》 hdd/sdd

PromQL:prometheus的query language – prometheus 时序数据库里的查询语言

hdd:机械磁盘 – hard disk drive

ssd:固态磁盘 – solid state drive

HTTP server:

web服务–》Prometheus web UI 网页用户界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5b43NsJc-1662223043771)(D:\Typora\photo\image-20220901164723951.png)]

Retrieval:

主动拿取被监控机器的数据给prometheus server

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kv9Du7vW-1662223043772)(D:\Typora\photo\image-20220901163230445.png)]

2、exporters

在被监控的服务器上安装exporter 。

exporter : 是prometheus的客户端程序,需要安装到被监控的服务器上。exporter是一个程序,需要去定制,但是prometheus平台给我们开发了很多通用的或者定制的exporter。

exporter会到客户机(被监控的服务器上)收集指定的指标数据,例如:cpu的使用率,内存的使用率,磁盘的使用情况,网络的带宽使用情况等等数据。

cpu,内存,磁盘,网络带宽–》通用常规的指标。

nginx,MySQL,redis软件的内部的数据—》定制的exporter。

3、Pushgateway:

中间的服务器 – 中间临时存放时间的地方

短时间运行的程序可以主动将自己的数据push到pushgateway里存放,然后prometheus server到pushgateway去拉数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTXwwudy-1662223043772)(D:\Typora\photo\image-20220901163946845.png)]

4、Altermanager:

设置监控告警通知软件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vqr1pxwN-1662223043772)(D:\Typora\photo\image-20220901164636869.png)]

Grafana

是一个图形展示的软件

到prometheus的时序数据库里拿数据,然后展示图形

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IueD38pi-1662223043773)(D:\Typora\photo\image-20220901164743797.png)]

1.3 docker安装prometheus

容器安装:

 docker run -d -p 9090:9090 --name sc-prom-1   prom/prometheus

访问prometheus

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sopfumNj-1662223043773)(D:\Typora\photo\image-20220901171423949.png)]

1.4 prometheus源码安装

官方文档:Download | Prometheus

最新版:https://github.com/prometheus/prometheus/releases/download/v2.38.0/prometheus-2.38.0.linux-amd64.tar.gz

本文用2.34版本安装测试~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O9vPRK1y-1662223043773)(D:\Typora\photo\image-20220902112255947.png)]

一台普罗米修斯可以同时监控上万台机器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aLmr85yY-1662223043773)(D:\Typora\photo\image-20220902115100246.png)]

1、下载源码包到linux服务器中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LUqNd8VO-1662223043773)(D:\Typora\photo\image-20220902111406803.png)]

[root@prometheus ~]# ls
anaconda-ks.cfg 
在 Kubernetes 环境中集成 Rancher、PrometheusGrafana 可以实现对容器化应用的全面监控。这种集成方案通常包括以下关键组件:Prometheus 用于采集和存储指标数据,Grafana 用于可视化展示,而 Rancher 作为 Kubernetes 集群管理平台,提供一键部署和管理监控组件的能力。 ### 集成配置步骤 #### 1. 使用 Rancher 部署 PrometheusGrafana Rancher 提供了开箱即用的集群监控功能,可以通过其 UI 界面一键部署 PrometheusGrafana。具体步骤如下: - 登录 Rancher 管理界面,选择目标 Kubernetes 集群。 - 在集群概览页面中找到“监控”部分,点击启用集群监控- Rancher 会自动部署 Prometheus Operator,并配置 PrometheusGrafana 实例。 - 可以在部署时配置数据持久化选项,以确保 Grafana 的仪表板和 Prometheus监控数据在 Pod 重启后不会丢失[^3]。 #### 2. Prometheus 的配置 Prometheus 通过抓取目标(scrape targets)来收集指标数据。在 Kubernetes 中,通常使用服务发现机制自动发现监控目标。 - Prometheus 的配置文件 `prometheus.yml` 中定义了抓取配置和规则。 - 在 Rancher 中部署的 Prometheus 实例,其配置由 Prometheus Operator 管理,可以通过 `Prometheus` 自定义资源进行配置。 - 可以通过 `ServiceMonitor` 资源定义需要监控的服务端点,Prometheus 会自动发现这些端点并开始抓取指标[^2]。 示例 `ServiceMonitor` 配置: ```yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: example-app labels: app: example-app spec: selector: matchLabels: app: example-app endpoints: - port: web interval: 15s ``` #### 3. Grafana 的配置 Grafana 用于可视化 Prometheus 收集到的指标数据。可以通过以下步骤配置 Grafana- 登录 Grafana 界面(默认地址为 `http://<grafana-service>:3000`)。 - 添加 Prometheus 作为数据源,配置其 URL 为 Prometheus 服务的地址。 - 导入预定义的仪表板模板,如 Kubernetes 集群监控模板(ID: 6417)或自定义仪表板。 - 配置告警规则并集成 Alertmanager,以便在指标异常时发送通知[^1]。 #### 4. 数据持久化配置 为了确保 Grafana 的配置和仪表板数据在 Pod 重启或集群故障后仍然可用,需要配置持久化存储: - 对于 Prometheus,由于其以 StatefulSet 形式部署,即使禁用监控再重新启用,也能自动挂载之前的 PVC,保留历史数据。 - Grafana 以 Deployment 形式部署,若禁用监控后 PVC 被删除,PV 状态变为 `Released`,需手动将 PV 状态恢复为 `Available`,并在重新启用监控时确保 PVC 的容量和存储类与原 PV 一致,以便复用原有数据[^3]。 ### 示例:手动恢复 Grafana 的持久化数据 1. 在 Kubernetes 中查看 PV 状态: ```bash kubectl get pv ``` 2. 编辑 PV,清空 `claimRef` 字段: ```bash kubectl edit pv <pv-name> ``` 3. 保存修改后,PV 状态将变为 `Available`。 4. 重新启用 Rancher 监控功能时,确保新 PVC 的配置与原 PV 匹配,即可复用原有数据。 ### 总结 通过 Rancher 集成 PrometheusGrafana,可以实现对 Kubernetes 集群的全面监控Prometheus 负责采集指标,Grafana 负责可视化展示,而 Rancher 提供了便捷的部署和管理能力。在配置过程中,数据持久化是关键环节,尤其是对于 Grafana 的仪表板数据,需特别注意 PVC 和 PV 的管理策略。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值