最佳实践

最近更新时间: 2024-06-12 15:06:00

  1. 物理专线和专线通道、专线网关监控无数据

    现象:

    1. 前端观察无数据,F12获取入参的frontNameSpace和frontMetricName

    2. 将前端抓包得到的frontNameSpace和frontMetricName拿到后端抓包查看是否有数据上报,手动抓包:进barad数据库地域库(一般mysql22003可以直接进入地域库,我们做了别名。如果客户环境mysql22003进不去,以客户的实际情况为准)

      例如:select *from StormCloudConf.cApiMetric where frontNameSpace = 'qce/dc';

      查到映射的后端命名空间和后端的指标,再去barad-nwspod里进行抓包例如:tcpdump -i any -s0 -nn -A 'dst port 80'|grep'qce/dc' |grep ‘inbandwidth’

    3. 接入配置是否有问题确认:前端报错网络错误,查看数据库没有相关namespce的接入配置,跟归档的.db文件比较,下面几种方式基本可以确认是否接入配置问题,检查发现qce/dc qce/dcxqce/dcg没有接入。

      • 观察barad-isd提供的监控配置中心页面左侧栏是否缺少相关的命名空间。示例地址:http://isd.barad.Example.com(具体域名可在tcs master获取,kubectl get ingress -A |grepisd.barad)

      • 例如在StormCloudConf主库执行select * from cShowProductConfig where namespace = '{$namespace}';查询无记录。

      • select * from cApiMetric where namespace = '{$namespace}';无数据或者数据对不上,特例是没有接Api指标的。

      • select * from cObservationMetric where namespace = '{$namespace}' 无数据或者数据对不上。

    4. 解决方案:

      重新导入对的接入配置。有的客户还需要更新barad-isd镜像包。

      更新镜像后(或者barad-isd镜像的接入配置qce/dc qce/dcxqce/dcg 是好的)

      进入barad-isd pod,

      cd /data/release/product.pkg/tools , shsync_product.sh qce/dc qce/dcx qce/dcg

      执行后没有报错,再去页面查看监控数据展示是否恢复。

  2. 七天监控无数据,实时有数据

    • 现象如下:

      实时有数据,7天数据异常

    • 7天数据异常原因:

      barad的聚合规则,如果配置了聚合方式,则优先使用该规则聚合数据,反之则依次寻找下一粒度,对天级别数据和小时级别数据,优先5分钟,其次1分钟。

    • 解决方案:

      在从库执行下面的SQL,删除天级聚合方式,使用默认的5分钟来计算3600的数据,注意操作前备份好数据库。

       DELETEa from cAssociationMiningRule as a, cDimensionView as b, cDimensionGroup as cwhere a.outputDimGroupId=c.dimGroupId and a.outputPeriod>300 andb.dimensionGroup=c.dimensionGroup and b.namespace=c.namespace and b.namespacein("qcce/nat_gw_bm","qce/bm_lb","qce/cmq","qce/cvm","qce/vpc_region_conn","qce/cmongo","qce/bm_intra_lb","qce/cmqtopic","qce/internal_loadbalance_rs","qce/docker","qce/lb","tnm/vsr_vpnconn","qce/nat_qos_stats","qce/cbs","qce/dcg","qce/cos","qce/pcx","qqce/dc","qce/dcx","qce/lb_total","qce/cdp","qce/cdn","qce/ckafka","qce/bm_pcx","qce/scf","qce/ov_cdn","qce/apigateway","qce/loadbalance","qce/qaap","qce/nat_rs_bm","qce/internal_scf","qce/rlb","qce/cdb","qce/redis","qce/phy_host","qce/bm_rlb","qcce/sqlserver","qce/tdsql","qce/ctsdb","qce/iotmq","qce/csg","qce/vpc_net_detect","qce/ces","qce/emr","pce/bm","pce/cos","pce/netdevice","pce/stgw_lb_ld","pce/lb_ld","pce/cfs_resource","qce/vpc_gateway","qce/vpc_nat","qce/vpc_jnsgw","pce/cdb_privaate","pce/redis","pce/ccb_weblogic");
      
  3. CVM部分指标监控无数据

    1. 故障现象:

      CVM的 CPU使用率,内存使用量和内存使用率无监控数据。

    2. barad_agent安装流程图

    3. barad_agent安装流程

    • 用户新建云主机时,如果选择开通云监控。

    • 云主机创建成功之后,会从hdfs的/images/qcloudagent目录下载最新版本的stargate安装包【一般是stargate_linux_install_v1.2.6.tar.gz版本】。

    • 安装并启动sgagent服务。

    • sgserver所在的容器【tcloud-barad-update2】,首次启动的时候会执行hdfs_client服务命令。

    • hdfd_client会从hdfs的/barad目录下载最新版的barad_agent安装包【TCE一般是/barad/baradagent_installer】,放到本地的/data/www/update2.agent.tencentyun.com/update目录,并把版本信息写入数据库。

    • sgagent启动之后,会调用sgserver接口,查询barad_agent安装版本信息。

    • 并从sgserver的/data/www/update2.agent.tencentyun.com/update目录下载barad_agent安装包

    • 安装并启动barad_agent服务。

    • 整个流程中:

      • barad_agent安装包由cvm团队提供,并保证把最新的安装包信息上传到hdfs的/barad目录上

      • barad_agent安装包以及配置都是cvm团队维护,sgagent只是负责下载、安装和启动。

    1. cvm数据上报流程问题定位步骤
    • 先在nws机器上抓包确认,是否有数据上报。

      • 通过cvm的uuid作为关键字抓包。

        tcpdump-i any -nn -s0 -A 'dst port 80' | grep '8d8bf61d-e938-4f0d-95cc-b455d9f778a1'

        单单通过uuid关键字过滤,有可能抓到的只是母机上报的数据,cvm子机并无数据上报

      • 所以建议抓包的时候,增加指标关键字:tcpdump -i any-nn -s0 -A 'dst port 80' | grep '8d8bf61d-e938-4f0d-95cc-b455d9f778a1' | grep'"cpu_usage'

      • 如果抓包没有数据,需要登录子机器继续确认。

    • 登录cvm子机器方式

      • 在运营端通过uuid查询母机的ip

      • 登录母机

        进入所在环境的跳板机,比如:M14

        使用root账号登录,密码一般是:Tcdn@2007(具体也可以找tce的同事提供)

        [m14@TENCENT64 ~]$ ssh root@10.19.0.21

        通过uuid登录cvm子机

        virsh console 8d8bf61d-e938-4f0d-95cc-b455d9f778a1

        有些cvm子机登录需要子机器账号和密码(具体可以找cvm子机创建者提供)

          VM_0_34_centos login: root
          Password:
          Last failed login: Sun May 24 12:52:59 CST 2020 on ttyAMA0
          There were 2 failed login attempts since the last successful login.
          Last login: Thu May 21 14:34:53 on ttyAMA0
          Welcome to tlinux 2.4 for aarch64
          Version 2.4 20191012
          tlinux-2.4-kvm-guest-aarch64-20200115
          [root@VM_0_34_centos ~]#
    • 确认sgagent是否有正常安装

      查看sgagent进程是否正常启动

      ps -aux | grep agent

      • 如果sgagent未安装,需要确认两点

      • 用户创建云主机时,是否选择开通云监控

      • hdfs的/images/qcloudagent的目录上是否有sgagent的安装包

    • 登录hdfs方式

      • 查找hdfs的节点信息

      • 进入tcloud-barad-update2容器

      • 查看tce相关服务配置信息vim/tce/conf/cm/local.json

      • 找到hdfs相关配置

    • 登录hdfs

      使用root账号登录hdfs机器,密码一般是:Tcdn@2007(具体也可以找tce的同事提供)

      [m14@TENCENT64 ~]$ ssh root@10.23.0.133

    • 查看hdfs目录信息

      查看sgagent安装包

      hadoop fs -ls/images/qcloudagent

      查看barad_agent安装包

      hadoop fs -ls /barad

    • 上传sgagent安装包

      如果在hdfs没有看到/images/qcloudagent/stargate_linux_install_v1.2.6.tar.gz安装包,

      可能是生产组件product-barad-sgagent安装失败导致

      • 如果是内部环境yf1、uos等,需要重跑qci流程,并手动安装【详细流程参考TCE弹性交付文档】

      • 如果是客户环境 ,需要一线人员重新安装。

        注意:

        product-barad-sgagent生产组件安装过程主要是完成2件事

        把原始的stargate_linux_install安装包解压,并在tce环境上替换相关的配置,然后再重新打包

        把打包的安装包,上传到hdfs的/images/qcloudagent/目录上。

      • 如果是临时测试,可以考虑自己手动上传安装包到hdfs上

        hadoop fs -put /tmp/stargate_linux_install_v1.2.6.tar.gz /images/qcloud

      • 确保hdfs有sgagent安装包之后,用户新创建云主机并选择开通云监控之后,会自动下载并安装sgagent。

    • 确认barad_agent是否有正常

      • 登录CVM子机器确认barad_agent是否正常启动

        ps -aux | grep agent

    • 如果barad_agent进程正常启动,但是仍然无数据上报,可能是环境问题或者barad_agent配置问题导致【联系cvm和tce同学处理】

      也可以按照以下步骤检查,并提供相关信息给cvm和tce的同学定位

    • 如果barad_agent未启动

      • 确认是否是sgagent异常导致barad_agent安装失败

        查看/usr/local/qcloud/stargate/etc/base.conf 中的url是否能正常访问查看/usr/local/qcloud/stargate/logs/stargate.log 是否有异常日志

      • 如果base.conf请求的地址http://update2.agent.tencentyun.com/interface.php访问异常

        进入tcloud-barad-update2容器,确认sgserver服务是否正常

      • 确认tcloud-barad-update2容器上/data/www/update2.agent.tencentyun.com/update下是否有最新的barad_agent安装包

      • 如果没有最新安装包,可以通过hdfs_client从hdfs下载最新的包

        cd /usr/local/services/hdfs_client/ && ./hdfs_client -f/barad/baradagent_installer

      • ehdfs_client更新失败

        先检查hdfs_client配置是否正确,配置异常【是环境问题导致,联系tce同事处理】

        也可能hdfs上没有barad_agent安装包【联系cvm同学处理】

    • 确认sgserver有最新的barad_agent安装包之后,登录cvm子机器重启sgagent服务即可自动安装和启动。