设为首页收藏本站
  • 官方微信
    lmkj_wx 微信公众号 添加方式:
    1:扫描左侧二维码
  • 手机访问
    lmkj_sj
  •  找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    查看: 2|回复: 0

    如何监控GOM引擎主网关和从网关的运行状态

    [复制链接]
    avatar
    • 打卡等级:虹膜套勇士
    • 打卡总天数:80
    • 打卡月天数:4
    • 打卡总奖励:9832
    • 最近打卡:2025-07-04 00:00:04

    5226

    主题

    66

    回帖

    6708

    积分

    管理员

    本站站长

    积分
    6708
    online_admin 发表于 昨天 17:38 | 显示全部楼层 |阅读模式
    监控 GOM 引擎主网关(LoginSrv)和从网关(GateServer)的运行状态是保障服务器稳定性的关键环节。以下从基础日志分析到高级监控系统部署的完整方案,结合实战经验总结:
    一、基础监控方法
    1. 日志文件分析
    bash
    # 主网关日志路径
    LoginSrv\Log\LoginSrv.log

    # 从网关日志路径
    GateServer\Log\GateServer.log

    # 关键监控内容:
    - 连接数异常:如短时间内大量连接断开(可能被攻击)
    - 错误信息:如"DB connect failed"(数据库连接失败)
    - 性能警告:如"High CPU usage"(CPU负载过高)




    工具推荐:

    LogParser:快速检索关键字(如ERROR、WARNING)。
    Tail 命令:实时查看日志更新(Linux/Windows 皆可用)。
    2. 任务管理器 / 资源监视器
    监控指标        健康阈值        异常处理
    CPU 使用率        <70%        优化脚本或增加服务器配置
    内存占用        <80%        检查是否存在内存泄漏(重启服务)
    网络带宽        < 网卡带宽 70%        升级网络或分流网关
    二、高级监控系统部署
    1. Prometheus+Grafana 监控方案
    指标采集

    指标采集

    LoginSrv

    Node Exporter

    GateServer

    Prometheus

    Grafana









    关键配置步骤:

    安装 Node Exporter(在每台服务器):
    bash
    # Linux安装示例
    wget https://github.com/prometheus/no ... .linux-amd64.tar.gz
    tar xvfz node_exporter-1.4.0.linux-amd64.tar.gz
    cd node_exporter-1.4.0.linux-amd64
    ./node_exporter &  # 后台运行

    配置 Prometheus:
    yaml
    # prometheus.yml
    scrape_configs:
      - job_name: 'gom_login_srv'
        static_configs:
          - targets: ['login_server_ip:9100']
      - job_name: 'gom_gate_srv'
        static_configs:
          - targets: ['gate_server_ip1:9100', 'gate_server_ip2:9100']

    Grafana 可视化:
    导入预配置的 GOM 引擎监控模板(如 ID: 13157),监控指标包括:
    网关连接数实时变化
    CPU / 内存使用率趋势
    网络流量与数据包分析
    2. 自定义监控脚本
    python
    运行
    import psutil
    import time
    import requests

    # 监控主网关
    def monitor_login_server():
        for proc in psutil.process_iter(['name', 'cpu_percent', 'memory_percent']):
            if 'LoginSrv.exe' in proc.info['name']:
                cpu = proc.info['cpu_percent']
                mem = proc.info['memory_percent']
                connections = len(proc.connections())

                # 触发警报(示例:CPU>80%)
                if cpu > 80:
                    send_alert(f"LoginSrv CPU异常: {cpu}%")

                return {
                    'cpu': cpu,
                    'memory': mem,
                    'connections': connections
                }
        return None

    # 发送警报
    def send_alert(message):
        # 发送邮件或企业微信通知
        requests.post(
            "https://qyapi.weixin.qq.com/cgi-bin/webhook/send",
            json={"msgtype": "text", "text": {"content": message}}
        )

    # 主循环
    while True:
        login_status = monitor_login_server()
        print(f"LoginSrv状态: {login_status}")
        time.sleep(60)  # 每分钟监控一次
    三、关键监控指标与阈值
    指标分类        具体指标        健康阈值        预警处理
    性能指标        CPU 使用率        <70%        优化脚本 / 增加服务器配置
    内存使用率        <80%        检查内存泄漏 / 重启服务
    磁盘 IOPS        < 磁盘上限 70%        升级磁盘或迁移日志文件
    网络指标        连接数        < 单网关 MaxClient 的 80%        增加网关实例或优化负载均衡
    网络吞吐量        < 网卡带宽 70%        升级网络或分流流量
    丢包率        <0.5%        检查网络设备或优化 UDP 参数
    稳定性指标        5 分钟内断线率        <1%        检查网络波动或优化网关配置
    错误日志频率        <5 条 / 分钟        定位错误原因并修复
    四、异常情况应急处理
    1. 高 CPU 负载处理流程




    检测到CPU>80%

    获取进程列表

    是否LoginSrv/GateServer?

    检查WorkerThread配置

    减少MaxClient值

    重启服务

    检查其他进程

    终止异常进程











    2. 网关连接数激增处理
    bash
    # 1. 查看连接数最高的IP
    netstat -anp | grep 7000 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10

    # 2. 封禁异常IP(示例:封禁1.2.3.4)
    echo "1.2.3.4" >> GateServer\Config\BlockIPList.txt

    # 3. 动态调整负载均衡
    sed -i 's/LoadBalanceType=0/LoadBalanceType=1/g' LoginSrv.ini
    五、监控工具推荐
    工具名称        功能特点        适用场景
    M2 监控面板        官方内置工具,查看实时连接数        日常基础监控
    Prometheus        高性能时序数据库,支持自定义指标        企业级监控系统
    Grafana        强大的可视化仪表盘        多维度数据展示与分析
    ELK Stack        日志收集、分析与可视化        海量日志快速定位问题
    Zabbix        全面的服务器监控解决方案        中小型传奇服务端监控
    六、最佳实践
    建立监控基线:
    在服务器稳定运行时记录各项指标的基准值,作为异常判断依据。
    分层警报机制:
    警告(黄色):指标超过阈值但不影响服务(如 CPU 70%-80%)。
    严重(红色):指标超过阈值且可能影响服务(如 CPU>80%)。
    紧急(紫色):服务已受影响(如连接数突破 MaxClient)。
    定期压力测试:
    使用工具(如 LoadRunner)模拟高并发场景,验证监控系统的有效性和阈值的合理性。

    通过系统化的监控体系,可提前发现服务器潜在风险,在玩家感知到异常前解决问题,实现 “被动响应” 到 “主动预防” 的转变,显著提升服务稳定性和玩家体验。

    您需要登录后才可以回帖 登录 | 立即注册 qq_login

    本版积分规则

    QQArchiver 手机版 小黑屋 39传奇素材网 ( 蜀ICP备2022016510号-3 )

    快速回复 快速发帖 返回顶部 返回列表