华为云用户手册

  • 使用场景 以最基础的数据库用户名及密码管理为示例,为您介绍凭据管理服务基本的使用场景。 使用场景:管理员角色负责存入、更新凭据值的操作,使用者通过第三方应用服务获取所需的凭据值,具体使用流程如图1所示。 图1 凭据登录流程 流程说明如下: 您首先需要在凭据管理服务中使用控制台或者API创建一个凭据,用来存储数据库的相关信息(例如:数据库地址、端口、密码)。 当您使用应用程序访问数据库时,凭据管理服务会去查询管理员通过步骤 1所创建的凭据内存储的内容。 凭据管理服务检索并解密凭据密文,将凭据中保存的信息通过凭据管理API安全地返回到应用程序中。 应用程序获取到解密后的凭据明文信息,使用这些安全的信息访问数据库。 父主题: 凭据管理
  • 密钥区域性 KMS通过密钥区域性,实现密钥跨区域使用。每组用户主密钥与副本密钥具有相同的密钥材料,因此可以实现单区域的加密数据在不同区域进行解密,解决因跨区导致的无法解密。 您可以独立管理多个区域的密钥,副本密钥同样支持创建密钥别名、启用、禁用、标签、授权、在线加解密。副本密钥的轮换无法自主设置,需按照主密钥的轮换设置进行同步轮换。 密钥区域性原理如图 密钥区域性所示。 图1 密钥区域性 表5 密钥区域性使用场景 使用场景 说明 灾备场景 如果密钥所在区域出现欠费资源冻结或异常无法处理数据解密,替换使用另一区域中的副本密钥进行正常数据处理,保证业务不中断。 跨区域签名验签 如果由于业务需要,客户业务处于不同区域,可通过不同区域密钥实现签名验签解密,提升业务对接高效性。
  • 专属密钥库 KMS通过专属密钥库支持HYOK功能,帮助用户完全自主可控名下的用户主密钥,用户主密钥不脱离加密机,并且密码运算完全在加密机中完成。与默认密钥库不同,用户可以通过专属加密集群随时对密钥进行全生命周期管理。 专属加密实例基础版、铂金版(国内)均支持HYOK功能。 HYOK(Hold Your Own Key)是指用户可以完全控制其密钥,密钥始终归用户所有。 专属密钥库操作可参见激活集群以及创建密钥库。专属密钥库支持的算法类型如表 专属密钥库的密钥算法类型所示。 表4 专属密钥库的密钥算法类型 密钥类型 算法类型 密钥规格 说明 适用场景 对称密钥 AES AES_256 AES对称密钥 数据的加解密 加解密数据密钥 说明: 小量数据的加解密可通过控制台在线工具进行。 大量数据的加解密需要调用API接口进行。 对称密钥 SM4 SM4 国密SM4对称密钥 数据的加解密 加解密数据密钥 非对称密钥 RSA RSA_2048 RSA_3072 RSA_4096 RSA非对称密钥 数字签名和验签 数据的加解密 说明: 非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。 ECC EC_P256 EC_P384 椭圆曲线密码,使用NIST推荐的椭圆曲线 数字签名和验签 非对称密钥 SM2 SM2 国密SM2非对称密钥 数字签名和验签 小量数据的加解密
  • KMS支持的密钥算法 KMS创建的对称密钥使用的是AES、SM4加解密算法。KMS创建的非对称密钥支持RSA、ECC、SM2算法。 表2 KMS支持的密钥算法类型 密钥类型 算法类型 密钥规格 说明 适用场景 对称密钥 AES AES_256 AES对称密钥 数据的加解密 加解密数据密钥 说明: 小量数据的加解密可通过控制台在线工具进行。 大量数据的加解密需要调用API接口进行。 对称密钥 SM4 SM4 国密SM4对称密钥 数据的加解密 加解密数据密钥 摘要密钥 SHA HMAC_256 HMAC_384 HMAC_512 摘要密钥 数据防篡改 数据完整性校验 摘要密钥 SM3 HMAC_SM3 国密SM3摘要密钥 数据防篡改 数据完整性校验 非对称密钥 RSA RSA_2048 RSA_3072 RSA_4096 RSA非对称密钥 数字签名和验签 数据的加解密 说明: 非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。 ECC EC_P256 EC_P384 椭圆曲线密码,使用NIST推荐的椭圆曲线 数字签名和验签 非对称密钥 SM2 SM2 国密SM2非对称密钥 数字签名和验签 小量数据的加解密 通过外部导入的密钥支持的密钥包装加解密算法如下表所示。 表3 密钥包装算法说明 密钥包装算法 说明 设置 RSAES_OAEP_SHA_256 具有“SHA-256”哈希函数的OAEP的RSA加密算法。 请您根据自己的HSM功能选择加密算法。 如果您的HSM支持“RSAES_OAEP_SHA_256”加密算法,推荐使用“RSAES_OAEP_SHA_256”加密密钥材料。 须知: “RSAES_OAEP_SHA_1”加密算法已经不再安全,请谨慎选择。 RSAES_OAEP_SHA_1 具有“SHA-1”哈希函数的OAEP的RSA加密算法。 SM2_ENCRYPT 国密推荐的SM2椭圆曲线公钥密码算法。 请在支持国密的局点使用SM2加密算法。
  • 功能介绍 表1 密钥管理 功能 服务内容 密钥全生命周期管理 创建、查看、启用、禁用、计划删除、取消删除自定义密钥 修改自定义密钥的别名和描述 用户自带密钥 导入密钥、删除密钥材料 小数据加解密 在线工具加解密小数据 签名验签 消息或消息摘要的签名、签名验证 说明: 仅支持通过API调用。 密钥标签 添加、搜索、编辑、删除标签 密钥轮换 开启、修改、关闭密钥轮换周期 密钥授权 创建、撤销、查询授权 退役授权 说明: 仅支持通过API调用。 密钥区域性 跨区域创建副本密钥 云服务加密 对象存储服务 OBS加密 云硬盘服务EVS加密 镜像服务 IMS加密 弹性文件服务SFS加密(SFS文件系统加密) 弹性文件服务SFS加密(SFS Turbo文件系统加密) 云数据库RDS(MySQL、PostgreSQL、SQL Server引擎)加密 文档数据库服务DDS加密 数据仓库 服务DWS加密 数据加密 密钥管理 创建、加密、解密数据加密密钥 说明: 仅支持通过API调用。 生成硬件真随机数 生成512bit的随机数,为加密系统提供基于硬件真随机数的密钥材料和加密参数 说明: 仅支持通过API调用。 消息认证码 生成、验证消息认证码 说明: 仅支持通过API调用。 密钥库管理 创建、禁用、删除密钥库
  • CP CS 应用说明 业务系统在“应用和数据安全”层面,整体改造主要涉及身份鉴别、数据存储机密性、数据存储完整性、不可否认性(如涉及)四个方面。针对应用层的改造流程,及CPCS在该过程中的详细应用场景如下: 根据《系统密码应用方案》确认待加密重要数据,确认登录改造方式,确认密码服务选型。 通过CPCS的密码服务界面获取接口文档,打通应用系统到密码服务所绑定应用的网络,通过授权的访问密钥获取密码服务访问token。 针对上述改造点进行应用系统改造(密码服务集成调用),改造不区分前后顺序,可同步进行。 图1 应用层改造流程 CPCS各服务在改造环节中的详细应用说明如表1所示。 表1 CPCS各服务应用说明 改造场景 适用服务 应用场景示例 登录改造 协同签名服务 为APP提供基于国密数字证书的登录认证能力。如果APP自带扫码功能,也可实现PC端的登录认证。 说明: 互联网普通用户,数量较大,改造会影响用户体验,一般采用短信认证码方式进行缓解。 需要配合移动终端密码模块共同使用。 管理员用户涉及移动端需使用该服务。 签名验签服务 适用于客户端为PC端的场景,主要用于专网内的办公用户和运维用户,提供PC端基于UKEY的国密登录认证功能。 动态令牌认证服务 市政务网站,用户主要为互联网公众,可以使用OTP与短信网关对接,即客户通过接收短信实现高风险缓解。 金融业务系统,具备较高的安全要求,需要客户采用基于硬件令牌的OTP认证。 密码服务静态资源情况 密码服务资源的个数和比例统计。 访问量统计 访问的成功率失败率统计。 重要数据加密 数据加解密服务 一般用于关系型数据库内少量字段的加解密,完整性保护。 一般用于固定场景下少量文件、日志的加解密,完整性保护。 适用场景广泛,需业务系统调用服务接口改造 数据库加解密服务 适用于敏感数据较多,大量存在关系型数据库内。 适用于业务系统老旧或者ISV不提供支持等,无法进行代码二次开发的场景。 说明: 透明加密、业务层限制JDBC模式。 文件加密服务 适用于有大量非结构化数据加密的场景。 适用于业务系统老旧或者ISV不提供支持等,无法进行代码二次开发的场景。 当系统出现较多的文档、图片等数据时,应用免改造实现文件加密存储。 电子签章服务 适用于电子公文、电子合同、电子招投标系统等。 关键操作或数据加盖国密算法的电子签章。 适用于原系统具备电子签章能力或需求,但缺乏合规的国密电子签章。 时间戳服务 适用于具备数据外发的重要业务系统(等保三级、关键信息基础设施或者金融类系统)。 关键操作或数据加盖国密算法的时间戳。 适用于原系统具备时间戳能力或需求,但缺乏合规的国密电子签章。 其他场景 SSL VPN服务 系统用户通过PC、APP、CS等终端访问服务端的通道安全接入。 系统运维人员远程运维接入时的安全通道建立。 站点证书需由第三方CA签发。 密钥管理服务 适用于对密钥有细粒度管理需求的场景。
  • CPCS在密评中的应用场景 密评,全称为商用密码应用安全性评估,是指按照有关法律法规和标准规范,对网络与信息系统使用商用密码技术、产品和服务的合规性、正确性、有效性进行检测分析和评估验证的活动。 密评以单个应用系统为对象进行评测,密评整体流程可以分为以下五个阶段: 系统对标差距分析(非必选项) 密码应用方案设计 密码应用方案评审 密码应用改造建设 密码应用安全性评估 CPCS适用密评第四阶段“密码应用改造建设”,主要针对密码应用安全建设改造过程中关于“应用和数据安全”的改造,以及提供密码服务平台的使用。
  • 与华为云服务配合使用 华为云服务基于信封加密技术,通过调用KMS的接口来加密云服务资源。由用户管理自己的自定义密钥,华为云服务在拥有用户授权的情况下,使用用户指定的自定义密钥对数据进行加密。使用KMS加密的云服务请参见使用KMS加密的云服务。 图1 华为云服务使用KMS加密原理 加密流程说明如下: 用户需要在KMS中创建一个自定义密钥。 华为云服务调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。 华为云服务使用明文的数据加密密钥来加密明文文件,得到密文文件。 华为云服务将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 用户通过华为云服务下载数据时,华为云服务通过KMS指定的自定义密钥对密文的数据加密密钥进行解密,并使用解密得到的明文的数据加密密钥来解密密文数据,然后将解密后的明文数据提供给用户下载。
  • 与用户的应用程序配合使用 当您的应用程序需要对明文数据进行加密时,可通过调用KMS的接口来创建数据加密密钥,再使用数据加密密钥将明文数据进行加密,得到密文数据并进行存储。同时,用户的应用程序调用KMS的接口创建对应用户主密钥,对数据加密密钥进行加密,得到密文的数据加密密钥并进行存储。 基于信封加密技术,用户主密钥存储在KMS中,用户的应用程序只存储密文的数据加密密钥,仅在需要使用时调用KMS解密数据加密密钥。 加密流程说明如下: 应用程序调用KMS的“create-key”接口创建一个自定义密钥。 应用程序调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由1创建的用户主密钥加密明文的数据加密密钥生成的。 应用程序使用明文的数据加密密钥来加密明文文件,生成密文文件。 应用程序将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 具体操作请参见《数据加密服务API参考》。
  • 约束限制 一次只能选择一个节点进行替换。 节点替换过程会按照原节点的ID、IP地址、规格、AZ等信息重建节点。 节点替换过程中不会保留手动操作。例如被替换的节点手动加过回程路由,那么节点替换完成后,需要重新添加回程路由。 当替换的是数据节点或冷数据节点时,需要确认集群或节点是否满足以下条件。 替换数据节点或冷数据节点的过程中,会先将被替换节点的数据迁移到其他数据节点,因此集群中每个索引的副本数和主分片数之和的最大值要小于集群的数据节点数量和冷数据节点数量之和。替换过程耗时跟数据迁移到其他节点的耗时强相关。 版本号在7.6.2以前的集群,不能有close的索引,否则不支持替换数据节点或冷数据节点。 被替换的数据节点或冷数据节点所在的AZ需要有两个及以上的数据节点或冷数据节点。 当替换的数据节点或冷数据节点所在集群不存在Master节点时,则集群中可用的数据节点数量和冷数据节点数量之和要大于等于3。 当替换的是Master节点或Client节点时,则不受以上四条约束。 当替换的是故障节点时,不管什么节点类型都不受以上四条约束。因为故障节点不包含在“_cat/nodes”中。
  • 约束限制 为了保证业务的连续性,集群中数据节点和冷数据节点的个数之和要不小于3。 切换过程中会逐一下线节点再新建节点,需要保证单节点下线后,其余节点的磁盘容量能够接纳该节点的所有数据。 集群中索引的最大主备分片数能够被分配到剩余数据节点和冷数据节点中,防止切换过程中出现节点下线后副本无法分配的情况。即“索引的主备分片数的最大值+1 ≤ 切换前的数据节点数和冷数据节点之和”。 当集群处于切换可用区过程中,部分节点的AZ属性可能已经更改,此时节点的可用区可能会显示出中间状态,等待任务结束后,集群的可用区显示将恢复正常状态。 可用区高可用改造是基于原可用区进行扩展,切换时必须保留原可用区。如果是单AZ改造成两AZ或单AZ改造成三AZ的场景,必须所有节点一起改造;如果是两AZ改造成三AZ的场景,则既支持同时操作集群中所有类型的节点,也支持单独操作集群中某一类型的节点(例如,在已有两AZ的集群中,可以只对Master节点进行切换可用区,将Master节点形变为三AZ,而其他节点依旧是两AZ)。高可用改造会尽可能挪动最小的节点重建集群,改造完成后,因未挪动节点的yml配置更新,需要重启集群才能生效。 可用区平移切换一次只能迁移一个可用区,切换时选择的可用区只能有一个不同。平移切换支持同时操作集群中所有类型的节点,或者单独操作集群中某一类型的节点(例如,在已有两AZ的集群中,可以只对Master节点进行平移切换,将Master节点从当前AZ迁移到另一个AZ,而其他节点依旧在当前AZ)。除了单AZ平移切换场景,其他的多AZ平移切换场景均需要重启集群生效。
  • 背景信息 云搜索服务 用opendistro_security安全插件对外提供安全集群能力,opendistro_security安全插件是基于RBAC(Role-Based Access Control)模型构建。RBAC包括三个重要核心概念:用户(User)、权限(Action)、角色(Role)。RBAC简化了用户和权限的关系,降低了权限管理的难度,方便权限扩展易于维护。三者之前的关系如下图所示。 图1 用户、权限和角色 表1 OpenSearch Dashboard创建用户和授权 参数 描述 Permission 权限:单个动作,例如创建索引(例如indices:admin/create)。 Action group 操作组:表示一组权限。例如,预定义的SEARCH操作组授权角色使用_search和_msearchAPI。 Role 角色:定义为权限或操作组的组合,包括对集群,索引,文档或字段的操作权限。 User 用户:可以向OpenSearch集群发出操作请求。用户具有凭证(例如,用户名和密码)、零个或多个后端角色以及零个或多个自定义属性。 Role mapping 角色映射:用户在成功进行身份验证后会担任角色,角色映射,就是将角色映射到用户(或后端角色)。例如,kibana_user(角色)到jdoe(用户)的映射意味着John Doe在获得kibana_user身份验证后获得了所有权限。同样,all_access(角色)到admin(后端角色)的映射意味着具有后端角色admin(来自LDAP / Active Directory服务器)的任何用户都获得了all_access身份验证后的所有权限。您可以将每个角色映射到许多用户和/或后端角色。 在OpenSearch Dashboard界面的Security菜单中,您可以控制用户在OpenSearch集群中的权限,实现集群、索引、文档和字段四个级别的细粒度访问权限控制。 支持添加或删除集群的用户,并能够将用户映射到角色,实现用户关联角色权限。 角色映射功能允许配置角色的成员,通过用户名、后端角色和主机名将用户分配给相应的角色。支持为每种角色配置集群访问权限、索引和文档的访问权限,以及OpenSearch Dashboard的使用权限。 有关安全集群的更多安全配置信息以及详细的操作指导,可以参考OpenSearch的安全模式官方介绍。
  • 约束限制 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。 当集群处于“不可用”状态时,快照功能中除了恢复快照功能外,其他快照信息或功能只能查看,无法进行编辑。 备份与恢复过程中,支持集群扩容(如果是恢复至本集群,则本集群不支持扩容)、访问Kibana、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。当此集群正在进行创建快照或者恢复快照过程中,同时的自动创建快照任务将被取消。 CSS 集群第一次快照是全量,后面再备份快照是在之前的快照基础上增量,CSS是增量快照逻辑,快照之间的文件会相互依赖。
  • 前提条件 为方便操作,建议采用Linux操作系统的机器部署Logstash。 Logstash的下载路径为:https://www.elastic.co/cn/downloads/logstash-oss Logstash要求使用OSS版本,选择和CSS一致版本。 安装Logstash之前,需要先安装JDK。在Linux操作系统中,您可以执行yum -y install java-1.8.0命令直接安装1.8.0版本JDK。在Windows操作系统中,您可以访问JDK官网,下载符合操作系统版本的JDK,并根据指导安装。 安装完Logstash后,再根据如下步骤导入数据。安装Logstash的操作指导,请参见:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html 在“Logstash部署在弹性云服务器上时导入数据”场景中,请确保此弹性云服务器与接入的Elasticsearch集群在同一个VPC下。
  • Logstash使用流程 表1 Logstash集群的使用流程 任务分类 操作 参考文档 使用 规划集群 在创建Logstash集群前,需要先完成集群规划。规划时,应考虑是否多可用区部署以提高集群的高可用性,合理配置集群的节点数量与规格,以确保集群的稳定性和性能。 Logstash集群规划建议 创建集群 基于集群规划,创建合适的Logstash集群。 创建Logstash集群 配置路由 当Logstash集群和数据源的子网位于不同网卡时,需要配置Logstash集群路由打通Logstash集群和数据源之间的网络连接。 配置Logstash集群路由 配置Logstash迁移任务 通过Logstash集群的配置中心,可以创建并启动Logstash配置文件,以实现数据从不同数据源到目的端的迁移。 创建Logstash配置文件 启动Logstash迁移任务 运维 扩缩容 CSS服务提供灵活的扩容和缩容功能,支持增加节点数量、升级节点规格,以及随机缩容节点,以动态调整集群资源,适应不同业务需求并优化成本。 扩容Logstash集群 缩容Logstash集群 管理集群 CSS服务提供全面的集群管理功能,包括集群信息查看、标签管理、企业项目绑定、自定义CA证书上传等,旨在帮助用户高效、灵活地管理Logstash集群。 查看Logstash集群信息 设置Logstash集群标签 为Logstash集群绑定企业项目 管理Logstash集群的CA证书 强制重启Logstash集群 删除Logstash集群 监控与日志管理 CSS服务提供全面的监控和日志管理功能,包括集群、节点和Logstash管道监控指标、告警规则配置、日志备份与查看,帮助用户有效监控和分析Logstash集群,确保集群的稳定性。 CES 中Logstash集群支持的监控指标 使用CES监控Logstash集群 查询和管理Logstash集群日志 审计日志 通过 云审计 服务,用户可以记录和查询Logstash集群的关键操作事件,且操作记录在管理控制台保存最近7天,便于后续的审计和回溯。 查看Logstash集群审计日志 父主题: 使用Logstash迁移数据
  • 节点监控指标列表 表2 云搜索 服务节点支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) jvm_heap_usage JVM堆使用率 节点JVM堆内存使用率。 0~100 % 不涉及 CSS集群-云服务节点 1分钟 cpu_usage CPU利用率 CPU利用率。 0~100 % 不涉及 CSS集群-云服务节点 1分钟 disk_util 最大磁盘使用率 节点的磁盘使用率。 0~100 % 不涉及 CSS集群-云服务节点 1分钟 load_average 节点Load值 操作系统中1分钟平均排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 open_file_descriptors 已打开的文件描述符数 节点已打开的文件描述符数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 max_file_descriptors 最大允许的文件描述符数 最大允许的文件描述符数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_write_queue Write队列中总排队任务数 写入线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_search_queue Search队列中总排队任务数 搜索线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_force_merge_queue ForceMerge队列中总排队任务数 强制合并线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_write_rejected Write队列中总的已拒绝任务数 写入线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_search_rejected Search队列中总的已拒绝任务数 搜索线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_force_merge_rejected ForceMerge队列中总的已拒绝任务数 强制合并线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_write_threads Write线程池总大小 写入线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_search_threads Search线程池总大小 搜索线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_force_merge_threads ForceMerge线程池总大小 强制合并线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_flush_queue Flush队列中总排队任务数 Flush线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_flush_rejected Flush队列中总的已拒绝任务数 Flush线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_flush_threads Flush线程池总大小 Flush线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_generic_queue Generic队列中总排队任务数 Generic线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_generic_rejected Generic队列中总的已拒绝任务数 Generic线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_generic_threads Generic线程池总大小 Generic线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_management_queue Management队列中总排队任务数 Management线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_management_rejected Management队列中总的已拒绝任务数 Management线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_management_threads Management线程池总大小 Management线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_refresh_queue Refresh队列中总排队任务数 Refresh线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_refresh_rejected Refresh队列中总的已拒绝任务数 Refresh线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_refresh_threads Refresh线程池总大小 Refresh线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_searcher_queue OBS Searcher队列中总排队任务数 OBS Searcher线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_searcher_rejected OBS Searcher队列中总的已拒绝任务数 OBS Searcher线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_searcher_threads OBS Searcher线程池总大小 OBS Searcher线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_queue OBS队列中总排队任务数 OBS线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_rejected OBS队列中总的已拒绝任务数 OBS线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_threads OBS线程池总大小 OBS线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_upload_queue OBS Upload队列中总排队任务数 OBS Upload线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_upload_rejected OBS Upload队列中总的已拒绝任务数 OBS Upload线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_upload_threads OBS Upload线程池总大小 OBS Upload线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_download_queue OBS Download队列中总排队任务数 OBS Download线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_download_rejected OBS Download队列中总的已拒绝任务数 OBS Download线程池中的已拒绝任务数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 thread_pool_obs_download_threads OBS Download线程池总大小 OBS Download线程池的大小。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 free_fs_size 文件系统可用大小 CSS集群的文件系统可用大小。 ≥ 0 byte 1024 CSS集群-云服务节点 1分钟 total_fs_size 文件系统总大小 CSS集群的文件系统总大小。 ≥ 0 byte 1024 CSS集群-云服务节点 1分钟 jvm_old_gc_count JVM老年代总GC次数 “老年代”垃圾回收的运行次数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 jvm_old_gc_time JVM老年代总GC时间 执行“老年代”垃圾回收所花费的时间。 ≥ 0 ms 不涉及 CSS集群-云服务节点 1分钟 jvm_young_gc_count JVM年轻代总GC次数 “年轻代”垃圾回收的运行次数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 jvm_young_gc_time JVM年轻代GC时间 执行“年轻代”垃圾回收所花费的时间。 ≥ 0 ms 不涉及 CSS集群-云服务节点 1分钟 mem_free_in_bytes 可用内存空间 节点未使用的内存容量。 ≥ 0 byte 1024 CSS集群-云服务节点 1分钟 mem_free_percent 可用内存比例 节点未使用的内存比例。 0~100 % 不涉及 CSS集群-云服务节点 1分钟 mem_used_in_bytes 已用内存空间 节点已使用的内存容量。 ≥ 0 byte 1024 CSS集群-云服务节点 1分钟 current_opened_http_count 当前已打开HTTP连接数 节点当前打开的HTTP连接数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 total_opened_http_count 全部打开的HTTP连接数 节点全部打开的HTTP连接数。 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 disk_read_requests_rate 磁盘读IOPS CSS集群节点的磁盘每秒读取数据的请求总次数。 ≥ 0 request/s 不涉及 CSS集群-云服务节点 1分钟 disk_write_requests_rate 磁盘写IOPS CSS集群节点的磁盘每秒写数据的请求总次数。 ≥ 0 request/s 不涉及 CSS集群-云服务节点 1分钟 disk_read_bytes_rate 磁盘读带宽 CSS集群节点的磁盘每秒读出数据量。 ≥ 0 Byte/s 1024 CSS集群-云服务节点 1分钟 disk_write_bytes_rate 磁盘写带宽 CSS集群节点的磁盘每秒写入数据量。 ≥ 0 Byte/s 1024 CSS集群-云服务节点 1分钟 shards_count 分片数量 CSS集群节点的分片数量 ≥ 0 Count 不涉及 CSS集群-云服务节点 1分钟 vector_index_off_heap_used_in_bytes 向量索引堆外内存使用量 CSS集群节点向量索引查询加载的堆外内存使用量。 ≥ 0 byte 1024 CSS集群-云服务节点 1分钟 vector_index_off_heap_usage 向量索引堆外内存使用率 CSS集群节点向量索引查询加载的堆外内存使用率。 0~100 % 不涉及 CSS集群-云服务节点 1分钟
  • 集群监控指标列表 累计值:从节点启动时开始叠加数值,当节点重启后清零重新累计。 表1 云搜索服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) status 集群健康状态 该指标用于统计测量监控对象的状态。 0:集群是100%可用的。 1:数据是完整的,部分副本缺失。高可用性在某种程度上弱化,存在风险,请及时关注集群情况。 2:数据缺失,集群使用时将出现异常。 3:没有获取到集群状态。 0、1、2、3 不涉及 不涉及 CSS集群 1分钟 disk_util 最大磁盘使用率 CSS集群中各个节点的磁盘使用率的最大值。 0~100 % 不涉及 CSS集群 1分钟 max_jvm_heap_usage 最大JVM堆使用率 CSS集群中各个节点的JVM堆使用率的最大值。 0~100 % 不涉及 CSS集群 1分钟 max_jvm_young_gc_time 最大JVM Young GC耗时 CSS集群中各个节点的JVM Young GC耗时累计值的最大值。 ≥ 0 ms 不涉及 CSS集群 1分钟 max_jvm_young_gc_count 最大JVM Young GC次数 CSS集群中各个节点的JVM Young GC次数累计值的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_jvm_old_gc_time 最大JVM Old GC耗时 CSS集群中各个节点的JVM Old GC耗时累计值的最大值。 ≥ 0 ms 不涉及 CSS集群 1分钟 max_jvm_old_gc_count 最大JVM Old GC次数 CSS集群中各个节点的JVM Old GC次数累计值的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 total_fs_size 文件系统总大小 CSS集群的文件系统总大小。 ≥ 0 byte 1024 CSS集群 1分钟 free_fs_size 文件系统可用大小 CSS集群的文件系统可用大小。 ≥ 0 byte 1024 CSS集群 1分钟 max_cpu_usage 最大CPU利用率 CSS集群中各个节点的CPU利用率的最大值。 0~100 % 不涉及 CSS集群 1分钟 max_cpu_time_of_jvm_process 最大JVM进程使用的CPU时间 CSS集群中各个节点JVM进程使用CPU的时间累计值的最大值。 ≥ 0 ms 不涉及 CSS集群 1分钟 max_virtual_memory_size_of_jvm_process 最大JVM进程使用的虚拟内存大小 CSS集群中各个节点JVM进程可使用的虚拟内存大小的最大值。 ≥ 0 byte 1024 CSS集群 1分钟 max_current_opened_http_count 最大当前打开的HTTP连接数 CSS集群中各个节点打开且尚未关闭的HTTP连接数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_total_opened_http_count 最大全部打开的HTTP连接数 CSS集群中各个节点打开过的HTTP连接数累计值的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 indices_count 索引数量 CSS集群的索引数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 total_shards_count 分片数量 CSS集群的分片数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 primary_shards_count 主分片数量 CSS集群的主分片数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 docs_count 文档数量 CSS集群的文档数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 docs_deleted_count 被删除的文档数量 CSS集群的被删除的文档数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 nodes_count 节点数量 CSS集群的节点数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 data_nodes_count 数据节点数量 CSS集群的数据节点数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 coordinating_nodes_count 协调节点数量 CSS集群的协调节点数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 master_nodes_count Master节点数量 CSS集群的Master节点数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 ingest_nodes_count Client节点数量 CSS集群的Client节点数量。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_load_average 最大节点Load值 CSS集群中各个节点在操作系统中1分钟平均排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_cpu_usage 平均CPU使用率 CSS集群中各节点CPU利用率的平均值。 0~100 % 不涉及 CSS集群 1分钟 avg_load_average 平均节点Load值 CSS集群中各节点在操作系统中1分钟平均排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_jvm_heap_usage 平均JVM堆使用率 CSS集群中各节点JVM堆内存使用率的平均值。 0~100 % 不涉及 CSS集群 1分钟 max_open_file_descriptors 已打开的最大文件描述符数 CSS集群中各个节点已打开的文件描述符数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_open_file_descriptors 已打开的平均文件描述符数 CSS集群中各节点已打开的文件描述符数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_max_file_descriptors 最大允许的文件描述符数 CSS集群中各节点最大允许的文件描述符数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_open_file_descriptors 已打开的文件描述符数 CSS集群中各节点已打开的文件描述符数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_write_queue Write队列中总排队任务数 写入线程池中的排队任务数。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_search_queue Search队列中总排队任务数 CSS集群中各节点在搜索线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_force_merge_queue ForceMerge队列中总排队任务数 CSS集群中各节点在强制合并线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_write_rejected Write队列中总的已拒绝任务数 CSS集群中各节点在写入线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_search_rejected Search队列中总的已拒绝任务数 CSS集群中各节点在搜索线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_force_merge_rejected Forcemerge队列中总的已拒绝任务数 CSS集群中各节点在强制合并线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_search_queue Search队列中最大排队任务数 CSS集群中各个节点在搜索线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_force_merge_queue ForceMerge队列中最大排队任务数 CSS集群中各个节点在强制合并线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_write_threads Write线程池总大小 CSS集群中各节点写入线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_search_threads Search线程池总大小 CSS集群中各节点搜索线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_force_merge_threads ForceMerge线程池总大小 CSS集群中各节点强制合并线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_write_queue Write队列中平均排队任务数 CSS集群中各节点在写入线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_search_queue Search队列中平均排队任务数 CSS集群中各节点在搜索线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_force_merge_queue ForceMerge队列中平均排队任务数 CSS集群中各节点在强制合并线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_search_threads Search线程池平均大小 CSS集群中各节点搜索线程池的大小的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_write_threads Write线程池平均大小 CSS集群中各节点写入线程池的大小的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_force_merge_threads ForceMerge线程池平均大小 CSS集群中各节点强制合并线程池的大小的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_write_rejected Write队列中平均已拒绝任务数 CSS集群中各节点写入线程池中的已拒绝任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_flush_queue Flush队列中总排队任务数 CSS集群中各个节点在Flush线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_flush_rejected Flush队列中总的已拒绝任务数 CSS集群中各节点在Flush线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_flush_queue Flush队列中最大排队任务数 CSS集群中各个节点在Flush线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_flush_threads Flush线程池总大小 CSS集群中各节点Flush线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_flush_queue Flush队列中平均排队任务数 CSS集群中各节点在Flush线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_flush_threads Flush线程池平均大小 CSS集群中各节点在Flush线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_generic_queue Generic队列中总排队任务数 CSS集群中各个节点在Generic线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_generic_rejected Generic队列中总的已拒绝任务数 CSS集群中各节点在Generic线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_generic_queue Generic队列中最大排队任务数 CSS集群中各个节点在Generic线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_generic_threads Generic线程池总大小 CSS集群中各节点Generic线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_generic_queue Generic队列中平均排队任务数 CSS集群中各节点在Generic线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_generic_threads Generic线程池平均大小 CSS集群中各节点在Generic线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_management_queue Management队列中总排队任务数 CSS集群中各个节点在Management线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_management_rejected Management队列中总的已拒绝任务数 CSS集群中各节点在Management线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_management_queue Management队列中最大排队任务数 CSS集群中各个节点在Management线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_management_threads Management线程池总大小 CSS集群中各节点Management线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_management_queue Management队列中平均排队任务数 CSS集群中各节点在Management线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_management_threads Management线程池平均大小 CSS集群中各节点在Management线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_refresh_queue Refresh队列中总排队任务数 CSS集群中各个节点在Refresh线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_refresh_rejected Refresh队列中总的已拒绝任务数 CSS集群中各节点在Refresh线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_refresh_queue Refresh队列中最大排队任务数 CSS集群中各个节点在Refresh线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_refresh_threads Refresh线程池总大小 CSS集群中各节点Refresh线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_refresh_queue Refresh队列中平均排队任务数 CSS集群中各节点在Refresh线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_refresh_threads Refresh线程池平均大小 CSS集群中各节点在Refresh线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_searcher_queue OBS Searcher队列中总排队任务数 CSS集群中各个节点在OBS Searcher线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_searcher_rejected OBS Searcher队列中总的已拒绝任务数 CSS集群中各节点在OBS Searcher线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_obs_searcher_queue OBS Searcher队列中最大排队任务数 CSS集群中各个节点在OBS Searcher线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_searcher_threads OBS Searcher线程池总大小 CSS集群中各节点OBS Searcher线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_searcher_queue OBS Searcher队列中平均排队任务数 CSS集群中各节点在OBS Searcher线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_searcher_threads OBS Searcher线程池平均大小 CSS集群中各节点在OBS Searcher线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_queue OBS队列中总排队任务数 CSS集群中各个节点在OBS线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_rejected OBS队列中总的已拒绝任务数 CSS集群中各节点在OBS线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_obs_queue OBS队列中最大排队任务数 CSS集群中各个节点在OBS线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_threads OBS线程池总大小 CSS集群中各节点OBS线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_queue OBS队列中平均排队任务数 CSS集群中各节点在OBS线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_threads OBS线程池平均大小 CSS集群中各节点在OBS线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_upload_queue OBS Upload队列中总排队任务数 CSS集群中各个节点在OBS Upload线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_upload_rejected OBS Upload队列中总的已拒绝任务数 CSS集群中各节点在OBS Upload线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_obs_upload_queue OBS Upload队列中最大排队任务数 CSS集群中各个节点在OBS Upload线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_upload_threads OBS Upload线程池总大小 CSS集群中各节点OBS Upload线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_upload_queue OBS Upload队列中平均排队任务数 CSS集群中各节点在OBS Upload线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_upload_threads OBS Upload线程池平均大小 CSS集群中各节点在OBS Upload线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_download_queue OBS Download队列中总排队任务数 CSS集群中各个节点在OBS Download线程池中的排队任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_download_rejected OBS Download队列中总的已拒绝任务数 CSS集群中各节点在OBS Download线程池中的已拒绝任务数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 max_thread_pool_obs_download_queue OBS Download队列中最大排队任务数 CSS集群中各个节点在OBS Download线程池中的排队任务数的最大值。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_thread_pool_obs_download_threads OBS Download线程池总大小 CSS集群中各节点OBS Download线程池的大小之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_download_queue OBS Download队列中平均排队任务数 CSS集群中各节点在OBS Download线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_thread_pool_obs_download_threads OBS Download线程池平均大小 CSS集群中各节点在OBS Download线程池中的排队任务数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 min_free_fs_size 最小可用存储空间 CSS集群中各个节点可用存储空间的最小值。 ≥ 0 byte 1024 CSS集群 1分钟 avg_jvm_old_gc_count JVM老年代平均GC次数 CSS集群中各个节点“老年代”垃圾回收的运行次数的累计值的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_jvm_old_gc_time JVM老年代平均GC时间 CSS集群中各个节点执行“老年代”垃圾回收所花费的时间累计值的平均值。 ≥ 0 ms 不涉及 CSS集群 1分钟 avg_jvm_young_gc_count JVM年轻代平均GC次数 CSS集群中各个节点“年轻代”垃圾回收的运行次数的累计值的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_jvm_young_gc_time JVM年轻代平均GC时间 CSS集群中各个节点执行“年轻代”垃圾回收所花费的时间累计值的平均值。 ≥ 0 ms 不涉及 CSS集群 1分钟 avg_max_file_descriptors 最大允许的文件描述符数-平均值 CSS集群中各节点最大允许的文件描述符数的平均值。 ≥ 0 Count 不涉及 CSS集群 1分钟 avg_mem_free_in_bytes 平均可用内存空间 CSS集群中各节点未使用的内存容量的平均值。 ≥ 0 byte 1024 CSS集群 1分钟 avg_mem_free_percent 平均可用内存比例 CSS集群中各节点未使用的内存比例的平均值。 0~100 % 不涉及 CSS集群 1分钟 avg_mem_used_in_bytes 平均已用内存空间 CSS集群中各节点已使用的内存容量的平均值。 ≥ 0 byte 1024 CSS集群 1分钟 avg_mem_used_percent 平均已用内存比例 CSS集群中各节点已使用的内存比例的平均值。 0~100 % 不涉及 CSS集群 1分钟 max_mem_free_in_bytes 最大可用内存空间 CSS集群中各个节点未使用的内存容量的最大值。 ≥ 0 byte 1024 CSS集群 1分钟 max_mem_free_percent 最大可用内存比例 CSS集群中各个节点未使用的内存比例的最大值。 0~100 % 不涉及 CSS集群 1分钟 max_mem_used_in_bytes 最大已用内存空间 CSS集群中各个节点已使用的内存容量的最大值。 ≥ 0 byte 1024 CSS集群 1分钟 max_mem_used_percent 最大已用内存比例 CSS集群中各个节点已使用的内存比例的最大值。 0~100 % 不涉及 CSS集群 1分钟 sum_jvm_old_gc_count JVM老年代总GC次数 CSS集群中各个节点“老年代”垃圾回收的运行次数的累计值之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_jvm_old_gc_time JVM老年代总GC时间 CSS集群中各个节点执行“老年代”垃圾回收所花费的时间累计值之和。 ≥ 0 ms 不涉及 CSS集群 1分钟 sum_jvm_young_gc_count JVM年轻代总GC次数 CSS集群中各个节点“年轻代”垃圾回收的运行次数的累计值之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_jvm_young_gc_time JVM年轻代总GC时间 CSS集群中各个节点执行“年轻代”垃圾回收所花费的时间累计值之和。 ≥ 0 ms 不涉及 CSS集群 1分钟 sum_current_opened_http_count 当前已打开HTTP连接数 CSS集群中各个节点打开且尚未关闭的HTTP连接数之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_total_opened_http_count 历史已打开HTTP连接数 CSS集群中各个节点打开过的HTTP连接数累计值之和。 ≥ 0 Count 不涉及 CSS集群 1分钟 IndexingLatency 平均索引延迟 分片完成索引操作所需的平均时间。 ≥ 0 ms 不涉及 CSS集群 1分钟 IndexingRate 平均索引速率 入库TPS,集群每秒平均索引操作数。 ≥ 0 Count 不涉及 CSS集群 1分钟 SearchLatency 平均查询延迟 分片完成搜索操作所需的平均时间。 ≥ 0 ms 不涉及 CSS集群 1分钟 SearchRate 平均查询速率 查询QPS,集群每秒平均查询操作数。 ≥ 0 Count 不涉及 CSS集群 1分钟 task_max_running_time 最大Task运行时长 该指标为集群运行的所有查询、写入Task中,运行时长最长的task耗时。 ≥ 0 ms 不涉及 CSS集群 1分钟 number_of_pending_tasks Pending Task排队任务数 CSS集群中待Master处理的task的排队任务数。 ≥ 0 Count 不涉及 CSS集群 1分钟 sum_disk_read_requests_rate 磁盘读总IOPS CSS集群所有节点的磁盘每秒读取数据的请求总次数。 ≥ 0 request/s 不涉及 CSS集群 1分钟 sum_disk_write_requests_rate 磁盘写总IOPS CSS集群所有节点的磁盘每秒写数据的请求总次数。 ≥ 0 request/s 不涉及 CSS集群 1分钟 sum_disk_read_bytes_rate 磁盘读总带宽 CSS集群所有节点的磁盘每秒读出数据量。 ≥ 0 Byte/s 1024 CSS集群 1分钟 sum_disk_write_bytes_rate 磁盘写总带宽 CSS集群所有节点的磁盘每秒写入数据量。 ≥ 0 Byte/s 1024 CSS集群 1分钟 avg_vector_index_off_heap_used_in_bytes 平均向量索引堆外内存使用量 CSS集群各节点的向量索引查询加载的堆外内存使用量的平均值。 ≥ 0 byte 1024 CSS集群 1分钟 avg_vector_index_off_heap_usage 平均向量索引堆外内存使用率 CSS集群各节点的向量索引查询加载的堆外内存使用率的平均值。 只有触发向量索引的查询才会触发对应向量索引的查询加载的堆外内存使用率。 0~100 % 不涉及 CSS集群 1分钟 max_vector_index_off_heap_used_in_bytes 最大向量索引堆外内存使用量 CSS集群各节点的向量索引查询加载的堆外内存使用量的最大值。 ≥ 0 byte 1024 CSS集群 1分钟 max_vector_index_off_heap_usage 最大向量索引堆外内存使用率 CSS集群各节点的向量索引查询加载的堆外内存使用率的最大值。 只有触发向量索引的查询才会触发对应向量索引的查询加载的堆外内存使用率。 0~100 % 不涉及 CSS集群 1分钟 vector_index_circuit_breaker_status 向量索引熔断状态 向量索引的熔断状态。 0:未熔断。 1:熔断状态,请及时关注集群堆外内存使用率是否超阈值。 0、1 不涉及 不涉及 CSS集群 1分钟 request_count 请求总次数 CSS集群所有节点的请求总次数。 ≥ 0 Count 不涉及 CSS集群 1分钟 successfully_request_count 请求成功次数 CSS集群所有节点的请求成功次数。 判断依据:状态码为200 ≥ 0 Count 不涉及 CSS集群 1分钟 failed_request_count 请求失败次数 CSS集群所有节点的请求失败次数。 判断依据:状态码为非200 ≥ 0 Count 不涉及 CSS集群 1分钟 limited_request_count 请求限流次数 CSS集群所有节点的请求被限流次数。 判断依据:状态码为429 ≥ 0 Count 不涉及 CSS集群 1分钟 cold_data_storage 冷数据存储量 CSS集群冷数据存储总量,是集群的索引冷冻后存放到OBS的数据总量,每小时统计一次。该OBS是CSS服务的OBS桶,用户无法在OBS控制台查看。 ≥ 0 byte 1024 CSS集群 1分钟 number_of_index_creation_failures 索引创建失败次数 CSS集群中索引创建失败的次数。 ≥ 0 Count 不涉及 CSS集群 1分钟 shard_doc_exceed_threshold_count 文档数超过阈值的分片数量 CSS集群中文档数超过阈值的分片数量。 ≥ 0 Count 不涉及 CSS集群 1分钟
  • 约束限制 缩容是通过下线节点减少节点数量,为了降低业务影响,建议在业务低峰期进行缩容操作。 缩容过程会涉及数据迁移,将要下线的节点数据迁移到其他节点上,数据迁移的超时阈值为5小时。当超过5小时数据还未迁移完成,那么缩容会失败。建议在集群数据量较大的情况下,分多次进行缩容。 要确保缩容之后的磁盘使用量小于80%,且集群每个节点类型中每个AZ的节点数至少为1。 关于跨AZ的集群,在不同AZ中同类型节点个数的差值要小于等于1。 当集群没有Master节点时,每次缩容的数据节点和冷数据节点个数之和要小于缩容前数据节点和冷数据节点个数之和的一半,缩容后的数据节点和冷数据节点个数之和要大于索引的最大副本个数。 当集群有Master节点时,每次缩容的Master节点个数要小于当前Master节点总数的一半,缩容后的Master节点个数必须是奇数且不小于3。 当集群没有Master节点时,数据节点数量和冷数据节点数量之和大于等于3时才支持缩容。当集群有Master节点时,数据节点数量大于等于2时才支持缩容。当集群不满足缩容条件却想减少集群节点时,建议新建集群,备份与恢复Elasticsearch集群数据迁移集群数据。 当一个集群包含的节点类型不同时,各节点类型支持的节点数量不同,缩容节点数量时请参考表2。 表2 集群的节点数量取值说明 一个集群包含的节点类型 节点数量的取值范围 ess ess:1~32 ess、ess-master ess:1~200 ess-master:3~9的奇数 ess、ess-client ess:1~32 ess-client:1~32 ess、ess-cold ess:1~32 ess-cold:1~32 ess、ess-master、ess-client ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess、ess-master、ess-cold ess:1~200 ess-master:3~9的奇数 ess-cold:1~32 ess、ess-client、ess-cold ess:1~32 ess-client:1~32 ess-cold:1~32 ess、ess-master、ess-client、ess-cold ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess-cold:1~32 说明: ess:数据节点,即创建集群时必配的节点类型,其他3种节点类型都是基于业务需要可选的类型。 ess-master:Master节点。 ess-client:Client节点。 ess-cold:冷数据节点。
  • 约束限制 备份与恢复索引功能上线之前(即2018年3月10日之前)创建的集群,无法创建快照。 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。 当集群处于“不可用”状态时,快照功能中除了恢复快照功能外,其他快照信息或功能只能查看,无法进行编辑。 备份与恢复过程中,支持集群扩容(如果是恢复至本集群,则本集群不支持扩容)、访问Kibana、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。当此集群正在进行创建快照或者恢复快照过程中,同时的自动创建快照任务将被取消。 CSS集群第一次快照是全量,后面再备份快照是在之前的快照基础上增量,CSS是增量快照逻辑,快照之间的文件会相互依赖。 在配置了存算分离的集群中,冻结且关闭的索引数据不支持备份。
  • ESSecuredClientWithCerDemo代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 import org.apache.commons.io.IOUtils; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.HttpHost; import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import java.io.FileInputStream; import java.io.IOException; import java.security.KeyStore; import java.security.SecureRandom; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManagerFactory; public class ESSecuredClientWithCerDemo { private static final String KEY_STORE_PWD = ""; private static final String TRUST_KEY_STORE_PWD = ""; private static final String CA_JKS_PATH = "ca.jks"; private static final String CLIENT_JKS_PATH = "client.jks"; private static final String ELB_ADDRESS = "127.0.0.1"; private static final int ELB_PORT = 9200; private static final String CSS_USERNAME = "user"; private static final String CSS_PWD = ""; public static void main(String[] args) { // 建立客户端 RestHighLevelClient client = initESClient(ELB_ADDRESS, CSS_USERNAME, CSS_PWD); try { // 查询 match_all,相当于 {\"query\": {\"match_all\": {}}} SearchRequest searchRequest = new SearchRequest(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.matchAllQuery()); searchRequest.source(searchSourceBuilder); // query SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); System.out.println("query result: " + searchResponse.toString()); SearchHits hits = searchResponse.getHits(); for (SearchHit hit : hits) { System.out.println(hit.getSourceAsString()); } System.out.println("query success"); Thread.sleep(2000L); } catch (InterruptedException | IOException e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(client); } } private static RestHighLevelClient initESClient(String clusterAddress, String userName, String password) { final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); SSLContext ctx = null; try { KeyStore ks = getKeyStore(CLIENT_JKS_PATH, KEY_STORE_PWD, "JKS"); KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, KEY_STORE_PWD.toCharArray()); KeyStore tks = getKeyStore(CA_JKS_PATH, TRUST_KEY_STORE_PWD, "JKS"); TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(tks); ctx = SSLContext.getInstance("SSL", "SunJSSE"); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom()); } catch (Exception e) { e.printStackTrace(); } SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(ctx, new HostnameVerifier() { @Override public boolean verify(String arg0, SSLSession arg1) { return true; } }); SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy, credentialsProvider); RestClientBuilder builder = RestClient.builder(new HttpHost(clusterAddress, ELB_PORT, "https")) .setHttpClientConfigCallback(httpClientConfigCallback); RestHighLevelClient client = new RestHighLevelClient(builder); return client; } private static KeyStore getKeyStore(String path, String pwd, String type) { KeyStore keyStore = null; FileInputStream is = null; try { is = new FileInputStream(path); keyStore = KeyStore.getInstance(type); keyStore.load(is, pwd.toCharArray()); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } return keyStore; } }
  • SecuredHttpClientConfigCallback代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.common.Nullable; import java.util.Objects; class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback { @Nullable private final CredentialsProvider credentialsProvider; /** * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption. */ private final SSLIOSessionStrategy sslStrategy; /** * Create a new {@link SecuredHttpClientConfigCallback}. * * @param credentialsProvider The credential provider, if a username/password have been supplied * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied * @throws NullPointerException if {@code sslStrategy} is {@code null} */ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy, @Nullable final CredentialsProvider credentialsProvider) { this.sslStrategy = Objects.requireNonNull(sslStrategy); this.credentialsProvider = credentialsProvider; } /** * Get the {@link CredentialsProvider} that will be added to the HTTP client. * * @return Can be {@code null}. */ @Nullable CredentialsProvider getCredentialsProvider() { return credentialsProvider; } /** * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client. * * @return Never {@code null}. */ SSLIOSessionStrategy getSSLStrategy() { return sslStrategy; } /** * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider}, * * @param httpClientBuilder The client to configure. * @return Always {@code httpClientBuilder}. */ @Override public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) { // enable SSL / TLS httpClientBuilder.setSSLStrategy(sslStrategy); // enable user authentication if (credentialsProvider != null) { httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } return httpClientBuilder; } }
  • 集群对接负载均衡器 登录云搜索服务管理控制台。 在“集群管理”页面选择需要对接负载均衡器的集群,单击集群名称进入集群“基本信息”页面。 在左侧菜单栏,选择“负载均衡”,打开负载均衡开关,在弹窗中配置负载均衡基础信息。 表4 配置负载均衡 参数 说明 负载均衡器 选择前面创建的独享型负载均衡器。CSS集群属于托管资源,所选的负载均衡器必须开启“跨VPC后端”能力才能正常使用。 委托 选择 IAM 委托,当前账号授权CSS服务访问和使用ELB资源。 当首次配置委托时,可以单击“自动创建委托”新建委托“css_elb_agency”直接使用。 当已有自动创建的委托时,可以单击“委托一键授权”,自动删除委托中“ELB Administrator”系统角色或“ELB FullAccess”系统策略的权限,并自动新增如下自定义策略授权委托到最小化权限。 "elb:loadbalancers:list", "elb:loadbalancers:get", "elb:certificates:list", "elb:healthmonitors:*", "elb:members:*", "elb:pools:*", "elb:listeners:*" 执行“自动创建委托”和“委托一键授权”的用户需要如下最小权限。 "iam:agencies:listAgencies", "iam:roles:listRoles", "iam:agencies:getAgency", "iam:agencies:createAgency", "iam:permissions:listRolesForAgency", "iam:permissions:grantRoleToAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:revokeRoleFromAgency", "iam:roles:createRole" 使用委托的用户需要如下最小权限。 "iam:agencies:listAgencies", "iam:agencies:getAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:listRolesForAgency" 图1 开启负载均衡 单击“确定”,开启负载均衡。 在“监听器配置”区域,您可以单击右侧配置监听器的相关信息。 表5 配置监听器 参数 配置说明 前端协议 客户端与负载均衡监听器建立流量分发连接的协议。支持选择“HTTP”或“HTTPS”。 根据实际业务需要选择协议。 前端端口 客户端与负载均衡监听器建立流量分发连接的端口。 根据实际业务需要自定义。 SSL解析方式 客户端到服务器端认证方式。仅“前端协议”选择“HTTPS”才需要配置。 根据实际业务需要选择解析方式。 服务器证书 服务器证书用于SSL握手协商,需提供证书内容和私钥。仅“前端协议”选择“HTTPS”才需要配置服务器证书。 选择准备并上传自签名证书创建的服务器证书。 CA证书 CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者。仅“SSL解析方式”选择“双向认证”时,才需要配置CA证书。 选择准备并上传自签名证书创建的CA证书。 在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。 图2 配置监听器 (可选)在监听器配置区域,单击“访问控制”后的“设置”跳转到负载均衡器的监听器列表,单击监听器访问控制列的“设置”,配置允许通过负载均衡实例访问集群的IP地址组,不设置的话默认允许所有的IP地址访问。 在健康检查区域,您可以查看各个节点IP的健康检查结果。 表6 健康检查结果状态说明 健康检查结果 说明 正常 节点IP连接正常。 异常 节点IP连接,不可用
  • 创建独享型负载均衡器 登录弹性负载均衡管理控制台。 参考创建独享型负载均衡器,创建独享型负载均衡器。CSS集群对接独享型负载均衡器所需要关注的参数如表3所示,其他参数请根据实际需要填写。 表3 独享型负载均衡器的配置说明 参数 配置说明 取值样例 实例类型 选择“独享型”。 独享型 计费模式 性能独享型负载均衡器的收费类型。 按需计费 区域 选择CSS集群所在的区域。 - 跨VPC后端 开启跨VPC后端才能连接CSS集群。 开启 网络类型 负载均衡器对外提供服务所使用的网络类型。 CSS服务支持“IPv4私网”和“IPv6网络”。 当选择“IPv6网络”时,CSS服务对接负载均衡器后,集群对接的负载均衡实例会显示“私有IP”和“IPv6地址”。只有当独享型负载均衡器绑定了“共享带宽”,才会显示“公网IP”。 当选择“IPv4私网”时,CSS服务对接负载均衡器后,集群对接的负载均衡实例会显示“私有IP”和“公网IP”。 说明: CSS服务仅“华东二”区域支持“IPv6网络”,其他区域只支持“IPv4私网”。 IPv4私网 所属VPC 所属虚拟私有云。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一VPC。 - 子网 选择创建负载均衡实例的子网。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一子网。 - 规格 建议选择功能和性能更优的应用型规格。 应用型(HTTP/HTTPS) “小型 I”
  • 通过Curl命令接入集群 在云搜索服务管理控制台,单击左侧导航栏的“集群管理”。 在集群管理列表页面,单击需要访问的集群名称,进入集群基本信息页面。 在左侧菜单栏选择“负载均衡”,获取并记录负载均衡实例的“私有IP”、“IPv6地址”或“公网IP”,以及监听器配置的“前端协议/端口”。 如果ELB绑定了公网,则不推荐接入非安全模式的集群。非安全模式的集群使用HTTP通信且不需要安全认证即可访问,如果对接公网访问存在安全风险。 在ECS服务器中执行如下Curl命令测试能否通过独享型负载均衡实例接入集群。 表7 不同集群的接入命令 集群安全模式 ELB最终对外提供的服务形态 接入集群的Curl命令 非安全 无认证 curl http://IP:port 单向认证 curl --cacert ./ca.crt https://IP:port 双向认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port 安全+HTTP 密码认证 curl http://IP:port -u user:pwd 单向认证+密码认证 curl --cacert ./ca.crt https://IP:port -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port -u user:pwd 安全+HTTPS 单向认证+密码认证 curl --cacert ./ca.crt https://IP:port -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port -u user:pwd 表8 变量说明 变量名 说明 IP 负载均衡实例的IP地址。 port 监听器配置的“前端协议/端口”。 user 集群的用户名,仅安全集群需要配置。 pwd 用户名对应的密码,仅安全集群需要配置。 当可以正常返回集群信息时,表示连接成功。
  • 场景描述 使用独享型负载均衡器接入集群具有如下优点: 非安全模式集群也支持集成弹性负载均衡服务的能力。 支持用户使用自定义证书进行HTTPS双向认证。 支持7层流量监控及告警配置,方便用户随时查看监控情况。 不同安全模式的集群对接独享型负载均衡器共有8种不同的服务形态,不同服务形态对应的ELB能力如表1所示,8种组合的配置概览如表2所示。 表1 不同集群对应的ELB能力 集群安全模式 ELB最终对外提供的服务形态 ELB负载均衡 ELB流量监控 ELB双向认证 非安全 无认证 支持 支持 不支持 单向认证 双向认证 支持 支持 支持 安全+HTTP 密码认证 支持 支持 不支持 单向认证+密码认证 双向认证+密码认证 支持 支持 支持 安全+HTTPS 单向认证+密码认证 双向认证+密码认证 支持 支持 支持 表2 不同集群对接ELB的配置概览 集群安全模式 ELB最终对外提供的服务形态 ELB监听器 ELB监听器 ELB监听器 后端服务器组 后端服务器组 后端服务器组 前端协议 前端端口 SSL解析方式 后端协议 健康检查端口 健康检查路径 非安全 无认证 HTTP 9200 无认证 HTTP 9200 / 单向认证 HTTPS 9200 单向认证 HTTP 9200 双向认证 HTTPS 9200 双向认证 HTTP 9200 安全+HTTP 密码认证 HTTP 9200 无认证 HTTP 9200 /_opendistro/_security/health 单向认证+密码认证 HTTPS 9200 单向认证 HTTP 9200 双向认证+密码认证 HTTPS 9200 双向认证 HTTP 9200 安全+HTTPS 单向认证+密码认证 HTTPS 9200 单向认证 HTTPS 9200 双向认证+密码认证 HTTPS 9200 双向认证 HTTPS 9200 CSS集群对接独享型负载均衡的操作步骤如下: 如果规划ELB监听器的前端协议是HTTPS,则需要准备签名证书并上传至ELB管理控制台:准备并上传自签名证书 在ELB管理控制台创建独享型负载均衡器:创建独享型负载均衡器 集群开启负载均衡:集群对接负载均衡器 通过独享型负载均衡实例接入集群:通过Curl命令接入集群 本文还提供了通过独享型负载均衡实例接入集群的Java客户端代码示例:通过负载均衡器的HTTPS双向认证方式接入集群的代码示例(Java)
  • 约束限制 如果ELB绑定了公网,则不推荐接入非安全模式的集群。非安全模式的集群使用HTTP通信且不需要安全认证即可访问,如果对接公网访问存在安全风险。 开启了HTTPS访问的安全模式的集群不支持HTTP类型的前端协议认证,如果需要使用HTTP类型的前端协议,需要将集群的“安全模式”变更为“非安全模式”,具体操作请参见更改Elasticsearch集群安全模式。在变更安全模式前,请先关闭“负载均衡”,安全模式变更完成后再开启“负载均衡”。
  • 创建用户并授权 登录云搜索服务控制台。 在集群管理列表,选择对应集群,单击操作列的“Kibana”。 使用管理员账号登录Kibana页面。 账户名:admin(默认管理员账户名) 密码:创建安全模式的集群时,设置的管理员密码。 登录成功后,在Kibana操作界面的左侧导航栏选择“Security”,进入“Security”页面。 给安全集群添加一个新用户“test”。 单击导航栏的“Internal users”,进入创建用户页面。 在“Internal Users”页面,单击“Create internal user”,进入创建用户信息页面。 图2 添加用户 在创建用户页面,输入“Username”、“Password”和“Re-enter password”。此处以用户名“test”为例。 下面还有两个可选参数,供选择配置。参数的详细信息可以单击页面的“Learn more”查看。 Backend roles:后端角色,后端角色用于将来自外部身份验证系统(如LDAP或SAML)的用户映射到Open Distro安全角色。 Attributes:属性,Attributes可以用于进一步描述用户,更重要的是,它们可以用作角色的索引权限中的文档级安全性查询中的变量。这使得编写基于用户属性的动态DLS查询成为可能。 配置完成后,单击“Create”,创建成功后,可以在列表中看到新创建的用户。 创建角色“role_test”,并为角色授权。 在“Security”中选择“Roles”,进入Roles页面。页面有系统预置角色,具体的角色权限描述请单击页面的“Learn more”查看,如果预置角色能满足您的要求,建议直接选择预置角色。 在Roles页面,单击“Create Role”创建角色权限。 设置角色名“Name”,例如“role_test”。 图3 添加角色名称 在“Cluster Permissions”设置集群权限。根据业务需要选择相应的集群权限,不配置时表示角色不具有任何集群级别的权限。此处,以配置cluster_monitor集群权限为例。 在Elasticsearch中,cluster_monitor权限允许用户监控和观察集群的状态,但不允许进行任何可能会改变集群状态的操作。具体来说,拥有cluster_monitor权限的用户可以执行以下操作: 查看集群的健康状态和状态信息。 查看集群的节点信息。 查看集群的统计信息。 查看集群的待处理任务。 查看集群的恢复、段信息、索引统计信息和状态。 图4 Cluster Permissions页面 在“Index Permissions”设置索引权限。为可选配置。索引权限允许您指定此角色中的用户如何访问特定索引。 “Index”:配置权限的索引名称,例如,索引模板名称为“my_store”。 建议索引名称和创建的用户名不要相同。 “Index permissions”:根据需要开通的权限设置。 “Tenant Permissions”设置租户权限。为可选配置。Kibana中的租户是用于保存索引模式、可视化、仪表板和其他Kibana对象的空间。默认情况下,所有Kibana用户都可以访问两个租户:私有和全局。全局租户在每个Kibana用户之间共享。私有租户是每个用户独享的,不能共享。关于租户权限的详细解释请单击页面的“Learn more”查看。 单击“Create”,保存角色设置,即可在“Roles”列表看到新建的角色。 将角色映射到用户,使用户具有角色的权限。 在“Security”中选择“Roles”,单击"role_test"角色名称,进入角色详情页面。 单击“Mapped users”页签,在Mapped users页面单击“Map user”。 在“Map user”页面,单击下拉框选择创建的“test”用户。 添加完成后,单击“Map”。 配置完成后,验证用户权限是否生效。 使用创建的用户“test”登录Kibana。 单击左侧导航栏选择“Dev Tools” ,进入操作页面。 执行查询集群健康状态的命令GET /_cluster/health?pretty,结果显示200,可以查询到集群的基本情况,表示用户有查看集群状态的权限。 执行创建索引命令PUT /my_test,结果显示403,表示没有权限创建索引。 因此,用户“test”只有查看集群状态权限,没有创建索引权限,配置成功。 当需要补充创建索引的权限时,可以根据结果中的报错提示,给角色加上对应的权限即可。
  • 背景信息 云搜索服务用opendistro_security安全插件对外提供安全集群能力,opendistro_security安全插件是基于RBAC(Role-Based Access Control)模型构建。RBAC包括三个重要核心概念:用户(User)、权限(Action)、角色(Role)。RBAC简化了用户和权限的关系,降低了权限管理的难度,方便权限扩展易于维护。三者之前的关系如图1所示。 图1 用户、权限和角色 表1 概念介绍 参数 描述 User 用户:可以向Elasticsearch集群发出操作请求。用户具有凭证(例如,用户名和密码)、零个或多个后端角色以及零个或多个自定义属性。 Role 角色:定义为权限或操作组的组合,包括对集群,索引,文档或字段的操作权限。 Permission 权限:单个动作,例如创建索引(例如indices:admin/create)。 Role mapping 角色映射:用户在成功进行身份验证后会担任角色。角色映射,就是将角色映射到用户(或后端角色)。例如,kibana_user(角色)到jdoe(用户)的映射意味着John Doe在获得kibana_user身份验证后获得了所有权限。同样,all_access(角色)到admin(后端角色)的映射意味着具有后端角色admin(来自LDAP / Active Directory服务器)的任何用户都获得了all_access身份验证后的所有权限。您可以将每个角色映射到许多用户和/或后端角色。 Action group 操作组:一组权限。例如,预定义的SEARCH操作组授权角色使用_search和_msearchAPI。 除了RBAC模型,Elasticsearch还有Tenant概念。RBAC用于解决用户级别的授权问题,而Tenant则处理不同租户间的信息共享问题。通过配置Tenant空间,租户能够在该空间内共享Dashboard、index_pattern等信息。 默认情况下,用户仅能查看其Private Tenant空间中的index_pattern、dashboard等信息。当添加新用户“test”时,系统会自动生成一个名为“.kibana_xxx_test”的索引,该用户Private空间的内容将存储于此。同理,管理员账号的Private Tenant空间内容则存储在“.kibana_xxx_admin”索引中。当需要与其他租户共享index_pattern或Dashboard信息时,可以选择在Global Tenant空间中创建它们,其他用户只需切换至Global Tenant,即可访问共享信息。 在Kibana界面的Security菜单中,您可以控制用户在Elasticsearch集群中的权限,实现集群、索引、文档和字段四个级别的细粒度访问权限控制。 支持添加或删除集群的用户,并能够将用户映射到角色,实现用户关联角色权限。 角色映射功能允许配置角色的成员,通过用户名、后端角色和主机名将用户分配给相应的角色。支持为每种角色配置集群访问权限、索引和文档的访问权限,以及Kibana的使用权限。 有关安全集群的更多安全配置信息以及详细的操作指导,可以参考Elasticsearch的安全模式官方介绍。
  • Logstash管道监控指标列表 表3 Logstash管道的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) logstash_pipeline_events_in 当前管道监控周期内经过input插件的数据数。 该指标用于统计当前管道监控周期内经过input插件的数据数。 ≥ 0 Count 不涉及 CSS集群-云服务节点-Logstash管道或CSS集群-Logstash管道 1分钟 logstash_pipeline_events_filtered 当前管道监控周期内经过filtered插件的数据数。 该指标用于统计当前管道监控周期内过滤处理的数据数。 ≥ 0 Count 不涉及 CSS集群-云服务节点-Logstash管道或CSS集群-Logstash管道 1分钟 logstash_pipeline_events_out 当前管道监控周期内经过out插件的数据数。 该指标用于统计当前管道监控周期内经过out插件的数据数。 ≥ 0 Count 不涉及 CSS集群-云服务节点-Logstash管道或CSS集群-Logstash管道 1分钟
  • 节点监控指标列表 表2 云搜索服务节点支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) jvm_heap_usage JVM堆使用率 节点JVM堆内存使用率。 0~100 % 不涉及 CSS集群 - 云服务节点 1分钟 cpu_usage CPU利用率 CPU利用率。 0~100 % 不涉及 CSS集群 - 云服务节点 1分钟 load_average 节点Load值 操作系统中1分钟平均排队任务数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟 jvm_old_gc_count JVM老年代总GC次数 “老年代”垃圾回收的运行次数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟 jvm_old_gc_time JVM老年代总GC时间 执行“老年代”垃圾回收所花费的时间。 ≥ 0 ms 不涉及 CSS集群 - 云服务节点 1分钟 jvm_young_gc_count JVM年轻代总GC次数 “年轻代”垃圾回收的运行次数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟 jvm_young_gc_time JVM年轻代GC时间 执行“年轻代”垃圾回收所花费的时间。 ≥ 0 ms 不涉及 CSS集群 - 云服务节点 1分钟 events_in 当前节点经过input插件的数据数 该指标用于统计当前节点经过input插件的数据数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟 events_filtered 当前节点经过filtered插件的数据数 该指标用于统计当前节点过滤处理的数据数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟 events_out 当前节点经过out插件的数据数 该指标用于统计当前节点经过out插件的数据数。 ≥ 0 Count 不涉及 CSS集群 - 云服务节点 1分钟
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全