7

SpringBoot Metrics 监控系统(2)——快速起步

 3 years ago
source link: https://www.jitwxs.cn/1e8d61b4.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Jitwxs

SpringBoot Metrics 监控系统(2)——快速起步

Jitwxs|发表于2020-11-14|更新于2020-12-19|云原生
字数总计:940|阅读时长:3分钟|阅读量:16|评论数:

一、Docker

首先需要安装 Docker,已经安装的朋友直接跳过该节即可。

Docker 最近新出了 Docker Desktop,可以对容器和镜像可视化管理,还是很不错的。访问官网

下载即可,这里我使用 Windows 平台进行安装。【最好采用科学上网,否则速度会很感人】

loading.gif

如果安装完毕后打开报下图的错,需要在更新下 WSL2,点此下载

loading.gif

启动成功后如下图所示:

loading.gif

二、Prometheus + Grafana

打开 PowerShell 或其他命令行工具,下载镜像:

docker pull prom/prometheus

下载完毕后,提前准备好配置文件,新建配置文件 prometheus.yml,内容如下。将其保存到任一位置即可,并记录下它的绝对路径。我这里把它放置在了桌面,因此它的绝对路径是:C:\Users\Jitwxs\Desktop\prometheus.yml

global:
scrape_interval: 60s
evaluation_interval: 60s

scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus

执行命令启动容器【注意命令中的绝对路径,需要替换成你自己实际的路径】:

docker run  -d -p 9090:9090 -v C:\Users\Jitwxs\Desktop\prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

执行完毕后,打开 Docker 客户端,可以看到 Prometheus 已经启动成功,在 Mounts 中可以看到配置文件也被挂载到容器内。

loading.gif

打开浏览器,输入 http://127.0.0.1:9090 即可登录 Prometheus,选择 Status -> Configuration 也能看到我们的配置文件。

loading.gif

至此 Prometheus 的起步就完成了,下面来启动 Grafana 把。

三、Grafana

下载镜像:

docker pull grafana/grafana

启动容器:

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

执行完毕后,打开 Docker 客户端,可以看到 Grafana 已经启动成功。

loading.gif

打开浏览器,输入 http://127.0.0.1:3000,即可登录 Grafana 首页,使用默认用户名密码 admin 登录即可。

首先配置下 Grafana 的数据源,点击右侧⚙图标,选择 Data Sources 选项卡,然后选择 右侧的 Prometheus。

loading.gif

并做以下配置:

  • URL: http://127.0.0.1:9090
  • Access: Browser

然后点击下方 Save & Test 按钮,弹出 Data source is working 的绿色提示即可。

【注意:如果弹出的是红色的HTTP Error Bad Gateway,尝试将 Access 改为 Server 试试看】

loading.gif

至此完成 Grafana 的起步。

四、入门实例

下面展示一个简单的心跳监测的功能,Prometheus 服务自身也会对外暴露一些 Metrics,下面来实现如何在 Grafana 上侦听 Prometheus 服务是否存活。

我们在 Prometheus 的首页上,搜索一个名为 up 的 metrics,搜索结果中有一条,它有两个 label,通过 instance 这个 label 得知这条记录就是 prometheus 提供的。

loading.gif

切换到 Grafana 上,点击左侧的加号,点击 Dashboard,会创建一个 Dashboard。然后我们选择 Add new panel,新建一个面板。

loading.gif

在下面的 PromQL 表达式上输入刚刚的 metrics,然后将图表从默认的 Graph 改为 Stat

loading.gif

对于 up 这个 metrics,可能的取值有 1 和不存在。我们可以通过 Value Mapping 功能,将取值和实际的展示的内容作对应。同时对于不同的取值,也可以指定配色。

如下图所示,我将 1 映射为 UP,将 null 映射为 DOWN。同时,将 1 颜色指定为绿色,0 指定为红色。

loading.gif

另外图表下方的 Graph 展示了这个数值在不同时间的变化情况,假设我们只想关心当前的,不想关心这个服务什么时候 UP 什么时候 DOWN,可以将其隐藏掉。

loading.gif

至此这个 Panel 就制作好了,返回到 Dashboard 后形如下图所示:

loading.gif

让我们尝试关闭掉 prometheus 服务

loading.gif

点击 Grafana Dashboard 右上角的刷新后,发现变成了 DOWN。将 Prometheus 服务恢复后,又恢复正常。

loading.gif

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK