最佳实践
最近更新时间: 2024-10-17 17:10:00
物理专线和专线通道、专线网关监控无数据
现象:
- 前端观察无数据,F12获取入参的frontNameSpace和frontMetricName
将前端抓包得到的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’
接入配置是否有问题确认:前端报错网络错误,查看数据库没有相关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}' 无数据或者数据对不上。
解决方案:
重新导入对的接入配置。有的客户还需要更新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
执行后没有报错,再去页面查看监控数据展示是否恢复。
七天监控无数据,实时有数据
现象如下:
实时有数据,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");
CVM部分指标监控无数据
故障现象:
CVM的 CPU使用率,内存使用量和内存使用率无监控数据。
barad_agent安装流程图
- 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只是负责下载、安装和启动。
- 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的同学定位
确认plugin.ini配置是否正常
cd /usr/local/qcloud/monitor/barad/
[root@VM_0_17_linux barad]# catetc/plugin.ini
查看dispatcher.log日志和executor.log是否有异常信息输出
检查下metadata通不通
curl metadata_url/uuid 是否能正常返回数据比如curl http://product-cvm-metadata.chongqing.yf-1.tcepoc.fsphere.cn:80/meta-data/uuid
如果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服务即可自动安装和启动。