好久不见
# 介绍
Prometheus 是一套开源的监控、报警、时间序列数据库的组合,Go语言开发。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。
Prometheus 可以与其他工具如 Grafana 、Exporter 配合使用,以实现更强大的可视化监控功能。
应用介绍
grafana:看板工具,所有采集的性能数据都会展示在这个看板上。
Prometheus:监控系统,数据的采集、存储、查询等主要功能都是在它这里。
node_exporter:其是Prometheus的一个采集组件,可以用来采集机器上的数据,并暴露接口给Prometheus,以此将数据传过去。
## 应用安装和配置
### 安装 Prometheus
https://appstore.lazycat.cloud/#/shop/detail/app.ikw.lzc.prometheus
prometheus 安装成功后会在网盘中创建一个 prometheus 目录,在目录中有对应的yml配置文件。界面展示:

### 安装 Node_exporter
https://appstore.lazycat.cloud/#/shop/detail/app.ikw.lzc.nodeexporter
应用安装完成后界面展示:

### 安装 Grafana
https://appstore.lazycat.cloud/#/shop/detail/dev.beiyu.grafana
应用安装完成后,默认用户名和密码: admin / admin ,首次登录成功后需要修改密码。界面显示如下:

## 端口转发
所有应用安装完成后,此时我们还需要用到一个应用:端口转发工具
### 添加 Nodeexporter 转发
局域网出口类型中选择: 微服虚拟网卡
微服虚拟网卡端口:9100
转发目标类型:微服应用
微服应用选择:Nodeexporter 传输:tcp 端口:9100
添加完成后点击测试,弹出绿色弹窗表示端口可以正常转发成功。

### 添加 Prometheus 转发
局域网出口类型中选择: 微服虚拟网卡
微服虚拟网卡端口:9090
转发目标类型:微服应用
微服应用选择:Prometheus 传输:tcp 端口:9090

## Prometheus 配置
进入到网盘 -> prometheus 编辑 prometheus.yml ,在文件末尾添加如下配置:
```
- job_name: "linux-node"
static_configs:
- targets: ["host.lzcapp:9100"]
```
这一步主要是将宿主机节点监控采集 node_exporter 加入到服务配置文件中。

添加完成后保存,重启 prometheus 应用 (先在应用管理中停止运行,然后在启动器中点击 prometheus 启动)
应用启动完成后,进入到应用中可以看到监控指标说明获取数据成功。

## Grafana 配置
登录 Grafana 点击左侧列表,选择 Connections -> Add new connection ,在右边搜索 Prometheus 找到并安装。

安装完成后点击右上角“Add new data source”

填写 Name 和 Connection,这里的 Connection 填写端口转发的地址:
http://host.lzcapp:9090

最后点击底部的 save and test,提示 successfully 表示配置成功。

点击右上角 + 添加 Prometheus 模板

这里可以从官网下载 json 模板导入或直接输入 ID 进行导入, 这里就直接输入 ID 1860 下载导入。

下载完成后,选择 Prometheus (注意:这里要选择是刚才创建的connection),选择完成后点击 import 即可。

导入完成后既可以看到对应的数据了。

更多 grafana 模板: https://grafana.com/grafana/dashboards 搜索 dashboards 的 id 如8919,12227, 249 等。

**注意事项:**
1.端口转发工具需要应用启动,才能正常进行端口转发,检测到应用没有启动会转发失败
2.yml 配置文件必须严格按照格式来配置,否则会导致 prometheus 应用无法启动
3.Node_exporter 可以用 ProcessExporter 来替代,但是需要先配置一下应用,然后再进行端口转发。
4.端口转发需要注意每一个应用暴露出来的端口,prometheus 端口是:9090 ; Nodeexporter 端口是:9100 ;ProcessExporter 端口是:9256
5.并不是所有的模板都会有数据,根据自己需要选择导入。
评论
1非常有帮助。就是需要不少手动工作,希望未来可以自动完成。或者让AI自动配置好。