做网站竟然不知道cms网站设计的简称
文章目录
- Prometheus+Grafana+AlertManager监控平台搭建
 - 新建SpringBoot项目
 - 为Prometheus提供指标
 - 新建项目,引入依赖
 - 新建接口,运行程序
 
- 推送指标到pushgateway
 
- 开始监控
 - Grafana连接Prometheus数据源
 - 导入Grafana模板
 - 监控SpringBoot项目
 
- 邮件告警通知
 - 同系列文章
 
Prometheus+Grafana+AlertManager监控平台搭建
Docker搭建并配置Prometheus
Docker拉取并配置Grafana
Docker安装并配置Node-Exporter
Docker安装并配置cAdvisor
Docker安装并运行Alertmanager
新建SpringBoot项目
为Prometheus提供指标
新建项目,引入依赖
<!--用于导出prometheus系统类型的指标数据-->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.9.8</version>
</dependency>
 
新建接口,运行程序
Prometheus配置文件中已添加该项目地址,运行后到Prometheus页面中查看连接情况
 
成功
推送指标到pushgateway
引入依赖
<dependency><groupId>io.prometheus</groupId><artifactId>simpleclient</artifactId><version>0.12.0</version>
</dependency>
<dependency><groupId>io.prometheus</groupId><artifactId>simpleclient_pushgateway</artifactId><version>0.12.0</version>
</dependency>
 
新增push接口,用于推送指标(job=B,instance=A)到Pushgateway
@GetMapping("push")
public void executeBatchJob(){try{String url = "192.168.251.44:9091";CollectorRegistry registry = new CollectorRegistry();Gauge guage = Gauge.build("my_custom_metric11", "This is my custom metric.").create();guage.set(1.22);guage.register(registry);PushGateway pg = new PushGateway(url);Map<String, String> groupingKey = new HashMap<String, String>();groupingKey.put("instance", "A");pg.pushAdd(registry, "B", groupingKey);} catch (Exception e){e.printStackTrace();}
}
 
运行后调用接口,访问Pushgateway
 
指标已被推送至Pushgateway
开始监控
Grafana连接Prometheus数据源
点击Add your first data source
 
选择Prometheus
 
Prometheus server URL中输入IP地址及端口号
 注意:此处IP地址为Prometheus在Docker容器内部的IP地址
 
查看容器内ID方法:
docker exec -it 容器ID sh
 
ifconfig
 

 退出:Ctrl+D
点击底部Save&Test
 
导入Grafana模板

 填入模板号,点击load
 
 选择之前设置的Prometheus作为数据源即可
 
监控SpringBoot项目

邮件告警通知
开启邮箱POP3/SMTP服务(以QQ邮箱为例)

 
开启后获得授权码,填到alertmanager配置文件相应位置中,并补全其他必要信息,重启alertmanager服务。
 停止SpringBoot项目,等待一段时间。
 进入Prometheus的Alerts页面,可以看到有告警信息,提示所监控机器不可用,状态已经为Firing,这表示已经将告警发送至Alertmanager。
 
进入AlertManager界面,可以看到告警信息。
 
 AlertManager会根据配置好的规则将消息发送至邮箱。

 
操作完成
同系列文章
Linux安装Docker
Docker搭建并配置Prometheus
Docker拉取并配置Grafana
Docker安装并配置Node-Exporter
Docker安装并配置cAdvisor
Docker安装并运行Alertmanager
Prometheus+Grafana+AlertManager监控Linux主机状态
