/ 云监控服务 ces/ / / agent状态切换或监控面板有断点该如何处理?
更新时间:2025-01-15 gmt 08:00

agent状态切换或监控面板有断点该如何处理?-九游平台

问题现象

当云监控服务的agent进程出现以下现象时,可能是因为agent负载过高,状态不稳定导致:

  • 管理控制台主机监控页面的“插件状态”参数在“运行中”和“故障”两个状态切换。
  • 监控指标面板中存在断点。

约束与限制

当前章节的修复方式只支持新版本agent,若agent版本为老版本,建议先升级到新版本。

查看当前agent版本的命令为:

if [[ -f /usr/local/uniagent/extension/install/telescope/bin/telescope ]]; then /usr/local/uniagent/extension/install/telescope/bin/telescope -v; elif [[ -f /usr/local/telescope/bin/telescope ]]; then echo "old agent"; else echo 0; fi
  • 返回“old agent”,表示使用老版本agent。
  • 返回版本号,表示使用新版本agent。
  • 返回“0”,表示未安装agent。

问题原因

为避免agent负载过高,影响主机上的其他业务,云监控服务在agent占用cpu或内存过高时,提供了熔断机制。当agent负载过高时,会自动触发熔断,触发熔断机制后,agent暂时停止工作,不上报监控数据。

熔断机制原理

默认情况下,agent检测机制为:

1分钟查检测一次agent是否超过第二阈值(占用cpu超过30%或占用内存超过700m)。如果cpu或内存任何一个超出,agent直接退出:如果没有超过第二阈值,查看agent是否超过第一阈值(占用cpu超过10%或占用内存超过200m),连续三次超过第一阈值,则退出agent进程并记录。

退出后,守护进程会自动拉起agent进程,首先检测退出记录,如果有连续三次退出记录,则休眠20分钟,休眠期间,不会采集监控数据。

当主机挂载磁盘数量较多时,agent占用的cpu或内存可能较高。您可以根据实际观测主机的资源占用率,参考操作步骤配置agent熔断机制中的第一阈值和第二阈值。

操作步骤

  1. 使用root账号,登录agent不上报数据的ecs或bms。
  2. 可选:执行以下命令,切换至agent安装路径的bin下。

    windows系统下,路径为:“c:\program files\uniagent\extension\install\telescope\bin”

    linux系统下, 路径为:/usr/local/uniagent/extension/install/telescope/bin

  3. 修改配置文件conf.json。
    1. 执行以下命令,打开配置文件conf.json。

      vi conf.json

    2. 在conf.json文件中,添加如下四行参数,具体参数请参见表1
      表1 参数说明

      参数

      说明

      cpu_first_pct_threshold

      第一阈值(cpu),默认值为10,单位为%。

      memory_first_threshold

      第一阈值(内存),默认值为209715200(200mb),单位为byte。

      cpu_second_pct_threshold

      第二阈值(cpu),默认值为30,单位为%。

      memory_second_threshold

      第二阈值(内存),默认值为734003200(700mb),单位为byte。

      aagent的cpu使用率和内存使用率查询方法:

      • linux:

        top -p telescope的pid

      • windows:

        在任务管理器中查看agent进程详情。

      {
          "cpu_first_pct_threshold": xx,
          "memory_first_threshold": xxx,
          "cpu_second_pct_threshold": xx,
          "memory_second_threshold": xxx
      }
    3. 执行如下命令,保存并退出conf.json文件。

      :wq

  4. 请执行如下命令,重启agent。
    • windows系统下:
      • 在agent安装包存放目录下,先双击执行shutdown.bat脚本,停止agent,再执行start.bat脚本,启动agent。
    • linux系统下:
      • 执行以下命令查看agent的pid。

        ps -ef |grep telescope

      • 强制关闭进程后等待3-5分钟agent可实现自动重启,操作示例如图1所示。
        kill -9 pid
        图1 重启agent

相关文档

网站地图