通用方案:pangu_monitor监控项调整

通用方案:pangu_monitor监控项调整

更新时间:2020-06-09 10:27:40

1. 概述

本文主要介绍pangu_monitor监控项的调整方法。

1.1. 适用范围

  • 专有云V3,盘古

1.2. 风险说明

  • 该方案属于变更方案,需提交变更申请,与现场技术支持确认后操作。
  • 现场确认该集群已到终态,方案需重新Rolling,避免因未到终态导致该次Rolling出现意外情况。
  • 调整监控项,对集群的运行无影响。

1.3. 用户告知

  • 本方案为通用方案,事例以MaxCompute集群为例,具体操作以实际为准。
  • 本方案中所涉及Hostname、集群名仅供参考,不作为实施方案使用。

2. 问题描述

当前专有云环境中的pangu_monitor的模板是从公有云移植而来,有很多监控项并不适用于专有云环境,如下几种情况。

  • ms_memory_speed:内存频率在Docker中获取不到,专有云中的Master都是Docker,因此需要去掉监控。

  • check_top_temp_file_count:监控项在MaxCompute集群中不适用,需要关闭。

  • cs_ssdcache_lifetime:监控项在专有云V3.3及以前版本存在误报,需要关闭。

pangu_monitor有两种,一种是每台ChunkServer上的监控,一种是盘古服务层面的全局监控,本文档针对这两种监控调整都有说明,可以只操作其中一种监控项。

3. 解决方案

3.1. 环境检查

集群终态检查

确认集群已到终态,且没有运行任务。

检查盘古服务

如果项目的部署中有Pangu Portal,请参见Web界面操作,如无Pangu Portal,请参见命令行操作

 

Web界面操作

  1. 通过以下地址登录盘古汇聚控制台,如果要进入某个集群的Pangu Portal,单击对应集群右侧的 详情
    http://[$IP]:8620/
    说明:在专有云V3环境[$IP]为OPS1的IP。
  1. 选择集群运维>Master运维,获取Master的Primary和Secondary角色信息,确认盘古服务正常
    image.png

命令行操作

  1. 登录集群AG服务器,确认/apsara/deploy/puadmin文件存在。
  2. 执行以下命令,获取Master的Primary和Secondary角色信息,确认盘古服务正常
    puadmin gems
    系统显示类似如下。
    image.png

备份文件

  1. 登录到集群AG服务器,执行以下命令,切换到指定目录。
    cd /apsara/pangu_monitor/
  2. 执行以下命令,备份pangu_monitor_items.json文件。

    cp pangu_monitor_items.json pangu_monitor_items.json.20180704
  1. 执行以下命令,获取supervisor运行的机器IP地址。
    /apsara/deploy/nuwa_console --address=nuwa://localcluster/sys/pangu/supervisor
  1. 登录到pangu_supervisor所在机器,执行以下命令,备份pangu_global_monitor.json文件。

    cp /apsara/pangu_supervisor/pangu_global_monitor.json /apsara/pangu_supervisor/pangu_global_monitor.json.20180705

3.2. 实施步骤

适用于专有云V3所有版本

修改ChunkServer的Monitor配置

  1. 登录天基控制台,选择运维>服务运维,模糊查询pangu,在搜索结果中单击右侧的管理

  1. 选择服务模板,模糊查询odps,查看模板名称

  1. 登录OPS1服务器,如何登录OPS服务器请参见专有云如何登录OPS服务器

  1. 执行以下命令,导出服务模板。

    ./tianji_clt service_template -g -t [$Template_Name] --dir [$Service_Name]-[$Project] -s [$Service_Name] --config /cloud/data/bootstrap_controller/BootstrapController#/ bootstrap_controller/tianji_dest.conf

    说明

    • [$Template_Name]为模板名称。

    • [$Service_Name]为服务名,如pangu。

    • [$Project]为产品名,如ECS、MaxCompute。

    系统显示类似如下。

  1. 执行以下命令,进入指定目录。

    cd /cloud/tool/tianji/[$Service_Name]-[$Project]/user
  1. 执行以下命令,创建目录。
    mkdir -p pangu_monitor/conf
  1. 执行以下命令,进入创建的目录。

    cd pangu_monitor/conf
  1. 执行以下命令,从AG服务器拷贝文件到当前目录。
    scp [$ODPS_AG_Hostname]:/apsara/pangu_monitor/pangu_monitor_items.json .

    说明:[$ODPS_AG_Hostname]为MaxCompute集群的AG主机名,如vm0100100004116

  1. 编辑pangu_monitor_items.json文件,需要关闭那个监控项,则将所在模块的enable参数改为0,关闭监控。
  1. 执行以下命令,提交更新服务模板。
    ./tianji_clt service_template -u -m "[$Remarks]" -t [$Template_Name] --dir [$Service_Name] -[$Project] -s [$Service_Name] --config /cloud/data/bootstrap_controller/BootstrapController# /bootstrap_controller/tianji_dest.conf

    说明:[$Remarks]为备注信息。

    系统显示类似如下。

 

修改全局Monitor配置

以修改check_pangu_usage为例。

  1. 切换到/cloud/tool/tianji/目录,执行以下命令,将模板文件下载到OPS1机器。
    ./tianji_clt service_template -g -t [$Template_Name] --dir [$Project]-[$Service_Name] -s \
    [$Service_Name]  --config /cloud/data/bootstrap_controller/BootstrapController#/\
    bootstrap_controller/tianji_dest.conf

    系统显示类似如下。

  1. 执行以下命令,进入指定目录。

    cd /cloud/tool/tianji/[$Dir]/user/pangu_supervisor
  1. 执行如下命令,拷贝监控模板。

    scp [$ODPS_AG_Hostname]:/apsara/supervisor/pangu_global_monitor.json .
  1. 修改pangu_global_monitor.json文件,将文件头部“//”信息删除,改为标准JSON文件格式。
  1. check_pangu_usage模块的enable参数由true改为false,关闭监控项。

  1. 执行以下命令,提交更新服务模板。

    ./tianji_clt service_template -u -m "[$Remarks]" -t TMPL-PANGU-ODPS-CL-0.16 --dir [$Project]\
    -[$Service_Name] -s [$Service_Name] --config /cloud/data/bootstrap_controller/BootstrapController#\
    /bootstrap_controller/tianji_dest.conf

专有云V3.3之后版本

以下操作以NAS集群为例。

  1. 登录天基控制台,选择运维>服务运维,模糊查询pangu,在搜索结果中单击右侧的管理
  2. 选择服务模板,模糊查询nas,查看模板名称单击编辑
  3. 进入编辑服务模板页面,然后单击下一步
  4. 编辑服务模板页面,选择Service>tianji>user。如果不存在pangu_monitor目录,则执行以下操作。
    1. 选择user,单击新增文件
    2. 在创建文件提示框中,选择文件夹,输入文件夹名pangu_monitor,单击提交
    3. 选择pangu_monitor,单击新增文件。在创建文件提示框中,选择文件夹,输入文件夹名conf,单击提交
    4. conf中创建pangu_monitor_items.json,并将以下文件中的内容拷贝到创建的文件中。
      /apsara/pangu_monitor/pangu_monitor_items.json
    5. 修改需要关闭的监控项或者阈值,1表示开启,0表示关闭。修改完毕后单击预览并提交
    1. 确认提交窗口输入本次更改描述内容,单击提交

  1. 如果存在pangu_monitor目录,选择conf目录,修改pangu_monitor_items.json文件中需要关闭的监控项或者阈值

 

应用服务模板

模板修改完成后,通过以下操作将模板应用到集群上。

  1. 登录天基控制台,选择运维>服务运维,模糊查询pangu,在搜索结果中单击右侧的管理
  2. 选择服务模板,模糊查询odps,在搜索结果中单击右侧的更多,在下拉菜单中选择批量使用模板
  3. 在批量应用模板升级页面,选择服务实例,单击确定
  4. 弹出操作确认提示框,输入提示信息后,单击确认升级
  5. 选择任务>运行任务,查看Rolling任务状态,等待Rolling完毕。
  6. 选择任务> 历史任务,查看Rolling结果。
  7. 选择报表>系统报表>产品组件当前状态,在服务角色报警信息模块,查找该集群的PanguMaster#角色的报警信息。
    说明
    • 也可通过集群运维中心查看报警信息。

    • 由于关闭监控项后,没有新的信息上报,所以该信息会一直停留在上次报警的状态,需人工清除。

  8. 由于关闭监控项后,没有新的信息上报,所以该信息会一直停留在上次报警的状态,需人工清除。登录OPS1服务器,执行如下命令,清除报警信息。
    curl "localhost:7070/api/v5/SetMachineSRMonitor?hostname=[$ODPS_AG_Hostname]&serverrole=pangu.PanguMaster%23" -X POST -d '{"monitor":"ms_memory_speed","level":"good","description":""}'
    系统显示类似如下。

3.3. 结果验证

  1. 登录天基控制台,确认集群已达终态。

  1. 选择集群配置文件>pangu>user,确认多了一个pangu_monitor目录,并且在conf目录下存在pangu_monitor_items.json文件。

  1. 登录集群AG服务器,执行以下命令,进入指定目录。
    cd /apsara/pangu_monitor/monitor/log
  1. 执行以下命令,查看日志文件。

    cat pangu_monitor.LOG

    系统显示类似如下,提示监控项已关闭。

  1. 登录天基控制台,选择报表>系统报表>产品组件当前状态,在服务角色报警信息区域,查找该集群的PanguMaster#角色的报警信息,确认报警消失。

4. 回滚方案

请参见实施步骤,重新下载模板,将关闭的监控项中的enable参数0改为1,重新提交并Rolling。