云服务器内容精选

  • 前提条件 服务已接入E CS 类型Prometheus监控,具体请参见Prometheus实例 for ECS。 服务已接入云服务类型Prometheus监控,具体请参见Prometheus实例 for 云服务。 服务已接入Remote Write类型Prometheus监控,具体请参见Prometheus实例 for Remote Write。 服务已接入CCE类型Prometheus监控,具体请参见Prometheus实例 for CCE。
  • 注意事项 目前仅default类型、CCE类型、云服务类型、ECS类型、Remote Write类型的Prometheus实例支持数据多写功能。 CCE类型的Prometheus中配置的预汇聚规则指标暂不支持数据多写。 通过数据多写功能转储default Prometheus中的指标时,由于 AOM 直接转储原始指标,有部分转储的指标名称与AOM页面展示的指标名称不一致。例如:icagent上报的原始指标名称为小驼峰格式,AOM页面查询时指标名称转换成蛇形格式(以memUsage指标为例,原始指标名称为memUsage,AOM页面查询时指标名称为aom_container_memory_usage)。
  • 监控项类型 Agent会自动发现系统采集的插件类型,并且将采集器实例化,形成监控项。监控项是实例化在一个环境上的。 由于采集器种类较多,会导致用户区分困难。系统后台会定义一些类型,每种采集器都会归到一种类型下,这样方便用户查看数据。 APM 应用指标监控可以度量应用的整体健康状况。拓扑、接口调用、基础监控、异常为基本的监控项。其他的监控项,如:外部调用、通信协议、数据库、Web容器、缓存、消息队列,会由Agent根据用户服务的使用情况,自动发现予以显示。 应用指标监控仅展示接入应用涉及的监控项的指标。接入应用不涉及的监控项的指标,不做展示。 根据采集器的作用可以将监控项分为以下几种类型: 拓扑:拓扑图展示服务之间一段时间的调用关系,可以是从调用方统计的,也可以是从被调用方统计的,并且可以查看这个调用关系的趋势图。 接口调用:指外部服务调用当前应用的监控类型。 基础监控:用来监控系统性能的基础监控指标的监控类型。 异常:用来监控应用的异常信息。 外部调用:是指当前应用调用外部服务的监控类型。 数据库: 对数据库的访问进行监控。 缓存:是对Redis等缓存系统的监控,会采集指令级别的细粒度的指标数据。 web容器:对tomcat等web容器的监控,一般会采集系统总的处理线程数,busy线程数,连接数等;用于衡量系统总的容量。 消息队列:对kafka、RabbitMq等消息系统的监控,包含发送端和接收端的监控。在接收端的处理函数,可以产生调用链信息。 通信协议:对websocket等通信协议的监控。 profiler性能分析:自动获取应用程序运行过程中,CPU Time、Memory、Latency的使用情况,通过火焰图实时展示每一个方法的调用关系和执行率,帮助优化代码性能。 远程过程调用:对GRPCServer等远程过程调用的监控。
  • 查看HttpClient监控 接口维度汇总 针对HttpClient监控系统会采集每个URL的指标,具体指标以及说明,参见表1。您可以单击列表右上角的自定义列表项,使界面上显示您需要查看的指标数据。 图4 接口维度汇总HttpClient监控 表1 HttpClient监控接口维度汇总指标说明列表 指标集 指标 说明 接口维度汇总 url 被调用url。 method url的httpmethod。 envId 被调用的url对应的集群id。 调用次数 被调用url的调用次数。 平均响应时间(ms) 被调用url的平均响应时间。 错误次数 被调用url的错误次数。 最大并发 被调用url的最大并发。 最慢调用(ms) 被调用url的最大响应时间。 0-10ms 响应时间在0-10ms范围请求数。 10-100ms 响应时间在10-100ms范围请求数。 100-500ms 响应时间在100-500ms范围请求数。 500-1000ms 响应时间在500-1000ms范围请求。 1-10s 响应时间在1-10s范围请求数。 10s以上 响应时间在10s以上请求数。 错误调用链 采集周期内发生错误的调用链对应的traceid。 最慢调用链 采集周期内最慢的调用链对应的traceid。 单击“调用次数”、“平均响应时间”等列蓝色字体数值,会以图表的形式显示对应的数值详情。 单击“最慢调用链”列或“错误调用链”列的,蓝色字体,系统会跳转到该调用链详情或历史信息页面,查看该调用链的调用情况以及历史信息。 集群维度汇总 APM支持以集群的维度汇总外部调用的指标,具体指标以及说明,参见表2。 图5 集群维度汇总HttpClient监控 表2 HttpClient监控集群维度汇总指标说明列表 指标集 指标 说明 集群维度汇总 envId 被调用方的集群id。 下游地址 下游url地址。 调用次数 调用该集群url的调用次数。 平均响应时间(ms) 调用该集群url的平均响应时间。 错误次数 被调用url的错误次数。 最慢调用(ms) 调用该集群url的最大响应时间。 0-10ms 响应时间在0-10ms范围请求数。 10-100ms 响应时间在10-100ms范围请求数。 100-500ms 响应时间在100-500ms范围请求数。 500-1000ms 响应时间在500-1000ms范围请求。 1-10s 响应时间在1-10s范围请求数。 10s-n 响应时间在10s以上请求数。 单击“调用次数”、“平均响应时间”等列的蓝色字体数值,会以图表的形式显示对应的数值详情。 状态码维度汇总 APM支持以状态码的维度汇总外部调用的指标,具体指标以及说明,参见表3。 图6 状态码维度汇总HttpClient监控 表3 HttpClient监控状态码维度汇总指标说明列表 指标集 指标 说明 状态码维度汇总 code 状态码。 数量 对应状态码的发生次数。 最近URL 产生对应状态码的url。 单击“code”列的某个状态码,系统会跳转到调用链页面,显示默认20分钟内所在环境,所选实例该状态码的调用情况。 单击“数量”列的数值,可以查看所选时间段内该状态码的趋势图。 单击最近url,可以查看对应状态码下的调用详情。 异常 可以在异常页签下查看对HttpClient调用的异常信息统计的指标,具体指标以及说明,参见表4。 图7 HttpClient监控异常 表4 HttpClient监控异常指标说明列表 指标集 指标 说明 异常 causeType 发生异常的类。 exceptionType 异常类型。 数量 该异常的发生次数。 异常消息 该异常产生的异常消息。 错误堆栈 该异常产生的堆栈信息。 单击“数量”列的蓝色数值,可以查看所选时间段内该线程的趋势图。 单击“异常消息”列的蓝色文字,可以查看异常消息的详细内容。 单击“错误堆栈”列的“查看详情”可以查看异常的详细信息。 单击“错误堆栈”列的“历史信息”可以查看该类名的历史异常堆栈列表。 总览 可以在总览页签下查看所选实例的的指标,具体指标以及说明,参见表5。 选中某一个时间节点时,图表支持联动。展示该时间节点下各个指标的实际数值。 图8 HttpClient监控总览 表5 HttpClient监控总览指标说明列表 指标集 指标 说明 总览 调用次数 总的调用次数。 平均响应时间(ms) 平均响应时间。 错误次数 总的错误次数。
  • 问题分析 弹性云服务器或裸金属服务器安装Agent后仍然无操作系统监控数据时,一般考虑有如下几个原因: Agent进程运行状态异常 委托异常 路由配置异常导致的获取临时AK/SK失败 网络问题 首先需要确认使用的Agent版本。 使用root账号,登录ECS。 执行如下命令,确认使用老版本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。
  • 问题解决(Windows) 以administrator权限用户登录弹性云服务器或裸金属服务器。 进入任务管理器,查看telescope进程是否存在。 当包括图5和图6两个进程时,表示telescope进程正常。 图5 agent进程-Windows 图6 telescope进程-Windows 进程正常:请执行4。 进程异常:请执行3。 双击start.bat,启动Agent。 访问http://169.254.169.254/openstack/latest/meta_data.json,确认云服务器委托已创建。 可访问:表示委托正常,排查结束。 不可访问:请执行6。 执行如下命令,检查路由: route print 当返回如下信息时,表示路由正常: 图7 路由配置正常-Windows 路由正常:排查结束。 路由异常:请执行7。 当路由不存在时,执行如下命令,添加路由: route add -host 169.254.169.254 gw 192.168.0.1 上述命令斜体部分192.168.0.1为云服务器的网关,请根据实际情况修改配置。 问题是否解决? 解决:排查结束。 未解决:执行7。 打开telescope安装包存放目录bin/conf_ces.json配置文件。 获取telescope配置文件中的Endpoint。 {"Endpoint":"https://ces.cn-north-4.myhuaweicloud.com"} 执行如下命令,确认DNS解析是否正常。 ping ces.cn-north-4.myhuaweicloud.com 网络正常:排查结束。 网络无法访问:修改DNS配置或 CES 的终端节点。 各区域对应的 云监控服务 的Endpoint请参考“地区和终端节点”。
  • 进入 云监控 服务提示权限不足该如何处理? 此问题与权限配置有关,一般为 IAM 子帐号权限不足,需检查IAM配置的权限。 管理员使用主账户登录管理控制台。 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“ 统一身份认证 ”。 在左侧导航窗格中,单击“用户组”。 展开子账号所属的用户组的详情。 请参考创建用户组并授权为子帐号所属的用户组添加相应权限。 云监控服务提供系统策略及操作与策略权限一览表,请参见:云监控服务系统策略。 父主题: 用户权限
  • 安全组 修改ECS的安全组规则(管理控制台) 本节介绍登录管理控制台后修改ECS安全组规则的操作步骤和方法。本章节以ECS为例介绍如何修改DNS和添加安全组,BMS操作步骤类似。 在ECS详情页,单击安全组页签。 进入安全组列表页。 单击具体的安全组名。 单击“更改安全组规则”。 进入安全组详情页。 BMS的操作步骤: 请单击表格中左上角的安全组ID。 在对应安全组“操作”列单击“配置规则”。 在“出方向规则”页签下单击“添加规则”。 按表1所示添加规则。 表1 安全组规则 协议 端口 类型 目的地址 说明 TCP 80 IPv4 100.125.0.0/16 用于从OBS桶下载Agent包到ECS或BMS中、获取ECS或BMS的元数据信息与鉴权信息。 TCP、UDP 53 IPv4 100.125.0.0/16 用于DNS解析 域名 ,下载Agent时解析OBS地址、发送监控数据时解析云监控服务Endpoint地址。 TCP 443 IPv4 100.125.0.0/16 采集监控数据到云监控服务端。
  • 约束与限制 当前章节的修复方式只支持新版本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
  • Agent插件状态显示“故障”该如何处理? 操作系统监控插件每1分钟发送1次心跳;当服务端3分钟收不到插件心跳时,“插件状态”显示为“故障”。 “故障”原因可能为: Agent域名无法解析,请先确认修改DNS与添加安全组中 DNS地址 配置正确,然后参考《云监控服务用户指南》中“手动配置Agent”章节检查配置是否正确。 账号欠费。 Agent进程故障,请参照管理Agent重启,如果无法重启则说明相关文件被误删,请重新安装Agent。 服务器内部时间和本地标准时间不一致。 Agent插件版本不同,日志路径也不同。 日志路径分别如下: Linux: 新版本Agent:/usr/local/uniagent/extension/install/telescope/log/ces.log 老版本Agent:/usr/local/telescope/log/ces.log Windows: 新版本Agent:C:\Program Files\uniagent\extension\install\telescope\log\ces.log 老版本Agent:C:\Program Files\telescope\log\ces.log 使用的DNS非华为云DNS,请通过执行dig+目标域名获取到agent.ces.myhuaweicloud.com在华为云内网DNS下解析到的IP后再添加对应的hosts。华为云提供的内网DNS地址请参见华为云提供的内网DNS地址是多少?。 父主题: 插件状态类
  • 约束与限制 当前章节的修复方式只支持新版本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
  • 操作步骤 使用root账号,登录Agent不上报数据的ECS或BMS。 可选:执行以下命令,切换至Agent安装路径的bin下。 Windows系统下,路径为:“C:\Program Files\uniagent\extension\install\telescope” Linux系统下, 路径为:/usr/local/uniagent/extension/install/telescope/bin 修改配置文件conf.json。 执行以下命令,打开配置文件conf.json。 vi conf.json 在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 } 执行如下命令,保存并退出conf.json文件。 :wq 请执行如下命令,重启Agent。 Windows系统下: 在Agent安装包存放目录下,先双击执行shutdown.bat脚本,停止Agent,再执行start.bat脚本,启动Agent。 Linux系统下: 执行以下命令查看telescope的PID。 ps -ef |grep telescope 强制关闭进程后等待3-5分钟telescope可实现自动重启,操作示例如图1所示。 kill -9 PID 图1 重启Agent
  • Agent各种状态说明及异常状态处理方法 插件有以下四种状态: 运行中:插件正常运行,监控数据上报正常。 未安装: Agent未安装,安装方法参考《云监控服务用户指南》中的“Agent安装说明”章节。 Agent已经安装,委托未配置,委托配置方法参考如何配置委托?。 Agent已经安装,网络配置异常,修复方法参考修改DNS与添加安全组(Linux)、修改DNS与添加安全组(Windows)。 已停止: Agent被手动停止,启动插件方法参考管理Agent。 故障:监控插件每1分钟发送1次心跳;当服务端3分钟收不到插件心跳时,“插件状态”显示为“故障”。 Agent域名无法解析,修复方法参考修改DNS与添加安全组(Linux)、修改DNS与添加安全组(Windows)。 账号欠费。 Agent进程故障,先尝试重启Agent,重启Agent方法参考管理Agent。如果重启后状态还是故障,可能Agent相关文件被破坏,请尝试重新安装Agent,安装方法参考Agent安装说明。 服务器内部时间和本地标准时间不一致。 使用的DNS非华为云DNS,请通过执行dig+目标域名获取到agent.ces.myhuaweicloud.com在华为云内网DNS下解析到的IP后再添加对应的hosts。华为云提供的内网DNS地址请参见华为云提供的内网DNS地址是多少?。 请将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
  • 查看Agent版本 使用root账号,登录ECS。 执行如下命令,确认使用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。