本文默认你的服务器分销系统已经完成初步部署,运行环境为CentOS 7.x系统,所有操作都使用root权限执行,先执行以下命令更新依赖并安装基础工具,可直接复制执行:
``` yum update -y && yum install wget curl firewalld -y systemctl start firewalld && systemctl enable firewalld ```仅需要替换文中的个性化参数即可,不需要额外修改通用配置。
服务器分销系统的核心运维需求是第一时间发现节点、客户机异常,避免影响客户使用,这里采用轻量可直接落地的监控方案,不需要复杂配置。
我们用node_exporter采集节点的CPU、内存、磁盘、网络状态,每台物理节点都需要执行以下命令完成部署:
``` wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar xzf node_exporter-1.6.1.linux-amd64.tar.gz cp node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/ rm -rf node_exporter-1.6.1.linux-amd64 配置系统服务 cat > /etc/systemd/system/node_exporter.service << EOF [Unit] Description=Node Exporter for Server Distribution After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target EOF ```执行以下命令启动并设置开机自启:
``` systemctl daemon-reload systemctl start node_exporter systemctl enable node_exporter 开放监控端口 firewall-cmd --add-port=9100/tcp --permanent firewall-cmd --reload ```部署完成后访问http://节点IP:9100/metrics能看到JSON格式的监控数据就是部署成功。
在Prometheus服务端添加如下告警规则,规则必须覆盖节点失联、磁盘满、客户机离线三类核心异常,避免漏告警,完整可复制的规则片段如下:
``` groups: - name: distribution_alert rules: - alert: 节点失联 expr: up == 0 for: 1m labels: severity: critical annotations: summary: "节点{{ $labels.instance }}失联超过1分钟" - alert: 磁盘使用率过高 expr: node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} 100 < 10 for: 5m labels: severity: warning annotations: summary: "节点{{ $labels.instance }}根分区剩余空间不足10%" - alert: 客户机离线 expr: guest_up == 0 for: 2m labels: severity: critical annotations: summary: "客户机{{ $labels.instance }}离线超过2分钟" ```
配置完成后重载Prometheus配置即可,异常会自动发送到你预留的通知邮箱。
分销系统涉及多级代理、多个客户,权限隔离不到位会导致数据泄露、恶意修改等问题,按以下步骤操作即可完成合规管控。
新建代理账号时必须执行两项强制配置:
每开通一台客户VPS必须完成两项检查:
repquota /,输出中能看到对应客户机的配额记录就是生效,未生效需要重新配置虚拟化节点的磁盘配额;遇到故障按以下顺序排查,10分钟内即可定位解决:
systemctl status node_exporter libvirtd,服务异常直接执行systemctl restart node_exporter libvirtd快速恢复;ping 客户VPS内网IP,不通则重启节点虚拟网卡:systemctl restart network。systemctl status nginx php-fpm,异常直接重启:systemctl restart nginx php-fpm;mysql -u root -p -e "show databases;",连接失败重启数据库:systemctl restart mysqld;df -h,根分区使用率超过95%,执行以下命令清理7天前的大日志文件:把日常巡检做成定时任务,每天自动执行,减少人工操作失误,创建巡检脚本/root/dist_health_check.sh,复制以下内容即可:
给脚本添加执行权限,再加入定时任务每天凌晨3点自动执行:
``` chmod +x /root/dist_health_check.sh echo "0 3 /bin/bash /root/dist_health_check.sh" >> /var/spool/cron/root systemctl restart crond ```完成以上所有配置后,服务器分销系统的日常运维就可以稳定运行,所有核心异常都能提前发现,故障排查也有明确的落地流程,零门槛即可上手操作。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图