三、高级监控方案
1、Prometheus + Grafana
Prometheus:时序数据库,用于存储监控数据
bash
docker run -d name prometheus -p 9090:9090 prom/prometheus
Node Exporter:采集系统指标
bash
docker run -d name node-exporter -p 9100:9100 prom/node-exporter
Grafana:可视化仪表盘
bash
docker run -d name grafana -p 3000:3000 grafana/grafana
2、自定义脚本监控
使用Python/Shell编写脚本,通过`curl`或`netcat`发送HTTP请求测试服务可用性
bash
!/bin/bash
RESPONSE=$(curl -s -o /dev/null -w %{http_code} http://localhost:80)
if [ $RESPONSE != 200 ]; then
echo Service down! | mail -s Alert admin@65.hk
fi
四、告警与自动化
1、邮件/SMS告警
配置`sendmail`或使用第三方服务(如Mailgun)
示例:当CPU使用率超过80%触发告警
bash
while true; do
CPU_USAGE=$(mpstat | awk '/Average:/ {print $4}')
if (( $(echo $CPU_USAGE 80 | bc -l) )); then
echo High CPU usage: $CPU_USAGE% | mail -s Alert admin@65.hk
fi
sleep 60
done