华为云用户手册

  • 常见问题 控制台为什么没有组织规则的页面? 账号是组织管理员,或加入组织并成为Config服务的委托管理员,才能看到该页面。 组织规则下发后,状态为什么是部署异常? 是因为这些组织成员账号未开启资源记录器导致的部署异常。 Config服务的相关功能均依赖于资源记录器收集的资源数据,因此账号必须开启资源记录器才可正常使用合规规则和合规规则包功能。 在组织合规规则和组织合规规则包场景下,除下发规则和合规规则包的组织管理员或Config服务的委托管理员之外,所部署的组织成员账号也需要开启资源记录器,才能正常下发合规规则和合规规则包。
  • 常见问题 手动修正和自动修正的区别? 如果配置为手动修正,则需要用户主动查询不合规资源,并执行修正;如果配置为自动修正,则Config服务会自动为该合规规则下的所有不合规资源执行修正行为。 强烈建议您在第一次配置修正时,选择手动修正。手动修正可以防止资源被修改导致用户业务中断。 在您处理完所有存量的不合规资源后,再将修正配置修改为自动修正,此后所有新增的不合规资源都会被自动修复,而且不需要人为干预。 执行修正后,为什么资源未成功被修正? 这通常是因为您配置在 函数工作流 服务的代码存在问题,也可能是因为您赋予函数工作流的权限不足。请前往函数工作流的监控页面查询具体的失败日志。 资源修正成功后,为什么资源在合规规则页面还是不合规? 资源修正完成后,资源的变更行为通常会在5分钟之内通知Config服务,规则会自动触发该资源的合规评估并生成最新的资源合规结果。
  • 步骤一:创建规则 登录配置审计控制台。 在左侧导航栏,选择资源合规。 在规则页面,单击“添加规则”。 在基础配置页面,选择预设策略中的“ IAM 用户的AccessKey在指定时间内轮换”,单击“下一步”。 在规则参数页面,选择评估全部区域的资源,AccessKey轮转时间使用默认值,单击“下一步”。 确认规则配置符合预期,单击“提交”,完成规则创建。 在资源合规的规则页签,您可以查看该规则对IAM资源的检测结果。
  • 步骤三:设置 云监控服务 的告警通知 登录 云监控 服务控制台,国内站用户选择北京四,国际站用户选择新加坡。 在左侧导航栏,选择告警。 在告警规则页面,单击“创建告警规则”。 编辑告警规则名称。 告警类型选择“事件”。 事件类型选择“系统事件”。 事件来源选择“配置审计”。 触发规则选择“自定义创建”。 打开发送通知,选择主题订阅,通知对象选择步骤二创建的 SMN 主题,其它配置使用默认值。 触发条件勾选“出现告警”。 点击“立即创建”,完成告警规则的创建。 告警规则创建完成后,如果再评估到不合规的资源,则会通过短信方式接受到不合规的 消息通知 ,并在告警记录中查询到相关告警。
  • 配置合规修正: 登录配置审计控制台。 在左侧导航栏,选择资源合规。 在规则页面,单击规则名称。 进入规则详情页面,选择“修正管理”,单击“修正配置”。 选择“手动修正”或“自动修正”,重试时间和重试次数使用默认值。 选择“FGS模版”,选中前一步中所配置的函数。 依赖于资源类型设置为“bucket_name”,参数中键和值分别输入domain_id 和 账号ID的值。 单击“保存”,完成合规修正的配置。
  • 示例简介 该示例展示了如何通过Java版本SDK查询资源详情、资源关系和资源历史。 资源清单 默认展示资源的部分属性,如果您需要查看某个资源的资源详情,可按如下操作查看。 资源关系 记录了您在华为云上的不同资源之间的关联情况。 资源历史 是过去某段时间内资源不同状态的集合。对接服务上报Config的资源属性和资源关系的变化,都会在资源时间线中生成一条记录,该记录会包含资源变更情况的详细信息,默认的保存期限为7年。
  • 返回结果示例 class ShowResourceDetailResponse { id: 81fi****a864 name: zh****ng provider: iam type: users regionId: global projectId: projectName: epId: 0 epName: default checksum: 522u****e689 created: 2023-09-18T12:56:30.000Z updated: 2023-09-18T12:56:30.000Z provisioningState: Succeeded state: Normal tags: {} properties: {pwd_status=false, pwd_strength=high, group_list=[f588****54c5], role_list=[], last_login_time=2023-09-18T12:57:45Z, virtual_mfa_device=false, login_protect={enabled=false}, credentials=[], policy_list=[], access_mode=default, is_root_user=false, enabled=true}}class ShowResourceRelationsResponse { relations: [class ResourceRelation { relationType: contains fromResourceType: iam.groups toResourceType: iam.users fromResourceId: f587****54c5 toResourceId: 81fa****a864 }] pageInfo: class PageInfo { currentCount: 1 nextMarker: null }}class ShowResourceHistoryResponse { items: [class HistoryItem { domainId: 39f4****ea39 resourceId: 81fa****a864 resourceType: iam.users captureTime: 2023-09-21T15:39:27.632Z status: ResourceChanged.CREATE relations: [class ResourceRelation { relationType: isContainedIn fromResourceType: iam.users toResourceType: iam.groups fromResourceId: 81fa****a864 toResourceId: b04e****8dd2 }] resource: class ResourceEntity { id: 81fa****a864 name: zh****ng provider: iam type: users regionId: global projectId: projectName: epId: 0 epName: default checksum: 00ce****f053 created: 2023-09-18T12:56:30Z updated: 2023-09-18T12:56:30Z provisioningState: Succeeded state: null tags: {} properties: {pwd_status=false, pwd_strength=high, group_list=[b04e****8dd2], role_list=[], virtual_mfa_device=false, login_protect={enabled=false}, credentials=[], policy_list=[], access_mode=default, enabled=true} } }] pageInfo: class PageInfo { currentCount: 1 nextMarker: null }}
  • 返回结果示例 class CreatePolicyAssignmentsResponse { policyAssignmentType: "policyAssignmentType" id: "id" name: "name" description: "description" policyFilter: class PolicyFilterDefinition {} period: "period" state: "state" created: "created" updated: "updated" policyDefinitionId: "policyDefinitionId" customPolicy: "customPolicy" parameters: {} createdBy: "createdBy"}class ShowPolicyAssignmentResponse { policyAssignmentType: "policyAssignmentType" id: "id" name: "name" description: "description" policyFilter: class PolicyFilterDefinition {} period: "period" state: "state" created: "created" updated: "updated" policyDefinitionId: "policyDefinitionId" customPolicy: "customPolicy" parameters: {} createdBy: "createdBy"}
  • 标签管理 CSS 服务支持对集群标签进行增删改查。 登录 云搜索服务 管理控制台。 在集群管理页面,单击待管理标签的集群名称。 系统跳转至该集群“基本信息”页面。 左侧菜单栏选择“标签”,在此可以对集群标签进行添加,修改,删除操作。 查看 在“标签”页,可以查看当前集群的标签详情,包括标签个数,以及每个标签的键和值。 添加 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击“添加新标签”输入标签的键和值,并单击“确定”返回标签列表。 修改 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,修改标签的键和值,并单击“确定”返回标签列表。 删除 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击标签所在行的“删除”,删除后单击“确定”返回标签列表。 表1 标签命名规则 参数 说明 标签键 对于同一个集群,标签键值唯一。 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @”。不能以空格开头和结尾。 不能为空。 标签值 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @/”。不能以空格开头和结尾。 不能为空。
  • 写入性能优化 关闭副本,待数据导入完成后再开启副本,减少副本构建的开销。 调整“refresh_interval”为120s或者更大,避免频繁刷新索引生成大量小的segments,同时减少merge带来的向量索引构建开销。 适当调大“native.vector.index_threads”的值(默认为4),增加向量索引构建的线程数。 PUT _cluster/settings{ "persistent": { "native.vector.index_threads": 8 }}
  • 查询性能优化 在批量导入场景下,数据写入完成后,执行forcemerge操作能有效提升查询效率。 POST index_name/_forcemerge?max_num_segments=1 如果向量索引所需堆外内存超过了熔断线,查询时索引的缓存管理器会控制索引的换进换出,导致查询变慢,此时可适当调大熔断线的配置。 PUT _cluster/settings{ "persistent": { "native.cache.circuit_breaker.cpu.limit": "75%" }} 如果需要返回的字段较少,且均为keyword或者数值类型字段,可以通过docvalue_fields配置召回需要的字段,有效降低fetch阶段的开销。 POST my_index/_search{ "size": 2, "stored_fields": ["_none_"], "docvalue_fields": ["my_label"], "query": { "vector": { "my_vector": { "vector": [1, 1], "topk": 2 } } }}
  • 重打分查询 当使用GRAPH_PQ索引或者IVF_GRAPH_PQ索引时,查询结果是根据PQ计算的非对称距离进行排序。 CS S支持Rescore的方式对查询结果进行重打分精排,提升召回率。 假设my_index是PQ类型的索引,Rescore示例如下: GET my_index/_search { "size": 10, "query": { "vector": { "my_vector": { "vector": [1.0, 2.0], "topk": 100 } } }, "rescore": { "window_size": 100, "vector_rescore": { "field": "my_vector", "vector": [1.0, 2.0], "metric": "euclidean" } } } 表4 Rescore参数说明 参数 说明 window_size 向量检索将会返回topk条结果,仅取前window_size条结果精排。 field 向量字段名称。 vector 查询向量数据。 metric 度量方式,可选值为:euclidean、inner_product、cosine、hamming。 默认值:euclidean。
  • Painless语法扩展查询 CSS扩展实现了多种向量距离计算函数,可在自定义的painless脚本中直接使用,用以构建灵活的重打分公式。 示例如下: POST my_index/_search{ "size": 10, "query": { "script_score": { "query": { "match_all": {} }, "script": { "source": "1 / (1 + euclidean(params.vector, doc[params.field]))", "params": { "field": "my_vector", "vector": [1, 2] } } } }} 表5 支持的距离计算函数 函数签名 说明 euclidean(Float[], DocValues) 欧式距离函数。 cosine(Float[], DocValues) 余弦相似度函数。 innerproduct(Float[], DocValues) 内积函数。 hamming(String, DocValues) 汉明距离函数。只支持"dim_type"为"binary"的向量字段,输入的查询向量需要为Base64编码字符串格式。
  • 标准查询 针对创建了向量索引的向量字段,提供了标准向量查询语法。下述查询命令将会返回所有数据中与查询向量最近的size(topk)条数据。 POST my_index/_search{ "size":2, "_source": false, "query": { "vector": { "my_vector": { "vector": [1, 1], "topk":2 } } }} 表1 标准查询的参数说明 参数 说明 vector(第一个) 表示该查询类型为VectorQuery。 my_vector 指定了需要查询的向量字段名称。 vector(第二个) 指定查询向量的具体值,支持数组形式以及Base64编码形式的输入。 topk topk的值通常与size保持一致。 其他可选的查询参数 通过调整不同索引的查询参数,可以获得更高的查询性能或者查询精度,其他参数请参见表2。 表2 可选的查询参数说明 参数 子参数 说明 GRAPH类索引配置参数 ef 查询时考察邻居节点的队列大小。值越大查询精度越高,查询速度会变慢。默认值为200。 取值范围:(0, 100000]。 max_scan_num 扫描节点上限。值越大精度越高,查询速度变慢。默认值为10000。 取值范围:(0, 1000000]。 IVF类索引配置参数 nprobe 查询考察中心点的数目。值越大精度越高,查询速度变慢。默认值为100。 取值范围:(0, 100000]。
  • 复合查询 向量检索支持与其他OpenSearch子查询组合进行复合查询,比如布尔查询方式。 布尔查询实际上是后置过滤查询方式。过滤条件与向量相似度检索分别独立执行,执行完成后对两者的检索结果进行合并,合并逻辑由must、should、filter等谓词决定。 例如,查询Top10条“my_label”的值为“red”的结果,示例如下: POST my_index/_search{ "size": 10, "query": { "bool": { "must": { "vector": { "my_vector": { "vector": [1, 2], "topk": 10 } } }, "filter": { "term": { "my_label": "red" } } } }}
  • 标签管理 CSS服务支持对集群标签进行增删改查。 登录 云搜索 服务管理控制台。 在集群管理页面,单击待管理标签的集群名称。 系统跳转至该集群“基本信息”页面。 左侧菜单栏选择“标签”,在此可以对集群标签进行添加,修改,删除操作。 查看 在“标签”页,可以查看当前集群的标签详情,包括标签个数,以及每个标签的键和值。 添加 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击“添加新标签”输入标签的键和值,并单击“确定”返回标签列表。 修改 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,修改标签的键和值,并单击“确定”返回标签列表。 删除 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击标签所在行的“删除”,删除后单击“确定”返回标签列表。 表1 标签命名规则 参数 说明 标签键 对于同一个集群,标签键值唯一。 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @”。不能以空格开头和结尾。 不能为空。 标签值 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @/”。不能以空格开头和结尾。 不能为空。
  • ScriptScore查询 写入向量数据后,针对向量字段可以使用ScriptScore进行最近邻查询,查询语法如下所示。 前置过滤条件可以为任意查询,script_score仅针对前置过滤的结果进行遍历,计算向量相似度并排序返回。此种查询方式不使用向量索引算法,性能取决于前置过滤后中间结果集的大小,当前置过滤条件为"match_all"时,相当于全局暴力检索。 POST my_index/_search { "size":2, "query": { "script_score": { "query": { "match_all": {} }, "script": { "source": "vector_score", "lang": "vector", "params": { "field": "my_vector", "vector": [1.0, 2.0], "metric": "euclidean" } } } } } 表3 script_score参数说明 参数 说明 source script脚本描述,使用向量相似度打分时为固定值"vector_score"。 lang script语法描述,使用固定值"vector"。 field 向量字段名称。 vector 查询向量数据。 metric 度量方式,可选值为:euclidean、inner_product、cosine、hamming。 默认值:euclidean。
  • 开启索引回收站 执行如下命令,启用索引回收站功能。 PUT _cluster/settings{ "persistent": { "index.trash.enabled": true }} 表1 配置项说明 配置项 说明 “index.trash.enabled” 索引回收站开关,缺省值是“false”,表示不启用索引回收站功能,集群与开源Elasticsearch集群的能力兼容。当设置成“true”时,表示开启索引回收站功能,执行删除索引的操作后,索引将被存放至回收站中,需要再次执行删除索引的操作才能彻底删除索引数据。 “indices.trash.keep.time” 索引在回收站中的存放时长,缺省值是“1d”,表示索引在回收站中存放1天后将被系统彻底删除。最小值为“1d”。 执行如下命令,删除索引。 DELETE {INDEX_NAME} 其中“INDEX_NAME”为需要删除的索引名称,支持通配符。
  • 约束限制 仅Elasticsearch 7.10.2集群支持索引回收站功能。 当开启回收站之后,使用DELETE API将索引放入回收站时,集群的状态可能会出现短暂的RED,这是由于索引存放至回收站时会将索引CLOSE,在Elasticsearch中CLOSE索引时会出现短暂的RED状态。 当使用还原API从回收站中还原索引时,集群的状态可能会出现短暂的RED,这是由于还原索引时需要重新OPEN索引,在Elasticsearch中OPEN索引时会重新初始化分片,导致短暂的RED状态。 存放在回收站中的索引仍然是集群元数据的一部分,因此集群无法新建和回收站中的同名的索引。
  • 查看回收站中的索引 执行如下命令,查看索引回收站中的索引。 GET _cat/trash?v=true&s=index 表2 参数说明 参数名称 说明 v 当返回值格式是表格形式时,设置是否显示表头。 true:显示表头。 false:不显示表头。 缺省值是“false”。 s 指定索引的排序字段。可选值为“index”、“uuid”、“pri”、“rep”、“trash.ts”、“delete.time”。 format 设置返回值的呈现格式,默认为表格形式,支持json、yaml、cobr、smile,其中cobr和smile为二进制格式。 h 设置需要显示的列名,默认全部显示,当只需要显示部分列名时,可以通过逗号隔开列名,例如“h=index,uuid,delete.time”。 返回值如下所示,此处是示例,仅供参考,请以实际返回值为准。 index uuid pri rep trash.ts delete.timeindex1 CMD3FCLzTOyTg4RUekWNNA 1 1 1714465116615 23.6hindex1 6ATijuu6SfqamVI-WMyOKg 1 1 1714466233898 23.9h 表3 返回值的参数说明 列名 说明 index 索引名称。 uuid 索引的uuid。 pri 索引的分片数。 rep 索引的副本数。 trash.ts 索引存放至回收站的时间。 delete.time 索引在回收站中剩余存放时长,当变成0时,回收站中的索引将被彻底删除。
  • 开启一键断流 执行如下命令,开启一键断流。 PUT /_cluster/settings{ "persistent": { "flowcontrol.break.enabled": true }} 执行如下命令,关闭一键断流。 PUT /_cluster/settings{ "persistent": { "flowcontrol.break.enabled": false }}
  • 开启访问日志记录到文件 开启访问日志记录到文件后,客户端访问集群节点,会记录为{集群名_access_log.log}文件,通过日志备份功能可以在OBS详细查看访问日志。 该功能一般用于定位问题,问题解决后,建议关闭此开关。 执行如下命令,开启访问日志记录到文件。 PUT /_cluster/settings{ "persistent": { "flowcontrol.log.file.enabled": true }} 表9 访问日志记录到文件的配置项说明 参数 类型 说明 flowcontrol.log.file.enabled Boolean 是否将每个请求的日志详情记录到后台日志文件。 取值范围: true false(默认值) 执行如下命令,关闭访问日志记录到文件。 PUT /_cluster/settings{ "persistent": { "flowcontrol.log.file.enabled": false }}
  • 开启并查看访问日志 执行如下命令,开启访问日志。 开启集群所有节点的访问日志 PUT /_access_log?duration_limit=30s&capacity_limit=1mb 开启集群中某一节点的访问日志 PUT /_access_log/{nodeId}?duration_limit=30s&capacity_limit=1mb “{nodeId}”为节点ID。 表6 访问日志的配置项说明 配置项 类型 说明 duration_limit String 访问日志记录时间。 取值范围:10~120 单位:s 默认值:30 capacity_limit String 访问日志记录大小。统计开启访问日志后记录的请求大小,当统计的大小大于该配置值,访问日志记录终止。 取值范围:1~5 单位:MB 默认值:1 “duration_limit”和“capacity_limit”只要有一个参数达到阈值,访问日志记录就会停止。 当所有参数值设置为“null”时,表示恢复配置默认值。 执行如下命令,查看访问日志。 查看集群所有节点的访问日志API GET /_access_log 查看集群中某一节点的访问日志API GET /_access_log/{nodeId} “{nodeId}”为节点ID。 响应示例: { "_nodes" : { "total" : 1, "successful" : 1, "failed" : 0 }, "cluster_name" : "css-flowcontroller", "nodes" : { "8x-ZHu-wTemBQwpcGivFKg" : { "name" : "css-flowcontroller-ess-esn-1-1", "host" : "10.0.0.98", "count" : 2, "access" : [ { "time" : "2021-02-23 02:09:50", "remote_address" : "/10.0.0.98:28191", "url" : "/_access/security/log?pretty", "method" : "GET", "content" : "" }, { "time" : "2021-02-23 02:09:52", "remote_address" : "/10.0.0.98:28193", "url" : "/_access/security/log?pretty", "method" : "GET", "content" : "" } ] } }} 表7 响应参数说明 参数名 说明 name 节点名称。 host 节点对应的IP地址。 count 统计周期内,访问节点的请求数量。 access 统计周期内,访问节点的请求详情。参数说明请参见表8。 表8 access 参数名 说明 time 记录请求时间。 remote_address 请求对应的源IP地址和端口。 url 请求的原始URL method 对应请求Path的方法。 content 对应请求的内容。 执行命令删除访问日志。 删除集群所有节点的访问日志API DELETE /_access_log 删除集群中某一节点的访问日志API DELETE /_access_log/{nodeId} “{nodeId}”为节点ID。
  • 查看流量控制信息 查看所有节点的流量控制情况 GET /_nodes/stats/filter/v2 查看所有节点的流量控制详细情况 GET /_nodes/stats/filter/v2?detail 查看某个具体节点的流量控制情况 GET /_nodes/{nodeId}/stats/filter/v2 “{nodeId}”为需要查看流量控制的节点ID。 响应示例: { "_nodes" : { "total" : 1, "successful" : 1, "failed" : 0 }, "cluster_name" : "css-xxxx", "nodes" : { "d3qnVIpPTtSoadkV0LQEkA" : { "name" : "css-xxxx-ess-esn-1-1", "host" : "192.168.x.x", "timestamp" : 1672236425112, "flow_control" : { "http" : { "current_connect" : 52, "rejected_concurrent" : 0, "rejected_rate" : 0, "rejected_black" : 0, "rejected_breaker" : 0 }, "access_items" : [ { "remote_address" : "10.0.0.x", "search_count" : 0, "bulk_count" : 0, "other_count" : 4 } ], "holding_requests" : 0 } } }} 表5 响应参数说明 参数名 说明 current_connect 节点实际的HTTP连接数据信息, 没有开启流控这个配置也会记录,等同于GET /_nodes/stats/http接口current_open值, 可以看到节点当前的客户端连接数。 rejected_concurrent HTTP流控开启生效,关闭后不清零,开启流控期间拒绝的并发连接数。 rejected_rate HTTP流控开启生效,关闭后不清零,开启流控期间拒绝的新建连接数。 rejected_black HTTP流控开启生效,关闭后不清零,配置黑名单拒绝的请求数。 rejected_breaker 一键断流开启,拒绝的新建连接数。 remote_address IP地址统计,基于配置值统计节点访问的IP地址和请求数量。 search_count 该客户端以_search、_msearch访问的次数。 bulk_count 该客户端以_bulk访问的次数。 other_count 该客户端其他请求的访问次数。
  • 约束限制 2023年02月及之后创建的Elasticsearch 7.6.2和Elasticsearch 7.10.2集群仅支持流量控制2.0版本,之前创建Elasticsearch 7.6.2和Elasticsearch 7.10.2集群仅支持流量控制1.0版本。 开启流量控制功能会消耗部分节点性能。 开启流量控制会直接拒绝超过阈值的用户请求。 开启内存流控会消耗部分请求性能,开启内存流控会导致Kibana的部分search请求失败。 开启访问日志会影响集群性能。 内存流控是基于请求Path的流控,Path长度和个数不应该配置过多,否则影响集群性能。
  • 开启请求采样统计 执行如下命令,开启请求采样统计。 PUT _cluster/settings{ "transient": { "flowcontrol.log.access.enabled": true }} 表4 请求采样统计的配置项说明 配置项 类型 说明 flowcontrol.log.access.enabled Boolean 请求采样统计开关,统计最近访问Elasticsearch集群的客户端IP地址及其请求数量,会统计bulk写入和search、msearch查询请求的个数。 取值范围: true false(默认值) flowcontrol.log.access.count Integer 统计最近IP地址访问集群的客户端来源个数。IP统计分为请求类型统计和日志记录开关。 取值范围:0-100 默认值:10 当所有参数值设置为“null”时,表示恢复配置默认值。 执行如下命令,关闭请求采样统计。 PUT /_cluster/settings{ "persistent": { "flowcontrol.log.access.enabled": false }}
  • 场景描述 流量控制2.0提供节点级别的流量控制功能,可提供单个节点基于黑白名单的访问限制、HTTPS并发连接数限制、HTTP最大连接数限制,基于节点内存的客户端写入流量反压控制,一键断流能力。同时也提供节点访问IP统计和URL的统计能力。开启客户端写入流量反压控制功能,会在节点堆内存过大时阻止大请求涌入节点占用内存,避免节点崩溃,减少节点不可用的风险。 表1 流量控制策略 策略 描述 相关文档 HTTP/HTTPS流控 HTTP/HTTPS黑白名单设置IP和子网控制客户端IP访问,如果节点IP在黑名单中,则该客户端的连接将直接中断,节点不会处理任何请求。白名单规则优先于黑名单规则,如果客户端IP在黑白名单中都出现,客户端请求将不会被拒绝。 HTTP/HTTPS并发连接数流控通过限制节点每秒中的HTTP连接总数来限制节点流量。 HTTP/HTTPS新建连接数流控通过限制节点新建的连接数来限制节点流量。 开启HTTP/HTTPS节点流控 内存流控 基于节点堆内存使用量限制写入流量,将请求需要读取的内容反压在客户端,暂停请求的接收。同时尽力触发垃圾回收,按堆内存的空闲量继续读取请求。 开启内存流控 请求采样统计 可以记录客户端IP的访问和客户端的请求类型,用户可以基于统计值识别客户端IP的访问流量,分析当前客户端的写入和查询访问量。 开启请求采样统计 一键断流 可以切断节点的所有客户端连接,不包括Kibana访问和CSS后台运维、监控类接口。用于应对突发流量场景下的集群异常,达到快速恢复集群的目的。 开启一键断流 流量控制 提供单独的流量统计接口,记录当前客户端连接数以及客户端反压连接数,用户可以基于统计值评估流控配置阈值和衡量集群压力。 查看流量控制信息 访问日志 可以记录一段时间内节点接收的HTTP/HTTPS请求URL和Body,用户可以基于访问日志信息分析当前的流量压力。 开启并查看访问日志 访问日志记录 客户端访问集群节点,会记录为{集群名_access_log.log}访问日志文件,通过日志备份功能可以在OBS详细查看访问日志。 开启访问日志记录到文件
  • 开启内存流控 执行如下命令,开启内存流控。 PUT /_cluster/settings{ "persistent": { "flowcontrol.memory.enabled": true, "flowcontrol.memory.heap_limit": "80%" }} 表3 内存流控的配置项说明 配置项 类型 说明 flowcontrol.memory.enabled Boolean 内存流控开关,开启后持续监控内存使用情况。 取值范围: true false(默认值) flowcontrol.memory.heap_limit String 节点堆内存的阈值,限制节点全局堆内存的使用率,超过此值将进行流量反压。 取值范围:10%-100% 默认值:90% 说明: 默认值90%是一个比较保守的阈值,即堆内存大于90%使用量时会停止读取客户端超过64KB的大请求,直至堆内存下降。如堆内存下降到85%,会开始允许最多一次读取“5%×堆内存最大值”的客户端数据量。如果堆内存持续超过90%,则无法放开客户端连接的请求读取,此时会尝试触发GC算法进行垃圾回收,直到堆内存低于所设定的阈值。 日常使用时可以将“flowcontrol.memory.heap_limit”阈值设置为80%或以下,保证节点有一定的堆内存余量,供写入内存以外的行为使用,比如:Elasticsearch查询、Segment merge等。 flowcontrol.holding.in_flight_factor Float 反压释放因子,原理类似于熔断器“network.breaker.inflight_requests.overhead”参数。内存达到限制值时,该值越大反压越强,写入流量将受限。 取值范围:≥0.5 默认值:1.0 flowcontrol.holding.max TimeValue 每个请求最长的延迟时间,当延迟超过此值时可以设置断开该请求反压或断开请求链路。详见“flowcontrol.holding.max_strategy”配置。 取值范围:≥15s 默认值:60s flowcontrol.holding.max_strategy String 超过最大延迟时间后的运行策略。 取值范围: keep(默认值):如果堆内存仍在高位,选择继续反压 - 何时执行请求仍由服务器根据实时内存自主决定。 soft:如果堆内存仍在高位,也必须执行该请求。执行/拒绝权力交给inFlight熔断器。 hard:如果堆内存仍在高位,丢弃该请求,同时断开该请求的客户端连接。 flowcontrol.memory.once_free_max String 被暂停的请求队列一次性最大重新打开的内存,防止强压场景下短暂的低内存现象一次性冲挂集群。 取值范围:1%-50% 默认值:10% flowcontrol.memory.nudges_gc Boolean 写入压力过大时(1s检查一次反压连接池,所有现有连接均被阻塞无法放开新的写入请求),是否尽力触发垃圾回收,保证写入稳定性。取值: true(默认值) false 当所有参数值设置为“null”时,表示恢复配置默认值。 执行如下命令,关闭集群内存流控。 PUT /_cluster/settings{ "persistent": { "flowcontrol.memory.enabled": false }}
  • 查看集群的监控信息 在集群列表查看集群和集群节点的监控信息。 登录云搜索服务管理控制台。 在左侧导航栏选择“集群管理”,进入对应类型的集群列表。 在集群列表,选择目标集群,单击操作列“监控信息”查看集群和节点监控信息。 图1 查看监控信息 选择“资源实例”页签,查看集群的监控指标。 资源实例:选择要查看监控信息的集群,默认选择当前集群。支持多选,进行数据对比。 支持设置监控时间,以及查看同一集群的同比/环比数据。 添加视图分组:支持在默认分组的基础上新增自定义的分组。当鼠标悬停在左侧分组名称上,右侧会显示修改名称和删除分组的图标,可以修改分组。 设置指标:在“设置监控指标”弹窗中,可以根据页面提示设置“原始指标”和“TopN指标”。 选择“云服务节点”页签,查看集群节点的监控指标。只会显示“资源实例”页签中选择的第一个资源实例的节点监控信息。 云服务节点:选择要查看监控信息的集群节点,默认选择当前集群的第一个节点。支持多选,进行数据对比。 支持设置监控时间,以及查看同一集群的同比/环比数据。 添加视图分组:支持在默认分组的基础上新增自定义的分组。当鼠标悬停在左侧分组名称上,右侧会显示修改名称和删除分组的图标,可以修改分组。 设置指标:在“设置监控指标”弹窗中,可以根据页面提示设置“原始指标”。
  • 标签管理 CSS服务支持对集群标签进行增删改查。 登录云搜索服务管理控制台。 在集群管理页面,单击待管理标签的集群名称。 系统跳转至该集群“基本信息”页面。 左侧菜单栏选择“标签”,在此可以对集群标签进行添加,修改,删除操作。 查看 在“标签”页,可以查看当前集群的标签详情,包括标签个数,以及每个标签的键和值。 添加 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击“添加新标签”输入标签的键和值,并单击“确定”返回标签列表。 修改 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,修改标签的键和值,并单击“确定”返回标签列表。 删除 单击左上角的“编辑标签”,在弹出的“编辑标签”窗口,单击标签所在行的“删除”,删除后单击“确定”返回标签列表。 表1 标签命名规则 参数 说明 标签键 对于同一个集群,标签键值唯一。 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @”。不能以空格开头和结尾。 不能为空。 标签值 长度不超过64个字符。 只能包含数字、英文字母、下划线、中划线、中文以及特殊字符“_ . : = + - @/”。不能以空格开头和结尾。 不能为空。
共100000条