云服务器内容精选
-
统一资源监控 CES 服务是面向租户资源的统一监控平台,采用Region级部署方式,对不同Region,不同账号的云资源进行监控及告警。每个账号下都有独立的监控大屏,告警通知、资源分组等功能。能够全方位、立体化的监控租户资源的使用情况,出现问题会触发告警,并通知租户。 站点监控用于模拟真实用户对远端服务器的访问,从而探测远端服务器的可用性、连通性等问题。提供简单的添加配置,不再浪费资源和精力配置复杂的开源产品。支持站点异常告警,不用担心网站出问题而无人知晓。 图1 统一资源监控 针对Landing Zone解决方案中需要在多个账号下对所有资源进行监控的诉求,可以通过CES的exporter及开放接口,将不同账号的监控数据和告警数据接入到第三方的平台进行展示。告警配置可以通过华为云提供的默认模板,根据客户自身需求进行修改,修改后的最终模板可以应用在不同账号下的资源;通过该功能可以简化客户告警配置的复杂度,提升告警配置效率。如下图所示: 图2 统一运维账号 账号A、账号B的监控数据通过CES提供的exporter能力在客户侧Prometheus进行任务配置,将数据接入。 客户的第三方监控平台提供一个定时任务(建议1分钟粒度),调用CES的告警历史接口,将告警写入数据库中。 通过配置客户侧Grafana的数据源(Prometheus,数据库),最终将监控及告警数据集中呈现。 exporter使用手册:https://github.com/huaweicloud/cloudeye-exporter 父主题: 运维监控
-
资源运维过程有哪些常见报错? 通过 云堡垒机 登录资源,运维过程系统发出请求后,若遇到错误,会在响应中包含响应的错误码,以及描述错误信息。 CBH系统的常见错误码,以及错误排查方法,请参见表1。 表1 常见运维错误码 错误码 错误提示 排查方法 ERROR_CLIENT_514 Code:C_514 文件传输响应时间过长,请重试或联系系统管理员 检查CBH系统与FTP服务的网络,是否存在传输丢包现象; 本地登录FTP服务器,检查是否能正常上传文件; 检查本地网络,是否限制上传文件的大小; 请填写工单反馈问题现象,联系技术支持。 ERROR_CLIENT_515 Code:C_515 运维资源过程中遇到一个错误,请重试或联系系统管理员 尝试本地登录故障主机资源,或者登录同网段的其他资源进行测试; 检查主机/etc/hosts.deny文件配置,是否将CBH系统IP加入了黑名单,详细解决办法请参见Code:C_515错误; 检查CBH系统与故障主机的网络层,是否有服务协议拦截CBH系统IP; 请填写工单反馈问题现象,联系技术支持。 ERROR_CLIENT_519 Code:C_519 由于资源连接失败或不可达,当前无法访问。如果持续出现该问题,请通知系统管理员或检查系统日志 检查CBH系统与主机资源的网络是否互通; 本地登录主机资源,输入命令route -n,检查目标主机的路由表,是否存在丢失CBH路由现象; 请填写工单反馈问题现象,联系技术支持。 详细解决办法请参见Code:C_519错误。 ERROR_CLIENT_520 Code:C_520 由于RDP拒绝了此次连接或等待数据出错,资源无法访问。如果持续出现该问题,请通知系统管理员或检查系统日志 检查Windows主机资源的远程配置,是否开启远程桌面; 本地MSTSC方式登录主机资源,检查是否可以正常登录; 请填写工单反馈问题现象,联系技术支持。 ERROR_CLIENT_521 Code:C_521 由于其他用户登录导致连接发生冲突,请稍后重试 本地登录Windows主机资源,输入命令gpedit.msc,设置“限制链接的数量”,修改已启用的最大链接数;或关闭“限制每个用户只能进行一个会话”选项。 请填写工单反馈问题现象,联系技术支持。 ERROR_CLIENT_522 Code:C_522 于RDP闲置时间超时,连接已断开,如果不是本人意愿,请通知系统管理员或检查系统设置 本地登录Windows主机资源,输入命令gpedit.msc,修改“为断开的会话设置时间”选项; 本地MSTSC方式登录主机资源,检查是否出现RDP超时错误; 请填写工单反馈问题现象,联系技术支持。 ERROR_CLIENT_523 Code:C_523 由于连接被管理员断开、账户被注销或登录资源时长达到上限,连接已断开,如果不是本人意愿,请通知系统管理员或检查系统日志 检查RDP连接是否被管理员强制断开; 检查系统用户是否被服务器管理员注销; 检查系统用户登录时长是否超过限制。 ERROR_CLIENT_769 Code:C_769 登录失败,有可能是账户名、密码或密钥错误,请尝试重新连接 本地登录故障主机资源,检查资源账户和密码是否正确; 检查主机资源是否开启双因子认证; 检查主机资源是否拒绝root账户登录; 请填写工单反馈问题现象,联系技术支持。 详细解决办法请参见Code:C_769错误。 ERROR_CLIENT_771 Code:C_771 请联系管理员授予从账户访问权限,或检查您的系统设置 检查主机资源是否开启目标账户远程登录权限。 ERROR_CLIENT_776 Code:C_776 由于浏览器长时间无响应,连接已断开,请检查您的网络并重试 检查本地浏览器运行状态,推荐使用Chrome浏览器。 ERROR_CLIENT_797 Code:C_797 连接数超过使用限制,请关闭一个或多个连接后重试 本地登录Windows主机资源,输入命令gpedit.msc,设置“限制链接的数量”,修改已启用的最大链接数。 ERROR_TUNNEL_514 Code:T_514 由于服务器长时间无响应,连接已断开,请检查您的网络并重试 检查CBH系统与主机资源间网络是否稳定; 检查CBH系统与主机资源的网络是否互通; 请填写工单反馈问题现象,联系技术支持。 详细解决办法请参见Code:T_514错误。 ERROR_TUNNEL_520 Code:T_520 由于H5服务器H5代理服务器拒绝了此次连接,请检查您的网络并重试 检查主机资源IP地址或端口等配置是否正确; 检查主机资源是否开启guacd服务; 检查主机资源guacd服务是否接受CBH系统IP的连接; 请填写工单反馈问题现象,联系技术支持。 父主题: 运维故障
-
操作(Action) 操作(Action)即为SCP中支持的操作项。 “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。 “资源类型”列指每个操作是否支持资源级权限。 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。 关于CodeartsPipeline定义的资源类型的详细信息请参见资源类型(Resource)。 “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。 如果该操作项资源类型列存在值,则表示条件键仅对列举的资源类型生效。 如果该操作项资源类型列没有值(-),则表示条件键对整个操作项生效。 如果此列没有值(-),表示此操作不支持指定条件键。 关于CodeartsPipeline定义的条件键的详细信息请参见条件(Condition)。 您可以在自定义SCP语句的Action元素中指定以下CodeartsPipeline的相关操作。 表1 CodeartsPipeline支持的操作项 操作项 描述 访问级别 资源类型(*为必须) 条件键 codeartspipeline:pipelinetemplate:create 授予权限以创建流水线模板。 write - - codeartspipeline:pipelinetemplate:update 授予权限以更新流水线模板。 write - - codeartspipeline:pipelinetemplate:delete 授予权限以删除流水线模板。 write - - codeartspipeline:pipelinetemplate:get 授予权限以查看流水线模板。 read - - codeartspipeline:pipelinetemplate:list 授予权限以查看流水线模板列表。 list - - codeartspipeline:rule:create 授予权限以创建规则。 write - - codeartspipeline:rule:update 授予权限以更新规则。 write - - codeartspipeline:rule:delete 授予权限以删除规则。 write - - codeartspipeline:rule:get 授予权限以查看规则。 read - - codeartspipeline:rule:list 授予权限以查看规则列表。 list - - codeartspipeline:strategy:create 授予权限以创建策略。 write - - codeartspipeline:strategy:update 授予权限以更新策略。 write - - codeartspipeline:strategy:delete 授予权限以删除策略。 write - - codeartspipeline:strategy:get 授予权限以查看策略。 read - - codeartspipeline:strategy:list 授予权限以查看策略列表。 list - - codeartspipeline:extension:create 授予权限以创建插件。 write - - codeartspipeline:extension:update 授予权限以更新插件。 write - - codeartspipeline:extension:delete 授予权限以删除插件。 write - - codeartspipeline:extension:get 授予权限以查看插件。 read - - codeartspipeline:extension:list 授予权限以查看插件列表。 list - - CodeartsPipeline的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。 表2 API与操作项的关系 API 对应的操作项 依赖的操作项 POST /v5/{tenant_id}/api/pipeline-templates codeartspipeline:pipelinetemplate:create - PUT /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:update - DELETE /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:delete - GET /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:get - POST /v5/{tenant_id}/api/pipeline-templates/list codeartspipeline:pipelinetemplate:list - POST /v2/{domain_id}/rules/create codeartspipeline:rule:create - PUT /v2/{domain_id}/rules/{rule_id}/update codeartspipeline:rule:update - DELETE /v2/{domain_id}/rules/{rule_id}/delete codeartspipeline:rule:delete - GET /v2/{domain_id}/rules/{rule_id}/detail codeartspipeline:rule:get - GET /v2/{domain_id}/rules/query codeartspipeline:rule:list - POST /v2/{domain_id}/tenant/rule-sets/create codeartspipeline:strategy:create - PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/update codeartspipeline:strategy:update - DELETE /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/delete codeartspipeline:strategy:delete - GET /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/detail codeartspipeline:strategy:get - GET /v2/{project_id}/rule-sets/{rule_set_id}/gray/detail codeartspipeline:strategy:get - GET /v2/{domain_id}/tenant/rule-sets/query codeartspipeline:strategy:list - GET /v2/{project_id}/rule-sets/query codeartspipeline:strategy:list - PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/switch codeartspipeline:strategy:update - POST /v1/{domain_id}/agent-plugin/create codeartspipeline:extension:create - POST /v1/{domain_id}/agent-plugin/create-draft codeartspipeline:extension:create - POST /v1/{domain_id}/publisher/create codeartspipeline:extension:create - POST /v1/{domain_id}/agent-plugin/edit-draft codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-draft codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/update-info codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-plugin-bind codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-plugin codeartspipeline:extension:update - POST /v1/{domain_id}/common/upload-plugin-icon codeartspipeline:extension:update - POST /v1/{domain_id}/common/upload-publisher-icon codeartspipeline:extension:update - DELETE /v1/{domain_id}/agent-plugin/delete-draft codeartspipeline:extension:delete - GET /v1/{domain_id}/publisher/query-all codeartspipeline:extension:list - GET /v1/{domain_id}/publisher/optional-publisher codeartspipeline:extension:list - POST /v1/{domain_id}/relation/stage-plugins codeartspipeline:extension:list - GET /v1/{domain_id}/relation/plugin/single codeartspipeline:extension:list - POST /v1/{domain_id}/agent-plugin/query-all codeartspipeline:extension:list - POST /v1/{domain_id}/agent-plugin/plugin-metrics codeartspipeline:extension:get - POST /v1/{domain_id}/agent-plugin/plugin-input codeartspipeline:extension:get - POST /v1/{domain_id}/agent-plugin/plugin-output codeartspipeline:extension:get - GET /v1/{domain_id}/agent-plugin/query codeartspipeline:extension:list - GET /v1/{domain_id}/agent-plugin/detail codeartspipeline:extension:get - GET /v1/{domain_id}/agent-plugin/all-version codeartspipeline:extension:list - DELETE /v1/{domain_id}/publisher/delete codeartspipeline:extension:delete - POST /v1/{domain_id}/publisher/detail codeartspipeline:extension:get - POST /v3/{domain_id}/extension/info/add codeartspipeline:extension:create - POST /v3/{domain_id}/extension/info/update codeartspipeline:extension:update - DELETE /v3/{domain_id}/extension/info/delete codeartspipeline:extension:delete - POST /v3/{domain_id}/extension/upload codeartspipeline:extension:update - GET /v3/{domain_id}/extension/detail codeartspipeline:extension:get - POST /v1/{domain_id}/relation/plugins codeartspipeline:extension:list -
-
采集CCE集群的业务数据 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下指标采集的周期是30秒,所以等待大概30秒后才能在 AOM 的界面上查看到上报的指标。 配置信息如下: apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: kafka-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: metric-port selector: matchLabels: k8s-app: kafka-exporter
-
步骤一:建设四层指标体系 接入业务层指标。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“业务层”面板单击需要接入的指标卡片。 接入ELB 日志指标 系统可自动接入,无需用户手动操作。 在左侧导航栏,选择已创建的仪表盘,单击页面右上角的,输入对应SQL语句,即可在仪表盘中查看该日志指标。以查看流量指标为例,输入对应SQL语句,单击“查询”,如图2所示。 图2 查看流量指标 接入 APM 事务指标 为工作负载安装APM探针,具体操作请参见安装APM探针。 安装完成后,请登录安装探针的服务对应的控制台界面,执行操作触发APM事务指标的采集。以本实践场景中的商城服务为例,可以在商城操作界面将对应商品添加到购物车。 登录AOM 2.0控制台。 在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的APM指标。 接入应用层指标。 为工作负载安装APM探针,具体操作如下: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中选择“工作负载 ”,选择需要上报到AOM的工作负载类型。 单击工作负载名称,选择“性能管理配置”,单击右下角“编辑”,修改“性能管理配置”相关信息。 选择“APM 2.0探针”,设置“探针版本”为“latest-x86”,“APM环境”为“phoenixenv1”,从“APM应用”的下拉列表中选择创建的“phoenixapp1”应用。 设置完成后,单击“保存”。 安装完成后,请登录安装探针的服务对应的控制台界面,执行操作触发应用层指标的采集。以本实践场景中的商城服务为例,可以在商城操作界面将对应商品添加到购物车。 登录AOM 2.0控制台。 在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的应用层指标。 接入中间件指标。 将数据上传到E CS 服务器。 下载mysqld_exporter-0.14.0.linux-amd64.tar.gz软件包,下载地址:https://prometheus.io/download/。 以root用户登录ECS服务器,将下载的Exporter软件包上传到ECS服务器并解压。 登录RDS 控制台,在“实例管理”界面实例列表中单击一个RDS实例名。在“基本信息”界面查看RDS安全组。 图3 查看RDS安全组 检查RDS的安全组是否已开放3306端口。 图4 检查RDS端口是否开放 执行以下命令,进入解压文件夹,并在ECS服务器上配置mysql.cnf文件。 cd mysqld_exporter-0.14.0.linux-amd64 vi mysql.cnf 例如,在mysql.cnf文件中添加如下内容: [client] user=root(rds用户名) password=****(rds密码) host=192.168.0.198(rds公网IP) port=3306(端口) 执行以下命令,启动mysqld_exporter工具。 nohup ./mysqld_exporter --config.my-cnf="mysql.cnf" --collect.global_status --collect.global_variables & 执行以下命令,确认工具是否正常启动。 curl http://127.0.0.1:9104/metrics 如果回显信息如图5所示,能够查看到指标则说明工具启动正常。 图5 查看指标 通过虚机接入方式接入中间件指标。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”,在右侧“中间件”面板单击需要接入的指标卡片。 在“虚机接入”界面为ECS服务器安装UniAgent采集工具,具体操作请参见手动安装UniAgent。 为创建的“phoenixenv1”环境创建中间件采集任务。在左侧导航栏中,选择“采集任务”,单击“新增采集任务”。 图6 创建采集任务 在创建采集任务页面中,配置相关参数信息。 关键配置项说明如下: Exporter地址/REDIS_Exporter地址/MySQL_Exporter地址:安装Exporter/REDIS_Exporter/MySQL_Exporter的主机IP地址和端口号。格式为IP:Port,例如:127.0.0.1:9104。 中间件地址/REDIS 地址/MySQL 地址:Exporter/REDIS_Exporter/MySQL_Exporter启动实例监控的主机/REDIS/MySQL,通常填写主机/REDIS/MySQL的IP地址。 指标:待采集的指标。默认为:''(单引号)表示输出原本的所有指标。如果需对采集指标进行过滤,则按如下格式进行填写,例如:'metric1, metric2'。 指标维度:新增采集指标维度。单击,输入指标维度名和指标维度值,字符长度不超过20个字符。最多可添加10个标签。例如:指标维度名为label1,指标维度值为label2,则添加成功后为label1:"label2"。 图7 配置采集参数-1 图8 配置采集参数-2 完成后,单击“立即创建”。 接入完成后,在左侧导航栏,选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的中间件指标。 接入基础设施层指标。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“运行环境”与“云服务”面板单击需要接入的指标卡片。 选择容器指标卡片: 以选择“云容器引擎CCE”卡片为例,具体操作如下: 在“插件市场”界面搜索找到云原生监控插件,单击“安装”。 图9 查找云原生监控插件 设置集群名称、规格信息。 开启对接第三方开关,将普罗数据上报至AOM,填写上报AOM的地址及token,并跳过证书认证。 图10 设置对接第三方参数 参数说明如下: 数据上报地址 :https://aom-internal-access.{region_name}.myhuaweicloud.com:8443/v1/{project_id}/push,其中region_name为指定承载REST服务端点的服务器域名或IP,project_id 为项目的ID,您可以单击右上方的用户名称,在下拉列表中选择“我的凭证”。在“我的凭证”页面中选择“API凭证”页签。从右侧项目列表的“项目”和“项目ID”信息中获取。例如AOM服务在“华北-北京一”区域名称为“cn-north-1”。 Token:登录AOM 2.0控制台,在左侧导航栏选择“设置”,单击“认证管理”,从右侧AccessCode列表的“ID”信息中获取。 设置完成后,单击“安装”。安装完后单击插件查看安装状态,当状态都为“运行中”则表示插件安装成功。 图11 安装kube-prometheus-stack插件 选择云服务监控指标卡片: 在弹出的“云服务接入”对话框中选择需要监控的云服务。例如RDS或DCS服务。 单击“确定”完成接入。 接入完成后,系统自动跳转至“云服务监控”页面,即可查看已选择的云服务运行状态等信息。 接入完成后,在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的基础设施层指标。
-
解决方案 AOM能够实现云上应用的一站式立体化运维管理,在接入中心中可以接入需要监控的业务层、应用层、中间件层、基础设施层指标,在仪表盘中实现个性化监控,以及通过统一告警入口配置告警规则,实现业务的日常巡检,保障业务的正常运行。 AOM提供多场景、多层次、多维度指标数据的监控能力,建立了从基础设施层指标、中间件层指标、应用层指标到业务层指标的四层指标体系,将1000+种指标数据全方位呈现,数据丰富全面。 表1 AOM支持的四层指标体系 类型 来源 指标举例 如何接入 业务层指标 通常来源于端侧日志SDK、提取的ELB日志。 访问UV、访问PV、访问延时、访问失败率、访问流量情况等 接入业务层指标 通常来源于事务监控或上报的自定义指标。 URL的调用次数、URL的最大并发数、URL的最大响应时间等 应用层指标 通常来源于组件性能图表或接口性能数据。 接口调用次数、请求平均时延、错误调用次数、请求吞吐量等 接入应用层指标 中间件指标 通常来源于原生中间件或云中间件数据。 文件系统容量、文件系统使用率等 接入中间件指标 基础设施层指标 通常来源于容器或云服务相关数据,例如计算、存储、网络、数据库等。 CPU使用率、内存使用率、健康状态等 接入基础设施层指标 接入容器指标 接入云服务指标 图1 AOM四层指标体系
-
操作场景 使用MongoDB过程中需要对MongoDB运行状态进行监控,以便了解MongoDB服务是否运行正常,排查MongoDB故障问题原因。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控MongoDB运行状态。本文介绍如何部署Exporter以及实现MongoDB Exporter告警接入等操作。 为了方便安装管理Exporter,推荐使用CCE进行统一管理。
-
步骤二:开启AOM可信服务并设置委托管理员(若进行监控的账号为组织管理员,可跳过此步骤) 使用组织中的管理员账号登录组织Organizations控制台。 在左侧导航栏选择“可信服务”。 在可信服务列表中,单击“ 应用运维管理 服务(AOM)”操作列的“启用”,开启AOM可信服务。 单击“应用运维管理服务(AOM)”操作列的“设置委托管理员”,选择需要设置为委托管理员的账号,单击“确定”。如图5所示,将paas_aom设置为委托管理员。 图5 设置委托管理员
-
添加采集任务 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。 apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: redis-exporter namespace: default spec: namespaceSelector: #选择要监控 Exporter Pod 所在的namespace matchNames: - default # exporter所在的命名空间 podMetricsEndpoints: - interval: 30s # 设置指标采集周期 path: /metrics # 填写 Prometheus Exporter 对应的 path 的值,默认/metrics port: metric-port# 填写 Prometheus Exporter 对应的 YAML 的 ports 的 name selector: # 填写要监控 Exporter Pod 的 Label 标签,以定位目标 Exporter matchLabels: k8s-app: redis-exporter
-
添加采集任务 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下示例中指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。 apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: memcached-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: metric-port selector: matchLabels: k8s-app: memcached-exporter
-
添加采集任务 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。 apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: postgres-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: http-metrics selector: matchLabels: app: postgres
-
PostgreSQL Exporter 部署 登录CCE控制台。 单击已接入的集群名称,进入该集群的管理页面。 执行以下操作完成Exporter部署。 使用Secret管理PostgreSQL密码。 在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”完成YAML配置。YAML配置说明:使用Kubernetes的Secret来管理密码并对密码进行加密处理,在启动PostgreSQL Exporter的时候直接使用Secret Key,需要调整对应的password。 YAML 配置示例如下: apiVersion: v1 kind: Secret metadata: name: postgres-test type: Opaque stringData: username: postgres password: you-guess #对应 PostgreSQL 密码 部署PostgreSQL Exporter。 在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”,以YAML的方式部署Exporter。 YAML配置示例如下(请直接复制下面的内容,根据实际业务调整相应的参数): apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test # 根据业务需要调整成对应的名称,建议加上 PG 实例的信息 namespace: default #需要和 postgres 的 service 在同一命名空间 labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: swr.cn-north-4.myhuaweicloud.com/aom-exporter/postgres-exporter:v0.8.0 # 上传至 SWR 的 postgres-exporter 镜像 args: - "--web.listen-address=:9187" # export 开启的端口 - "--log.level=debug" # 日志级别 env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: username # 对应上一步中的 Secret Key - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: password # 对应上一步中的 Secret Key - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" # 对应的连接信息 ports: - name: http-metrics containerPort: 9187 获取指标。 通过“curl http://exporter:9187/metrics”无法获取Postgres实例运行时间,可以通过自定义一个queries.yaml来获取该指标。 创建一个包含queries.yaml的配置。 将配置作为Volume挂载到Exporter某个目录下。 通过extend.query-path来使用配置,将上述的Secret以及Deployment进行汇总,汇总后的YAML如下所示: # 以下 document 创建一个包含自定义指标的 queries.yaml --- apiVersion: v1 kind: ConfigMap metadata: name: postgres-test-configmap namespace: default data: queries.yaml: | pg_postmaster: query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" master: true metrics: - start_time_seconds: usage: "GAUGE" description: "Time at which postmaster started" # 以下 document 挂载了 Secret 和 ConfigMap ,定义了部署 Exporter 相关的镜像等参数 --- apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test namespace: default labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: wrouesnel/postgres_exporter:latest args: - "--web.listen-address=:9187" - "--extend.query-path=/etc/config/queries.yaml" - "--log.level=debug" env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test-secret key: username - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test-secret key: password - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" ports: - name: http-metrics containerPort: 9187 volumeMounts: - name: config-volume mountPath: /etc/config volumes: - name: config-volume configMap: name: postgres-test-configmap --- apiVersion: v1 kind: Service metadata: name: postgres spec: type: NodePort selector: app: postgres app.kubernetes.io/name: postgresql ports: - protocol: TCP nodePort: 30433 port: 9187 targetPort: 9187 访问地址: http://{集群任意节点的公网IP}:30433/metrics,即可通过自定义的queries.yaml查询到Postgres实例启动时间指标。 图1 访问地址
-
采集CCE集群的业务数据 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 配置信息如下: apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: mysql-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: metric-port selector: matchLabels: k8s-app: mysql-exporter
-
数据库授权 登录集群执行以下命令: kubectl exec -it ${mysql_podname} bash mysql -u root -p 图1 执行命令 登录数据库,执行以下命令: CREATE USER 'exporter'@'x.x.x.x(hostip)' IDENTIFIED BY 'xxxx(password)' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'x.x.x.x(hostip)'; 验证授权是否成功。 输入以下命令查询sql,查看是否有exporter的数据,host为mysql所在节点的IP。 select user,host from mysql.user; 图2 查询sql
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格