WGCLOUD作为一款轻量级的分布式运维监控系统,监测服务器业务应用状态主要通过以下核心机制实现,以下是具体方案和操作指南:
主机基础指标
server/config/application.yml
中设置阈值(如CPU>90%触发告警)进程存活监控
# 在agent的config/application.yml中配置关键进程
processes:
- nginx
- mysql
- java
yaml
# server/config/application.yml
portDetector:
ports:
- {name: "Web服务", port: 8080, timeout: 2000}
- {name: "Redis", port: 6379}
- 支持设置超时时间,端口不可达时立即告警
yaml
httpMonitor:
urls:
- {name: "用户登录API", url: "https://api.example.com/login", timeout: 3000, status: 200}
- 可验证HTTP状态码/响应内容(支持正则匹配)
bash
# 在agent的scripts目录放置检测脚本
# 示例:check_mysql.sh
#!/bin/bash
if ! mysqladmin ping -h 127.0.0.1 -uroot -p123456; then
echo "MySQL服务异常"
exit 1
fi
- 脚本退出码非0时触发告警
关键日志监控
# agent/config/application.yml
logMonitor:
logs:
- {path: "/var/log/nginx/error.log", keywords: ["500 Internal Server Error"]}
日志文件变化告警
MySQL/Oracle等关系库
dbMonitor:
mysql:
- {name: "主库", host: "10.0.0.1", port: 3306, username: "monitor", password: "xxxx"}
Redis/MongoDB等NoSQL
多通道告警
# server/config/application.yml
alert:
mail:
smtpHost: smtp.163.com
username: alert@163.com
password: xxxx
dingding:
webhook: "https://oapi.dingtalk.com/robot/send?access_token=xxx"
告警抑制
动态拓扑图
自定义Dashboard
历史数据分析
分层监控策略
关键业务SLA监控
# 示例:电商核心交易链路监控
httpMonitor:
urls:
- {name: "支付接口", url: "https://api.example.com/pay", expected: "\"code\":200", interval: 10}
性能基线设置
通过以上配置,WGCLOUD可实现从基础设施到业务层的全栈监控。建议先部署测试环境验证监控策略,再逐步在生产环境推广。对于复杂业务场景,可结合自定义脚本和API实现深度监控集成。