基于Prometheus和Grafana的监控平台 - 环境搭建

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念

微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。

  • Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说的ELK就是基于Logging。
  • Metrics - 用于记录可聚合的数据。例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP 请求个数可被定义为一个计数器,新请求到来时进行累。prometheus专注于Metrics领域。
  • Tracing - 用于记录请求范围内的信息。例如,一次远程方法调用的执行过程和耗时。它是我们排查系统性能问题的利器。最常用的有Skywalking,ping-point,zipkin。

今天我们主要聊聊Prometheus的监控,接下来我们了解下需要涉及的几个关键组件。

Prometheus

Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列 数据库(TSDB). Prometheus使用Go语言开发, 是Google BorgMon监控系统的开源版本。 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态, 任意组件只要提供对应的HTTP接口就可以接入监控. 不需要任何SDK或者其他的集成过程。输出被监控组件信息的HTTP接口被叫做exporter,目前开发常用的组件大部分都有exporter可以直接使用, 比如 Nginx、MySQL、Linux系统信息、Mongo、ES等

exporter

prometheus可以理解为一个数据库+数据抓取工具, 工具从各处抓来统一的数据, 放入prometheus这一个时间序列数据库中. 那如何保证各处的数据格式是统一的呢?就是通过这个exporter. Exporter是一类数据采集组件的总称. Exporter负责从目标处搜集数据, 并将其转化为Prometheus支持的格式, 它开放了一个http接口(以便Prometheus来抓取数据). 与传统的数据采集组件不同的是, Exporter并不向中央服务器发送数据, 而是等待中央服务器(如Prometheus等)主动前来抓取。https://github.com/prometheus 有很多写好的exporter,可以直接下载使用。

Grafana

Grafana是一个图形化工具, 它可以从很多种数据源(例如Prometheus)中读取数据信息, 使用很漂亮的图表来展示数据, 并且有很多开源的dashborad可以使用,可以快速地搭建起一个非常精美的监控平台。它与Prometheus的关系就类似于Kibana与ElasticSearch。

环境准备

在开始配置之前请下载以下几个软件(直接从github或者grafana官网下载太慢了,简直是龟速而且容易下载失败,建议使用迅雷下载)。

安装

准备两台服务器,一台用作安装prometheus和grafana,一台用作放置exporter组件。建立应用文件夹,将相关软件上传至服务器。

  • 192.168.249.131 prometheus,grafana
  • 192.168.249.129 exporter

prometheus

使用如下shell命令进行安装并启动

tar zxvf prometheus-2.13.1.linux-amd64.tar.gz
mv prometheus-2.13.1.linux-amd64 prometheus
cd prometheus
nohup ./prometheus &

启动完成后,用浏览器打开http://192.168.249.131:9090进行访问,效果如下:

grafana

使用如下shell命令进行安装并启动

tar grafana-6.4.3.linux-amd64.tar.gz
cd grafana-6.4.3
nohup ./grafana-server &

启动完成后,用浏览器打开http://192.168.249.131:3000进行访问,默认账号密码为admin/admin,初次登陆需要修改密码,修改密码并登陆效果如下:

node_exporter

使用如下shell命令进行安装并启动

tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 node_exporter
nohup ./node_exporter &

node exporter默认使用9100端口,可以使用--web.listen-address=":9200"指定端口号。

启动完成后,用浏览器打开http://192.168.249.129:9100/进行访问,显示效果如下:

配置

prometheus

进入prometheus安装目录,修改prometheus.yml文件,增加监听job server-192.168.249.129,完整配置如下:

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
 
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
 
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
 
 
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
 
  - job_name: '192.168.249.129'
    static_configs:
    - targets: ['192.168.249.129:9100']

配置完成后重启prometheus,查看监听状态。

grafana

  • 配置prometheus数据源

  • 官网寻找对应的表盘,我们选择node exporter监控看板

  • 在grafana中在导入表盘


  • 查看监控效果


至此基于Prometheus的监控环境搭建完成,你也来动手试一下吧。

近期热文

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
相关文章
|
7天前
|
Prometheus 监控 Cloud Native
介绍如何使用Prometheus进行监控
介绍如何使用Prometheus进行监控
32 3
|
12天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
28天前
|
Prometheus 监控 Cloud Native
自定义grafana_table(数据源Prometheus)
综上所述,自定义 Grafana 表格并将 Prometheus 作为数据源的关键是理解 PromQL 的查询机制、熟悉 Grafana 面板的配置选项,并利用 Grafana 强大的转换和自定义功能使数据展示更为直观和有洞见性。随着对这些工具更深入的了解,您将可以创建出更高级的监控仪表盘,以支持复杂的业务监控需求。
78 1
|
29天前
|
Prometheus 监控 Cloud Native
prometheus学习笔记之Grafana安装与配置
prometheus学习笔记之Grafana安装与配置
|
29天前
|
Prometheus 监控 数据可视化
Grafana 插件生态系统:扩展你的监控能力
【8月更文第29天】Grafana 是一个流行的开源平台,用于创建和共享统计数据的仪表板和可视化。除了内置的支持,Grafana 还有一个强大的插件生态系统,允许用户通过安装插件来扩展其功能。本文将介绍一些 Grafana 社区提供的插件,并探讨它们如何增强仪表盘的功能性。
79 1
|
29天前
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
130 1
|
24天前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
61 0
|
1月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
1月前
|
Prometheus 监控 Cloud Native
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
|
1月前
|
Prometheus Kubernetes 监控
Kubernetes(K8S) 监控 Prometheus + Grafana
Kubernetes(K8S) 监控 Prometheus + Grafana
142 2