Prometheus监控微服务、公司停电、公司断网告警钉钉

需求前景:

因公司园区会偶尔停电,断网。服务器重启时微服务会有因数据库启动比服务启动慢导致部分微服务未能正常启动,估因此响应公司需求,部署prometheus监控公司微服务,服务器供电,UPS供电,网络环境正常。

因公司设备,服务器资源紧缺,因此在笔记本电脑上用虚拟机桥接公司网络进行部署监控。

需求:

设备名称 数量 硬件配置 IP地址(内网)
笔记本 1 12C 16G 192.168.1.42

采用VMware Workstation 16 Pro来作为虚拟机管理

虚拟机名称 虚拟机配置 网络模式 IP地址(内网) 系统版本
Monitor 4h 8G Bridge-桥接模式 192.168.1.233 CentOS7.9

部署Prometheus

下载地址:prometheus-2.54.1.linux-amd64.tar.gz

下载后上传至虚拟机

#创建安装管理目录
mkdir /data/install -p
​
#解压tar包
cd /data/install
tar xf prometheus-2.54.1.linux-amd64.tar.gz
​
#移动到/usr/local/下
mv prometheus-2.54.1.linux-amd64 /usr/local/prometheus
​
#编写服务启动文件托管prometheus
cat > /usr/lib/systemd/system/prometheus.service <<EOF
[Unit]
Description=Monitor-Prometheus
Documentation="https://prometheus.io/docs/introduction/overview/"
​
[Service]
ExecStart=/usr/local/prometheus/prometheus \
--web.enable-lifecycle \    #让prometheus支持热加载
--config.file=/usr/local/prometheus/prometheus.yml  #指定配置文件
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
​
[Install]
WanteBy=multi-user.target
EOF
​
#启动prometheus
systemctl daemon-reload
systemctl enable prometheus.service --now
systemctl status prometheus
​
....
Active: active (running) since 一 2024-09-23 14:01:08 CST; 3 days ago
....
​
#浏览器访问192.168.1.233:9090出现页面就没问题了

部署Alertmanager

下载地址:alertmanager-0.27.0.linux-amd64.tar.gz

下载后上传至虚拟机

#解压tar包
cd /data/install
tar xf alertmanager-0.27.0.linux-amd64.tar.gz
​
#移动到/usr/local/下
mv alertmanager-0.27.0.linux-amd64 /usr/local/alertmanager
​
#编写服务启动文件托管alertmanager
cat > /usr/lib/systemd/system/alertmanager.service <<EOF
[Unit]
Description=alertmanager
​
[Service]
ExecStart=/usr/local/alertmanager/alertmanager \
--config.file=/usr/local/alertmanager/alertmanager.yml
ExecReload=/bin/kill/ -HUP $MAINPID
KillMode=process
Restart=on-failure
​
[Install]
WantedBy=multi-user.target
EOF
​
#启动alertmanager
systemctl daemon-reload
systemctl enable alertmanager.service --now
systemctl status alertmanager
​
...
Active: active (running) since 五 2024-09-27 11:20:38 CST; 2min 5s ago
...
​
#浏览器访问192.168.1.233:9093出现页面就没问题了

微服务暴露Prometheus指标端点
#Springboot添加Maven依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
​
#以下配置看情况采用
management.endpoint.web.exposure.include=* #暴露所有端点
management.metrics.export.prometheus.enabled=true #启用Prometheus导出器
management.endpoints.web.base-path=“/status” #将/actuator/xxx修改为/status/xxx,防止被猜到
management.endpoints.server.request.metric-name=“application:request” # 自定义接口指标名
management.server.port=10001 #指定端口,默认跟server.port一样,可以防止被猜到
​
#重启服务查看是否生效
#浏览器访问 http://localhost:port/actuator/prometheus

监控微服务存活
#修改prometheus配置
cd /usr/local/prometheus
vim prometheus.yml
...
  #微服务网关
  - job_name: "Capp-gateway"
    metrics_path: /actuator/prometheus
    static_configs:
      - targets: ["xxx.xxx.xxx.xxx:8080"]
​
  #微服务登陆认证
  - job_name: "Capp-Auth"
    metrics_path: /actuator/prometheus
    static_configs:
      - targets: ["xxx.xxx.xxx.xxx:8081"]
​
  #基础数据
  - job_name: "Capp-Basic-data"
    metrics_path: /actuator/prometheus
    static_configs:
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值