云服务器内容精选
-
数据面监控 此处默认统计近1小时、近8小时和近24小时的各维度资源用量。如需查看更多监控信息,请单击“查看全部监控”,跳转至“仪表盘”页面,相应指导请参见使用仪表盘。 您可以将鼠标悬停在图表上,以便查看每分钟的监控数据。 CPU:单位时间内集群CPU使用情况的统计。 内存:单位时间内集群内存使用情况的统计。 PVC存储状态:PVC和PV的绑定情况。 Pod数量状态趋势:实时监控集群Pod的状态。 Pod总重启次数趋势:近5分钟的集群的Pod重启次数总和。 节点状态趋势:实时监控集群节点的状态。
-
健康概况 资源健康概况 资源健康概况涵盖了节点、工作负载和Pod三类资源中异常资源所占比例,以及命名空间的总数,以便及时发现和解决业务异常。 控制面健康概况 除了控制面组件和Master节点的异常占比,控制面资源概况中还提供了API Server的总QPS和请求错误率指标。作为集群的API服务提供者,控制面API Server的异常可能会导致整个集群无法访问,同时也会影响依赖API Server的工作负载的正常运行,QPS和请求错误率可以帮助您快速识别和修复问题。 图2 健康概况
-
资源消耗Top统计 在资源消耗Top统计中,CCE服务会将CPU使用率和内存使用率排名前五的节点、无状态负载、有状态负载和Pod纳入统计范围,以帮助您识别资源消耗“大户”。如果您需要查看全部数据,可前往节点、工作负载或Pod页面。 图3 资源消耗Top统计 监控名词解释: CPU使用率 节点CPU使用率 = 节点的CPU非空闲时间所占的平均比例。 工作负载CPU使用率 = 工作负载各个Pod中CPU使用率的平均值 Pod CPU使用率 = Pod实际使用的CPU核数 / 业务容器CPU核数限制值之和(未配置限制值时采用节点总量) 内存使用率 节点内存使用率 = 节点的内存使用量除以节点的内存总量。 工作负载内存使用率 = 工作负载各个Pod中内存使用率的平均值 Pod内存使用率 = Pod实际使用的物理内存 / 业务容器物理内存限制值之和(未配置限制值时采用节点总量)
-
如何使用Istio调用链埋点 Header信息包括如下内容,更多关于调用链的信息请参见https://istio.io/docs/tasks/telemetry/distributed-tracing/。 x-request-id x-b3-traceid x-b3-spanid x-b3-parentspanid x-b3-sampled x-b3-flags x-ot-span-context 下面以一个典型的例子来说明如何在接收和发送请求时,通过修改代码来传递调用链相关Header信息。 Python代码示例 服务接收端在处理请求时,从请求端解析相关Header。在调用后端请求时,传递Trace相关的header。 def getForwardHeaders(request): headers = {} if 'user' in session: headers['end-user'] = session['user'] incoming_headers = ['x-request-id', 'x-b3-traceid', 'x-b3-spanid', 'x-b3-parentspanid', 'x-b3-sampled', 'x-b3-flags', 'x-ot-span-context' ] return headers @ app.route('/productpage') def front(): product_id = 0# TODO: replace default value headers = getForwardHeaders(request) user = session.get('user', '') product = getProduct(product_id) detailsStatus, details = getProductDetails(product_id, headers) reviewsStatus, reviews = getProductReviews(product_id, headers) return render_template( 'productpage.html', detailsStatus = detailsStatus, reviewsStatus = reviewsStatus, product = product, details = details, reviews = reviews, user = user) Java代码示例 在java Rest接口上除了解析一般业务参数外,需要从header中解析trace相关信息。同样在调用下一个服务时传递该header信息。 @GET @Path("/reviews/{productId}") public Response bookReviewsById(@PathParam("productId") int productId, @HeaderParam("end-user") String user, @HeaderParam("x-request-id") String xreq, @HeaderParam("x-b3-traceid") String xtraceid, @HeaderParam("x-b3-spanid") String xspanid, @HeaderParam("x-b3-parentspanid") String xparentspanid, @HeaderParam("x-b3-sampled") String xsampled, @HeaderParam("x-b3-flags") String xflags, @HeaderParam("x-ot-span-context") String xotspan) { int starsReviewer1 = -1; int starsReviewer2 = -1; if (ratings_enabled) { JsonObject ratingsResponse = getRatings(Integer.toString(productId), user, xreq, xtraceid, xspanid, xparentspanid, xsampled, xflags, xotspan); if (ratingsResponse != null) { if (ratingsResponse.containsKey("ratings")) { JsonObject ratings = ratingsResponse.getJsonObject("ratings"); if (ratings.containsKey("Reviewer1")){ starsReviewer1 = ratings.getint("Reviewer1"); } if (ratings.containsKey("Reviewer2")){ starsReviewer2 = ratings.getint("Reviewer2"); } } } } String jsonResStr = getJsonResponse(Integer.toString(productId), starsReviewer1, starsReviewer2); return Response.ok().type(MediaType.APPLICATION_JSON).entity(jsonResStr).build(); } }
-
查看流量监控情况 登录应用服务网格控制台,单击已对接APM的服务网格名称进入详情页面。 在左侧导航栏中选择“监控中心”-“流量监控”。 查看整个系统的监控情况。 拓扑图中显示了系统处于运行中和未就绪的应用数量。 图1 流量拓扑 查看某个组件的监控情况。 选择服务网格、集群及命名空间,单击拓扑图上的组件,进入组件监控详情页面,如图2所示。 图2 流量监控详情页 其中, 流量概况:展示了应用详细的流量信息,包含请求总数、错误计数、平均时延、最大时延等。 部署信息:显示了组件内的所有实例状态及信息。 调用链:通过时间维度和组件版本来查看调用情况,支持使用高级搜索中的选项进行精准搜索。使用istio做服务治理时,无需在微服务代码中进行调用链埋点。但微服务代码在接收和发送请求时需要传递调用链相关的Header信息,才能构造成完整的调用链路,详情请参见如何使用Istio调用链埋点。
-
常见问题 监控中心开通失败,插件状态异常。 解决方案:请前往“插件管理”页面查看已安装插件列表,单击云原生监控插件名称,展开实例列表,检查状态为异常的Pod的事件,根据界面报错信息排查异常原因。 成功进入监控中心页面,但页面数据为空。 解决方案: 请前往“插件中心”页面查看已安装插件列表,单击云原生监控插件名称,展开实例列表,检查Prometheus的实例是否正常运行。如果未正常运行,请查询Pod的事件,获取异常信息。 例如:报错信息为实例调度失败:0/6 nodes are available: 1 Insufficient cpu, 2 node(s) had taint {cie.manage: proxy}, that the pod didn't tolerate, 3 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn't tolerate,说明当前集群中总共6台节点,1台节点CPU不足,剩下的5台节点标记有污点,导致Pod无法调度。 如果插件状态正常,则可以查询prometheus实例的日志,检查日志中是否存在报错日志。如果日志中含有remote_write相关的报错信息,则表示指标上报时失败,请检查指标上报的网络是否通畅。
-
开通监控中心 购买集群时开通 登录云容器引擎控制台,购买集群。 在“插件配置”页面,启用容器监控功能,并选择对接的AOM实例。 图1 启用容器监控 如果未创建AOM实例,请先点击新建实例创建AOM实例。 集群创建完成后,在“节点管理”中创建节点。待节点创建成功后,Prometheus采集插件将自动部署至节点上。 在监控中心页面开通 在目标集群左侧导航栏选择“监控中心”。 单击“立即开通”,并选择指标上报的AOM实例。 图2 开通监控中心 开通成功后,等待3-5分钟,监控数据将上报至AOM实例,随即可以使用监控中心相关功能。 在插件管理页面开通 在目标集群左侧导航栏选择“插件中心”。 选择云原生监控插件,单击“安装”。 按需选择Agent模式或Server模式的云原生监控插件,并开启对接AOM开关,指标将上报至AOM实例。 图3 安装云原生监控插件 插件安装完成3-5分钟后,监控数据将上报至AOM实例,随即可以使用监控中心相关功能。 如需关闭监控中心,请前往CCE控制台“插件管理”页面卸载云原生监控插件,或关闭AOM对接,即可以停止使用该功能。
-
解决方案 方案一:推荐使用Agent模式,对接AOM实例。使用AOM托管指标数据,无需管理存储。 方案二:在左侧导航栏中选择“存储”,并切换至monitoring命名空间,选中pvc-prometheus-server-0的磁盘,扩容对应的存储资源。扩容完成后前往有状态负载页面,将prometheus-server的实例重启。 图2 扩容PVC 在磁盘空间不足后已无法写入Prometheus指标,将导致数据无法采集,因此扩容完成重启后,该时段的监控数据将会丢失。
-
添加监测点 单击【添加监测点】,输入监测点名称,选择节点类型,单击【确定】完成监测点的添加。叶子节点为最下层节点,需要关联设备参数,非叶子节点不需要关联设备参数。 图1 添加监测点 鼠标单击监测点右侧,非叶子节点出现【添加同级监测点】、【添加子级监测点】、【编辑】、【删除】按钮。子叶子节点出现【添加同级监测点】、【编辑】、【删除】按钮。 图2 监测点配置 图3 添加同级监测点 单击【添加同级监测点】添加相同层级监测点,两个监测点无上下层级关系; 单击【添加子级监测点】为该监测点增加下层监测点; 图4 添加监测点 单击【编辑】可修改监测点名称和节点类型; 图5 编辑监测点 单击【删除】删除当前监测点 图6 删除监测点
-
Prometheus监控 Prometheus已经成为了当前云原生可观测性的最常见工具,其强大的监控能力和活跃的社区生态,使其成功CNCF最活跃的托管项目之一。当前CCE插件市场提供了云原生监控插件用于Kubernetes集群的监控。 云原生监控插件具有轻量级Agent模式和兼容开源社区原生的Server模式可供选择。Agent模式提供了轻量级的指标采集器,用于监控指标的采集。Server模式下提供了基于thanos的高可用部署模式,保证Prometheus能够在单点故障的场景下正常运行。 华为云AOM云服务基于Prometheus监控生态,提供了托管式的Prometheus实例 for CCE,适合需要对容器服务集群及其上面运行的应用进行一体化监控场景。AOM实例默认提供对容器服务CCE集群的云原生监控插件的集成,监控中心开通后,指标将自动上报指标到指定的AOM实例。详情请参见Prometheus监控。
-
权限列表 开通监控中心前,用户需要完成对CCE及其依赖服务的委托授权,具体授予的权限如下表。 授权类型 权限名称 描述 CCE IAM ReadOnlyAccess 监控中心、告警助手获得该权限后,支持子用户访问监控中心与告警助手,因此需要获得该权限。 CCE Tenant Guest 监控中心、告警助手支持对集群关联的OBS、DNS等全局资源配置进行检查,提前发现配置问题,因此需要获得该权限。 CCE CCE Administrator 监控中心、告警助手在运行过程中需要访问CCE获取集群、节点、工作负载等信息,以此来检测对应资源的健康状态,因此需要获得该权限。 CCE SWR Administrator 监控中心、告警助手在运行过程中需要访问SWR获取镜像信息,因此需要获得该权限。 CCE SMN Administrator 监控中心、告警助手在运行过程中需要访问SMN获取联系组信息,因此需要获得该权限。 CCE AOM Administrator 监控中心、告警助手在运行过程中需要访问AOM获取监控指标信息,因此需要获得该权限。 CCE LTS Administrator 监控中心、告警助手在运行过程中需要访问LTS获取日志信息,因此需要获得该权限。 AOM DMS UserAccess AOM支持用户通过DMS获取数据订阅的功能,因此需要获得该权限。 AOM ECS CommonOperations AOM支持通过在ECS上安装UniAgent和ICAgent获取系统指标、日志数据,因此需要获得该权限。 AOM CES ReadOnlyAccess AOM支持从CES同步监控指标数据,因此需要获得该权限。 AOM CCE FullAccess AOM支持从CCE同步容器监控指标数据,因此需要获得访问权限。 AOM RMS ReadOnlyAccess AOM的CMDB支持管理云服务实例数据,因此需要获得该权限。 AOM ECS ReadOnlyAccess AOM支持通过在ECS上安装UniAgent和ICAgent获取系统指标、日志数据,因此需要获得该权限。 AOM LTS FullAccess AOM支持访问LTS数据,因此需要获得该权限。 AOM CCI FullAccess AOM支持从CCI同步容器监控指标数据,因此需要获得该权限。
-
更多进程发现规则操作 进程发现规则添加完成后,您还可以执行表2中的操作。 表2 相关操作 操作 说明 启/停规则 启用/停用一个发现规则:单击“状态”列的切换启/停规则。停用后,监控中心将不采集进程的指标数据。 启用/停用多个发现规则:选中多个发现规则前的复选框,在弹出框中单击“批量启用”或“批量停用”。 删除规则 删除一个发现规则:单击“操作”列的。 删除多个发现规则:选中多个发现规则前的复选框,在弹出框中单击“批量删除”。 说明: 内置发现规则不支持删除操作。 修改规则 单击“操作”列的。 说明: 内置发现规则不支持修改操作。
-
内置发现规则 AOM提供了Sys_Rule发现规则,内置的发现规则会在所有主机上执行,包括后续新增的主机。规则内容如下: Sys_Rule(不能停用) 使用Sys_Rule规则的场景下,组件名和应用名配对使用,必须同时设置组件名和应用名信息,取值优先级如下: 应用名称取值优先级: 取进程的启动命令中“Dapm_application”字段的值。 如果1为空,则取环境变量“JAVA_TOOL_OPTIONS”中“Dapm_application”字段的值。 如果2为空,则取环境变量“PAAS_MONITORING_GROUP”的值。 如果3为空,则取进程的启动命令中“DAOM.APPN”字段的值。 组件名称取值优先级: 取进程的启动命令中“DAOM.PROCN”字段的值,如果为空则取“Dapm_tier”字段的值。 如果1为空,则取环境变量“JAVA_TOOL_OPTIONS”中“Dapm_tier”字段的值。 如果2为空,则取环境变量“PAAS_APP_NAME”的值。 如下示例所示,则组件名为atps-demo,应用名为atpd-test。 PAAS_MONITORING_GROUP=atpd-testPAAS_APP_NAME=atps-demoJAVA_TOOL_OPTIONS=-javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=atpd-test -Dapm_tier=atps-demo
-
过滤规则 ICAgent会在目标主机上进行周期性探测,类似ps -e -o pid,comm,lstart,cmd | grep -v defunct命令的效果,查出目标主机的所有进程。然后将每一个进程分别与过滤规则(过滤规则详见表1)进行匹配。如果进程满足过滤规则,则进程会被过滤掉,不会被AOM发现;如果进程不满足过滤规则,则进程不会被过滤,会被AOM发现。 探测结果类似如下回显信息: PID COMMAND STARTED CMD 1 systemd Tue Oct 2 21:12:06 2018 /usr/lib/systemd/systemd --switched-root --system --deserialize 20 2 kthreadd Tue Oct 2 21:12:06 2018 [kthreadd] 3 ksoftirqd/0 Tue Oct 2 21:12:06 2018 (ksoftirqd/0) 1140 tuned Tue Oct 2 21:12:27 2018 /usr/bin/python -Es /usr/sbin/tuned -l -P 1144 sshd Tue Oct 2 21:12:27 2018 /usr/sbin/sshd -D 1148 agetty Tue Oct 2 21:12:27 2018 /sbin/agetty --keep-baud 115200 38400 9600 hvc0 vt220 1154 docker-containe Tue Oct 2 21:12:29 2018 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc --metrics-interval=0 表1 过滤规则 过滤规则 举例 如果进程的“COMMAND”列的值为“docker-containe”、“vi”、“vim”、“pause”、“sshd”、“ps”、“sleep”、“grep”、“tailf”、“tail”或“systemd-udevd”,且为非容器内的进程,则该类进程会被过滤掉,不会被AOM发现。 例如,上面信息中“PID”为“1154”的进程,因为其“COMMAND”列的值为“docker-containe”,所以该进程不会被AOM发现。 如果进程的“CMD”列的值以“[”开头,且以“]”结尾,则该类进程会被过滤掉,不会被AOM发现。 例如,上面信息中“PID”为“2”的进程,因为其“CMD”列的值为“[kthreadd]”,所以该进程不会被AOM发现。 如果进程的“CMD”列的值以“(”开头,且以“)”结尾,则该类进程会被过滤掉,不会被AOM发现。 例如,上面信息中“PID”为“3”的进程,因为其“CMD”列的值为“(ksoftirqd/0)”,所以该进程不会被AOM发现。 如果进程的“CMD”列的值以“/sbin/”开头,则该类进程会被过滤掉,不会被AOM发现。 例如,上面信息中“PID”为“1148”的进程,因为其“CMD”列的值以“/sbin/”开头,所以该进程不会被AOM发现。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格