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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 相关概念微服务中的监控分根据作用领域分为三大类,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命令进行安装并启动


tarzxvfprometheus-2.13.1.linux-amd64.tar.gzmvprometheus-2.13.1.linux-amd64prometheuscdprometheusnohup ./prometheus&


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


1.jpeg


grafana


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


targrafana-6.4.3.linux-amd64.tar.gzcdgrafana-6.4.3nohup ./grafana-server&


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


2.jpeg


node_exporter


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


tarzxvfnode_exporter-0.18.1.linux-amd64.tar.gzmvnode_exporter-0.18.1.linux-amd64node_exporternohup ./node_exporter&


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

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


3.jpeg


配置


prometheus


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


#myglobalconfigglobal:
scrape_interval:     15s#Setthescrapeintervaltoevery15seconds. Defaultisevery1minute.
evaluation_interval: 15s#Evaluaterulesevery15seconds. Thedefaultisevery1minute.
#scrape_timeoutissettotheglobaldefault (10s).
#Alertmanagerconfigurationalerting:
alertmanagers:
-static_configs:
-targets:
#-alertmanager:9093rule_files:
#-"first_rules.yml"#-"second_rules.yml"scrape_configs:
#Thejobnameisaddedasalabel`job=<job_name>`toanytimeseriesscrapedfromthisconfig.
-job_name: 'prometheus'static_configs:
-targets: ['localhost:9090']
-job_name: '192.168.249.129'static_configs:
-targets: ['192.168.249.129:9100']


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


5.jpeg


grafana


配置prometheus数据源


6.jpeg


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


7.jpeg


在grafana中在导入表盘


8.jpeg


9.jpeg


查看监控效果


10.jpeg


11.jpeg


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



目录
相关文章
|
5天前
|
Prometheus 监控 Cloud Native
基于Prometheus和Grafana的监控平台 - 环境搭建
基于Prometheus和Grafana的监控平台 - 环境搭建
|
13天前
|
Prometheus 监控 Cloud Native
【监控】Spring Boot+Prometheus+Grafana实现可视化监控
【监控】Spring Boot+Prometheus+Grafana实现可视化监控
36 6
|
11天前
|
Prometheus 监控 Cloud Native
SpringBoot2.x整合Prometheus+Grafana【附源码】
SpringBoot2.x整合Prometheus+Grafana【附源码】
17 1
|
1月前
|
Prometheus 监控 Kubernetes
Prometheus + Grafana安装
Prometheus + Grafana安装
|
1月前
|
Prometheus Cloud Native Java
微服务框架(二十三)Prometheus + Grafana 安装、配置及使用
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文为Prometheus + Grafana 安装、配置及使用 本系列文章中所使用的框架版本为Spring ...
|
1月前
|
Prometheus 监控 前端开发
prometheus|云原生|grafana-9.4.3版本的主题更改
prometheus|云原生|grafana-9.4.3版本的主题更改
154 0
|
1月前
|
Prometheus 监控 Cloud Native
应用监控(Prometheus + Grafana)
应用监控(Prometheus + Grafana)
198 2
|
1月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
104 2
|
1月前
|
Prometheus 监控 Cloud Native
SpringBoot3 整合Prometheus + Grafana
SpringBoot3 整合Prometheus + Grafana
SpringBoot3 整合Prometheus + Grafana
|
1月前
|
存储 Prometheus Cloud Native
Grafana 系列 - 统一展示 -2-Prometheus 数据源
Grafana 系列 - 统一展示 -2-Prometheus 数据源