无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?

简介: Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可

一、前生今世


添加图片注释,不超过 140 字(可选)


Prometheus 是完全开源的系统监控和告警工具包,它受 Google 内部的 BorgMon 监控系统启发,由前Google 工程师从 2012 年开始在 SoundCloud 以开源软件的形式进行研发,自此以后,许多公司和组织都采用了Prometheus 作为监控告警工具。Prometheus 的开发者和用户社区非常活跃,它现在是一个独立的开源项目,可以独立于任何公司进行维护。

自2012年推出以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并明确项目的治理结构,Prometheus 于 2016 年加入 云原生计算基金会,成为继Kubernetes之后的第二个托管项目。

Prometheus的主要特点是:

  • 多维数据模型,其中时间序列数据由指标名称和键/值对标识
  • PromQL,一种 利用此维度的灵活查询语言
  • 不依赖分布式存储;单个服务器节点是自治的
  • 时间序列收集通过 HTTP 上的拉模型进行
  • 通过中间网关支持推送时间序列
  • 通过服务发现或静态配置发现目标
  • 多种图形和仪表板支持模式


二、架构图

下图说明了 Prometheus 的架构及其一些生态系统组件:


添加图片注释,不超过 140 字(可选)


三、安装

开启内核路由转发

echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf  sysctl -p

创建配置文件

vim prometheus.yml # my global config global:   scrape_interval:     15s # 采集被监控段指标的一个周期   evaluation_interval: 15s # 告警评估的一个周期 # 告警的配置文件 alerting:   alertmanagers:   - static_configs:     - targets:       # - alertmanager:9093 # 告警规则配置 rule_files:   # - "first_rules.yml" # 被监控端的配置,目前只有一个节点,就是prometheus本身 scrape_configs:   - job_name: 'prometheus'     static_configs:     - targets: ['localhost:9090']

启动镜像,将主配置文件挂载到容器内

docker run -d  -p 9090:9090 \ --name prometheus  \ --restart on-failure  \ -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus

执行后需要下载镜像文件,需要等待一会。

完全启动后可以,访问Prometheus自带的UI:http://xx.xx.xx.xx:9090/


添加图片注释,不超过 140 字(可选)


自带的WEB UI比较简单,后面会说到功能比较全面dashboard  grafana。

四、使用


添加图片注释,不超过 140 字(可选)


cAdvisor 是 Google 开源的容器监控工具,它可以收集容器的资源使用情况、网络流量、文件系统使用情况等指标数据。cAdvisor 可以部署在 Kubernetes 集群中的每个节点上,以收集集群中所有容器的监控数据。

cAdvisor 部署的目的如下:

  • 监控容器的运行状态:cAdvisor 可以收集容器的资源使用情况、网络流量、文件系统使用情况等指标数据,这些数据可以帮助我们了解容器的运行状态,并及时发现异常情况。
  • 分析容器的性能瓶颈:通过分析 cAdvisor 收集的监控数据,我们可以分析容器的性能瓶颈,并采取措施进行优化。
  • 提高容器的资源利用率:通过监控容器的资源使用情况,我们可以合理分配资源,提高容器的资源利用率。

cAdvisor 是 Kubernetes 集群中必不可少的监控工具,它可以帮助我们更好地了解和管理容器。

cAdvisor 的优势

  • 开源:cAdvisor 是完全开源的,可以免费使用。
  • 轻量级:cAdvisor 是一个轻量级的应用程序,不会给集群带来太大的负载。
  • 易用:cAdvisor 的配置和使用都非常简单。

cAdvisor 的缺点

  • 数据存储能力有限:cAdvisor 默认会将监控数据存储在内存中,如果数据量较大,可能会导致内存溢出。
  • 可视化能力有限:cAdvisor 本身没有提供可视化工具,需要使用第三方工具来可视化监控数据。

cAdvisor 的部署

  • 使用 Helm 部署:Helm 是一个 Kubernetes 包管理工具,可以使用 Helm 来部署 cAdvisor。
  • 使用 Docker 部署:cAdvisor 可以作为 Docker 容器运行,可以使用 Docker 来部署 cAdvisor。
  • 手动部署:可以下载 cAdvisor 的二进制文件,并手动部署到 Kubernetes 集群中。

下面介绍docker部署cAdvisor:

docker run -d   \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro  \ --volume=/sys:/sys:ro  \ --volume=/var/lib/docker/:/var/lib/docker:ro  \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest

访问该地址,就能看到实时采集到的数据:http://xx.xx.xx.xx:8080/containers/


添加图片注释,不超过 140 字(可选)


http://xx.xx.xx.xx:8080/metrics/  就是cAdvisor提供的数据接口。


添加图片注释,不超过 140 字(可选)


然后修改prometheus.yml

vim /data/prometheus/prometheus.yml

修改prometheus的配置文件,复制一个job文件,job_name 指名称,targets为cAdvisor服务器地址ip和端口

# global config global:   scrape_interval:     15s # 采集被监控段指标的一个周期   evaluation_interval: 15s # 告警评估的一个周期 # 告警的配置文件 alerting:   alertmanagers:   - static_configs:     - targets: # 告警规则配置 rule_files:   # - "first_rules.yml" # 被监控端的配置,目前只有一个节点,就是prometheus本身 scrape_configs:   - job_name: 'prometheus'     static_configs:     - targets: ['localhost:9090']   - job_name: 'prometheus docker'     static_configs:     - targets: ['10.9.2.50:8080']

修改完成重启prometheus

docker restart prometheus

http://xx.xx.xx.xx:9090/targets 可以看到监控指标说明获取数据成功


添加图片注释,不超过 140 字(可选)


五、监控界面


添加图片注释,不超过 140 字(可选)


Grafana 是一个开源的监控和可视化工具,它可以连接到各种数据源,并以图表、仪表盘和报表的形式展示数据。Grafana 可以用于监控任何类型的系统,包括 Kubernetes 集群、Web 应用程序、IoT 设备等。

Grafana 的功能

  • 连接到各种数据源:Grafana 支持连接到各种数据源,包括 Prometheus、InfluxDB、Elasticsearch、MySQL、PostgreSQL 等。
  • 以图表、仪表盘和报表的形式展示数据:Grafana 提供了丰富的图表类型,可以满足不同的数据展示需求。
  • 支持自定义仪表盘:Grafana 允许用户自定义仪表盘,以满足特定的监控需求。
  • 支持报警:Grafana 可以将报警通知发送到 Slack、邮件等方式。

Grafana 的优势

  • 开源:Grafana 是完全开源的,可以免费使用。
  • 灵活:Grafana 可以连接到各种数据源,并以各种方式展示数据。
  • 易用:Grafana 的配置和使用都非常简单。

Grafana 的缺点

  • 数据存储能力有限:Grafana 本身没有提供数据存储功能,需要使用第三方工具来存储数据。
  • 可视化能力有限:Grafana 提供的图表类型有限,可能无法满足复杂的监控需求。

Grafana 的部署

  • 使用 Docker 部署:Grafana 可以作为 Docker 容器运行,可以使用 Docker 来部署 Grafana。
  • 手动部署:可以下载 Grafana 的二进制文件,并手动部署到服务器上。

下面是docker方式部署grafana

docker  run -d --name=grafana  -p 3000:3000  grafana/grafana

执行后,下载镜像并启动。http://xx.xx.xx.xx:3000,默认用户名/密码:admin/admin


添加图片注释,不超过 140 字(可选)


选择 "Add your first data source"


添加图片注释,不超过 140 字(可选)


进入后选择Prometheus


添加图片注释,不超过 140 字(可选)


填写相关信息


添加图片注释,不超过 140 字(可选)


添加Prometheus模板


添加图片注释,不超过 140 字(可选)


输入id号,193


添加图片注释,不超过 140 字(可选)


下拉,选择Prometheus,然后Import


添加图片注释,不超过 140 字(可选)


成功展示来由Prometheus数据


添加图片注释,不超过 140 字(可选)




如果文章对你有帮助,欢迎关注+点赞,必回关!!!




目录
相关文章
|
4天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
179562 18
|
12天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
13天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
9166 23
|
17天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4853 12
资料合集|Flink Forward Asia 2024 上海站
|
17天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
25天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
13天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
13天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
1002 67