干了几天运维,对于系统监控的几个小的实践。把思路稍作整理,目前5个维度入手:
- 服务器性能监控。
- 应用JVM监控。
- 应用状态监控。
- 日志关键词监控。
- 自定义业务逻辑监控。
监控的基础架构为:Prometheus+Grafana,需一定的基础。
预警渠道:
短信
钉钉
邮件
服务器性能监控
服务器安装node_expoter,Promentheus采集CPU、内存、IO、硬盘等信息,并在Grafana展示,配置预警信息等。
应用JVM监控
SpringBoot自带了监控功能,直接添加micrometer包即可。
应用状态监控
本身可以通过JVM得到系统的运行状态,为何多此一举,有时候发现应用状态正常但是数据库却访问不了。所以想通过一种简单的方式判断应用数据库操作是否正常。
首先要确定应用的唯一标识,经过衡量:应用名+本机内网IP为对应服务的标识。
策略:应用每隔一分钟更新数据库中的对应的标识数据时间,类似应用做一次签到。
由于prometheus