服务器监控平台如何搭建
照着本文做完,你能用一台 2 核 4G 的 Linux 服务器搭起一套带告警的监控平台,看清自己的 CPU、内存、磁盘、网站是否正常,出问题能在 1 分钟内收到通知。
第一步:准备服务器和基础环境
这一步要做什么:确认机器能用,把系统更新到最新,避免后面装软件报依赖错误。做完你能得到一个干净的基础环境。
准备一台 Linux 服务器(Ubuntu 22.04 或 CentOS 7 以上都行),记下公网 IP,用 SSH 登录:
ssh root@你的服务器IP
先更新系统:
apt update && apt upgrade -y
# CentOS / Rocky Linux
yum update -y
注意:下面的命令大部分需要 root 权限。如果你用普通用户登录,请在命令前加
sudo,否则会出现 "Permission denied"。
第二步:安装 Prometheus(数据采集与存储)
这一步要做什么:装监控的核心组件 Prometheus 2.51.0,它负责定时抓取数据并存下来。做完你能通过浏览器打开它的 Web 界面。
cd /opt
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
tar -xzf prometheus-2.51.0.linux-amd64.tar.gz
mv prometheus-2.51.0.linux-amd64 prometheus
cd prometheus
编辑配置文件 prometheus.yml,参考内容如下:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
启动并设置开机自启(用 systemd 方式):
./prometheus --config.file=prometheus.yml &
访问 http://你的服务器IP:9090,能看到 Prometheus 界面就说明成功了。
注意:Prometheus 默认监听 9090 端口,如果打不开,检查服务器安全组/防火墙是否放行了 9090。
第三步:安装 Node Exporter(采集主机指标)
这一步要做什么:装一个采集器,把 CPU、内存、磁盘、网络这些数据暴露出来给 Prometheus 抓取。做完 Prometheus 的 Targets 页面里 node 会变成绿色 UP。
cd /opt
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar -xzf node_exporter-1.7.0.linux-amd64.tar.gz
mv node_exporter-1.7.0.linux-amd64 node_exporter
cd node_exporter
./node_exporter &
它默认监听 9100 端口,验证是否正常:
curl http://localhost:9100/metrics
能输出一大串文本就是正常。回到 Prometheus 的 http://你的服务器IP:9090/targets,等 15 秒刷新,看到 node 状态为 UP 即完成采集链路。
第四步:安装 Grafana(画图展示)
这一步要做什么:装 Grafana 10.4,把 Prometheus 的数据画成直观的图表。做完你能看到漂亮的监控大盘。
Ubuntu / Debian 下安装:
apt install -y software-properties-common
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
apt update
apt install -y grafana
systemctl start grafana-server
systemctl enable grafana-server
CentOS / Rocky Linux 下用:
yum install -y https://dl.grafana.com/oss/release/grafana-10.4.0-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server
浏览器打开 http://你的服务器IP:3000,默认账号密码都是 admin,首次登录会要求改密码。
注意:默认密码一定要改,3000 端口不要对公网全开放,建议只允许你自己的 IP 访问。
第五步:配置 Grafana 数据源和监控面板
这一步要做什么:把 Grafana 和 Prometheus 连起来,导入现成的主机监控模板。做完立刻能看到 CPU、内存、磁盘的使用曲线。
在 Grafana 左侧菜单依次点击:Connections(连接)→ Data sources(数据源)→ Add data source(添加数据源),选择 Prometheus,在 Connection 的 URL 填 http://localhost:9090,拉到底点 Save & test,出现绿色提示即成功。
然后导入官方模板:左上角 Dashboards(仪表盘)→ New(新建)→ Import(导入),在 Import via grafana.com 输入框填 1860(Node Exporter Full 模板 ID),点 Load,下方选择刚才配的 Prometheus 数据源,点 Import。你会看到一整页的主机监控图表。
第六步:配置告警通知
这一步要做什么:让系统在 CPU 过高、磁盘写满、网站挂掉时主动通知你。做完告警会推送到你的邮箱或企业微信/钉钉。
Grafana 侧:左侧菜单 Alerting(告警)→ Contact points(联系点)→ Add contact point,类型选 Email,填 SMTP 服务器地址、端口 465、发件人和收件人,点 Test 能收到测试邮件即成功。再进 Alert rules(告警规则)→ New alert rule,查询选 node 数据源,表达式写 100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100),阈值设为大于 90,持续时间 5 分钟,关联刚才的联系点。
Prometheus 侧也可在 prometheus.yml 下加 rule_files 配置告警规则,再配合 Alertmanager 0.27 发送通知。
注意:用邮件告警时,很多云服务商默认封禁 25 端口,务必改用 465(SSL)或 587(STARTTLS),否则邮件发不出去。
小结
- 整套平台由四个组件组成:Prometheus 存数据、Node Exporter 采数据、Grafana 展示、Alertmanager 发告警
- 安装顺序不能乱:先 Prometheus,再 Exporter,最后 Grafana 和数据源对接
- 关键端口是 9090(Prometheus)、9100(Exporter)、3000(Grafana),安全组要放行
- Grafana 模板 ID 1860 是主机监控最常用的面板,导入即用
- 告警邮件走 465 或 587 端口,别用 25
原文链接:https://www.gj0.com/thread-809.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。