prometheus是一套成熟的开源监控项目,我们看下 prometheus 架构图:

可以看到prometheus由以下四部分构成:
prometheus server:prometheus的核心组件,负责监控数据的获取以及提供数据接口;
数据源:获取监控数据的来源有以下两种类型,最终由 server 垃取获得
由被监控服务将数据PushGateway
由exporter拉取数据
报警组件:可配置报警策略以及报警方式
UI:提供可视化页面查看监控数据
接下来我们动手部署一套完整的 Prometheus 监控体系。
一 . prometheus server
prometheus官网下载对应环境的安装包(https://prometheus.io/download/)

解压后可看到如下目录结构
[root@iZbp1da719xvug8jam8891Z prometheus-2.27.1.linux-amd64]# lsconsole_libraries consoles data LICENSE nohup.out NOTICE prometheus prometheus.yml promtool
启动运行prometheus server
./prometheus --config.file=prometheus.yml
访问9090端口查看

到这里prometheus server部署完成。
二. Node Exporter
同样在官网下载对应的安装包

下载完成后,解压进入目录
指定端口运行Node Exporter
./node_exporter --web.listen-address 127.0.0.1:8081
访问该端口的服务,查看页面

三. 配置数据源
在prometheus配置文件prometheus.yaml 中添加nodeexporter的访问配置,如下:

访问prometheus server页面,输入 up 可以看到已经采集到数据

其他的监控项内容在后续讲解prometheus原理时详细讲解
四. Grafana
我们可以看到prometheus提供的UI比较简陋,不易观察数据,而Grafana是一个用来展示各种数据的开源UI界面。在Grafana上配置prometheus数据源后,我们可以通过多图形化页面来查看数据。
在grafana的官网下载安装包(https://grafana.com/grafana/download)
解压后运行,默认运行在3000端口
./bin/grafana-server web
访问 http://xxxx:3000到登录页面,账号密码均为admin,首次登录修改密码
五. Grafana的使用
配置数据源为 prometheus 的地址

在进行后续配置前,我们需要了解两个Grafana的概念:
dashboard:查看所有指标项的完整数据面板,面板由若干个自定义的panel组成。
panel:查看具体某一项指标的面板,例如CPU占用率,内存占用等...
增加dashboad

按照箭头指向顺序配置panel

metric表示指标项目,这里配置的是内存相关的内容,其他的监控项后续会详细讲解

配置多个panel组合成dashboard,如下图

六. 配置报警
修改grafana的配置文件添加邮件配置,路径为 conf/default.ini

在grafana UI集成邮件报警策略


使用Test按钮测试,输入的邮箱会收到测试报警邮件

集成报警至panel监控项

当达到触发条件,邮箱会收到报警邮件
七.集成dashboard
在 Grafana官网可以找到许多已经配置好的dashborad模板,我们可以直接引入而无需从0开始创建dashboard。(https://grafana.com/grafana/dashboards)
找到对应心仪的dashboard,并复制ID

集成模版至grafana

我们可以看到一个美观且监控项目齐全的dashboard

本节从0开始我们搭建了一套 prometheus 环境,从实践开始入门prometheus,后续的课程我将带来 prometheus 的原理讲解,以及 exporter 、alertManager 插件的实现。




