华为云用户手册

  • 步骤四:创建日志配置组 在“容器日志接入”页面,选择左侧导航栏的“日志配置组”。 单击“创建日志配置组”。 设置日志配置组参数,参数说明如表5所示,配置完成后,单击“确定”。 表5 日志配置组参数说明 参数名称 参数说明 日志配置组名称 自定义日志配置组名称。 安装方式 选择安装方式,推荐使用“DAEMONSET”。 命名空间 当安装方式为“DAEMONSET”时,需要配置服务日志命名空间。 命名空间为hostpath的下一级目录名称,该目录下48小时内有日志文件更新,才会拉取日志采集配置,必须为英文名。 日志项目 选择已创建的日志项目。 配置类型 选择配置类型,即创建日志采集配置时选择的配置类型,根据配置类型会过滤采集配置列表中的数据。 采集配置列表 选择需要下发的配置。
  • 步骤五:安装日志采集插件 在“容器日志接入”页面,选择左侧导航栏的“集群插件管理”。 在集群列表中单击待安装插件的集群所在行“操作”列的“安装插件”。 在“插件安装”页面配置安装参数,具体内容如下所示,配置完成后,单击“确定”。 输入日志挂载路径:挂载到容器指定挂载点中的容器所在宿主机的文件目录,通常为宿主机上日志文件的hostpath目录。需要设置为单独的文件路径,不能设置为类似于/root、/home等包含有其他文件的目录,并且一个集群只能设置一个挂载路径。 需要对日志挂载路径执行chmod o+rx命令,确保日志采集容器的启动用户拥有该路径的访问权限。 选择主机:选择待安装插件的主机,默认全部勾选进行安装,可以去掉勾选不需要安装插件的主机,且当主机状态为“Active”时才可以正常安装插件。 选择日志配置组:选择日志配置组,安装插件并下发配置。
  • 步骤二:创建日志空间 在“容器日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:AC CES S_ LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRI CS _LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示。 解析脚本中不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,已达到预期,单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他自有服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • AppStage运维中心使用前准备 使用AppStage运维中心前,需要先准备如表1所示内容。 表1 准备事项 准备事项 说明 购买AppStage运维中心 首次使用需要先购买运维中心专业版,具体操作请参见购买AppStage。 配置服务授权 购买运维中心后,系统将自动识别并弹框提示进行服务授权,同意服务授权后,AppStage将在 统一身份认证 服务 IAM 中为账号创建名称为appstage_admin_agency的委托。 关联组织 首次购买AppStage后,其账号需创建并关联使用AppStage的组织(仅可关联一个组织),才能使用AppStage服务及后续购买AppStage相关产品套餐或增量包等,具体操作请参见关联组织。关联组织完成后,该华为账号会自动成为组织管理员,拥有该组织的所有管理权限,同时可以审批其他用户的组织管理员角色权限申请。 添加部门/成员信息 为已关联的组织添加部门及成员,完善组织架构,具体操作请参见组织管理。 录入产品/服务/微服务信息 企业资源接入AppStage前,需要先将企业产品/服务/微服务信息录入AppStage系统中,信息录入成功后,AppStage将同步产品/服务/微服务信息至运维中心,具体操作请参见产品与服务管理。 申请权限 已添加成员在使用运维中心前需要先申请运维中心权限,具体操作请参见申请权限。 说明: 运维中心操作指导基于已获取服务研发岗位权限进行介绍,如果部分具体功能需要其他权限会单独说明。
  • 查看监控指标数据 以采集弹性云服务器的监控指标为例,查看弹性云服务器对应的命名空间、指标ID、维度的Key和Value。 在支持监控的服务列表页面查看对应的监控指标参考文档。 在参考文档中查看命名空间,弹性云服务器对应的命名空间为“SYS.ECS”。 查看监控指标的指标ID和测量对象(维度),例如监控指标CPU使用率的指标ID为“cpu_util”,测量对象为“云服务器”。 查看维度的Key和Value,云服务器维度的Key和Value分别为instance_id和云服务器ID。
  • 更多操作 隔离域规划创建后,您还可以对隔离域规划进行以下操作。 表2 相关操作 操作名称 操作步骤 导出全量隔离域规划信息 在隔离域规划列表,单击“导出”,导出隔离域规划信息。 导出指定隔离域规划信息 在“隔离域规划”页签,输入筛选条件,并单击“查询”。 单击“导出”,导出隔离域规划信息。 删除隔离域规划 在隔离域规划列表,单击待删除隔离域规划所在行“操作”列的“删除”。 批量删除隔离域规划 在隔离域规划列表,勾选待删除隔离域规划,然后单击列表左上方的“删除”。
  • 更多操作 隔离域创建后,您还可以对隔离域进行以下操作。 表2 相关操作 操作名称 操作步骤 编辑隔离域 在隔离域列表,单击待编辑隔离域所在行“操作”列的“编辑”。 导出隔离域 单击隔离域列表上方的“导出”。 勾选需要导出的数据,单击“确认”。 选择需要保存的路径,单击“保存”,导出隔离域信息。 删除隔离域 在隔离域列表,单击待删除隔离域所在行“操作”列的“删除”。 批量删除隔离域 在隔离域列表,勾选待删除隔离域,然后单击列表左上方的“删除”。
  • 前提条件 已获取服务运维岗位权限或基础运维角色权限,权限申请操作请参见申请权限。 已获取CBH权限,如果CBH所属账号与AppStage开租账号一致,订购时进行服务授权会自动授权CBH权限,如果不一致,录入的华为账号需要添加CBH权限“CBH FullAccess”。 “AK-SK”方式:确认IAM用户所属用户组,并为用户组授权,具体操作请参见用户组授权。 “授权委托”方式:修改委托权限,增加所需的权限,具体操作请参见修改委托。
  • 步骤三:手动安装OpsAgent 在“未纳管主机”页面,单击“部署OpsAgent”。 安装方式选择“手动安装”,Windows主机必须使用手动安装方式。 填写基本信息,OpsAgent基本信息参数说明如表1所示。 表1 OpsAgent基本信息参数说明 参数名称 参数说明 租户账号 选择租户账号,为租户VPC下的主机安装OpsAgent。 归属Region 选择租户VPC所属的Region。 OpsAgent版本 选择需要安装的OpsAgent的版本号。 VPC 选择 虚拟私有云VPC ,为该VPC下的主机安装OpsAgent。 说明: 可选VPC为已纳管VPC,如无可选VPC,请完成将VPC纳管至运维中心ENS打通网络。 接入方式 当前支持“直接接入(内网)”的接入方式,为华为云主机接入安装OpsAgent。 根据WINDOWS命令下的指引完成OpsAgent安装。 在“未纳管主机”页面,可以通过OpsAgent状态判断主机OpsAgent是否安装成功。 如果主机的OpsAgent状态为“在线”,表示已安装成功。 如果主机的OpsAgent状态为“失败”,表示未安装成功,可以在“OpsAgent任务”页面,查看安装任务日志。 如需卸载OpsAgent,在Windows控制面板卸载uniagentd应用,卸载后主机的OpsAgent状态显示为“离线”。 如需更新OpsAgent,需卸载后重新安装。
  • 步骤二:初始化主机 使用Administrator管理员账号密码登录Windows主机。 使用管理员身份打开powershell,执行如下脚本: Set-ExecutionPolicy RemoteSigned -Force; winrm quickconfig -q -force; winrm set winrm/config/service/auth '@{Basic="true"}'; winrm set winrm/config/service '@{AllowUnencrypted="true"}'; New-NetFirewallRule -Name Ansible -DisplayName Ansible -Enabled True -Action Allow -Protocol TCP -LocalPort 5985 -Direction InBound
  • 更多操作 您还可以进行以下操作。 表2 相关操作 操作名称 操作步骤 导出全量ELB信息 单击ELB列表上方的“导出”,即可导出全部ELB信息。 导出指定ELB信息 在“公有云ELB”页面,输入筛选条件,并单击“查询”。 单击列表上方的“导出”,即可导出已查询的指定ELB信息。 删除ELB 在ELB列表中,单击待删除ELB所在行“操作”列的“删除”,删除该ELB。 修改ELB自有服务归属 在ELB列表中,勾选需修改服务归属的ELB,单击列表上方的“修改服务归属”。 在“修改服务归属”页面,可以修改ELB纳管的租户、产品和自有服务,修改完成后单击“确定”。 同步公有云ELB状态 在ELB列表中,单击待同步公有云信息的ELB所在行“操作”列的“同步”。 批量同步公有云ELB状态 在ELB列表中,勾选待同步公有云信息的ELB,单击列表上方的“同步”。
  • verify_os 插件类型 OS 功能说明 检测主机名是否有变更,并将检测结果返回HCW。 插件在HCW_Agent启动时,会将主机名存入HCW_Agent/temp/hostname.cache中,插件每个采集周期,会获取当前的主机名并与HCW_Agent/temp/hostname.cache中的主机名对比,若一致,返回0;不一致,返回1。 参数配置 不需要配置。 消息样例及含义说明 {    "plugin_id":"verify_os", #单位: | 类型:string | 说明:插件名    "metric":{ "node": " host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "hostname":"1", #单位: | 类型:string | 说明:主机名对比结果,相同为0,不同为1 } }
  • tcp 插件类型 APP 功能说明 检测本机或者指定主机端口是否可连通,并将结果返回HCW。 参数配置 配置样例: _filter_ip_id:xxx.0.0.1 # 检测IP,检测本机指定端口是否可达,配置值为127.0.0.1,检测指定主机端口是否可达,配置值为指定主机IP;当检测本机端口是否可达时,会检测127.0.0.1+端口和本机公网IP+端口是否可达,若有一项可达则表明本机端口可达。 _filter_port_id:80 # 检测端口。 TCP为多实例插件,即TCP插件可以配置多组参数,但需要每组参数均不相同。 消息样例及含义说明 {    "plugin_id":"tcp", #单位: | 类型:string | 说明:插件名    "metric":[{ "node": " host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "port_status":"1", #单位: | 类型:string | 说明:端口状态,端口可达值为1,不可达值为0 "ip_id":"xxx.0.0.1", #单位: | 类型:string | 说明:检测IP "port_id":"80", #单位: | 类型:string | 说明:检测端口 }] }
  • redis 插件类型 APP 功能说明 检测redis数据库信息,并将检测结果上报至HCW。 参数配置 配置样例: _filter_port_id:6379 # redis端口 password:123456,123457 # redis密码,可配置多个密码。redis插件会先从/opt/zabbix/bin/redis_stats.sh中获取redis密码,若获取或校验失败,会去读取配置参数中的password中的密码列表。 redis为多实例插件,即redis插件可以配置多组参数,但需要每组参数均不相同。 消息样例及含义说明 { "plugin_id": "redis", #单位: | 类型:string | 说明:插件名 "metric": [ { "node": " host-10-22-0-170", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "port_id": "80", #单位: | 类型:string | 说明:redis端口 "port_status": "1", #单位: | 类型:string | 说明:端口状态,端口可达值为1,不可达值为0 "cpuload": "10", #单位: | 类型:string | 说明:redis进程CPU占用率 "used_memory": "2403776 ", #单位: | 类型:string | 说明:Redis分配器分配的内存总量 "mem_fragmentation_ratio": "5.60", #单位: | 类型:string | 说明:used_memory_rss和used_memory之间的比率 "used_memory_peak": "4352360", #单位: | 类型:string | 说明:Redis内存消耗峰值 "keyspace_hits": "47343", #单位: | 类型:string | 说明:命中key的次数 "keyspace_misses": "1437", #单位: | 类型:string | 说明:未命中key的次数 "connected_clients": "1", #单位: | 类型:string | 说明:连接的客户端数量 "evicted_keys": "0", #单位: | 类型:string | 说明:运行以来删除过的key的数量 "blocked_clients": "0", #单位: | 类型:string | 说明:正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量 "rejected_connections": "0", #单位: | 类型:string | 说明:因为最大客户端数量限制而被拒绝的连接请求数量 "used_memory_rss": "13471744", #单位: | 类型:string | 说明:Redis分配的内存总量(包括内存碎片) "loading": "0", #单位: | 类型:string | 说明:是否正在载入持久化文件,0为否,1为是 "rdb_bgsave_in_progress": "0", #单位: | 类型:string | 说明:后台进行中的 save 操作的数量 "rdb_last_bgsave_status": "1", #单位: | 类型:string | 说明:最后一次创建RDB文件的结果,0为失败,1为成功 "rdb_last_bgsave_time_sec": "1", #单位: | 类型:string | 说明:最后一次创建RDB文件耗费的秒数 "instantaneous_ops_per_sec": "0", #单位: | 类型:string | 说明:服务器每秒中执行的命令数量 "expired_keys": "1281", #单位: | 类型:string | 说明:过期而被自动删除的数据库键数量 "latest_fork_usec": "0", #单位: | 类型:string | 说明:最近一次fork()操作耗费的时间 "client_biggest_input_buf": "0", #单位: | 类型:string | 说明:当前连接的客户端中,最大的输入缓存 "client_longest_output_list": "0", #单位: | 类型:string | 说明:当前的客户端连接中,最长的输出列表 "keyspace_hits_ratio": "80" #单位: | 类型:string | 说明:keyspace_hits与keyspace_hits + keyspace_misses的比率 } ] }
  • file_regexp 插件类型 APP 功能说明 逐行读取指定路径文件,将内容按分界符分解为指标名称和指标值,并按照过滤条件过滤,将过滤后的指标数据上报给HCW。 参数配置 配置样例: path:/tmp/sds_zabbix.result # 采集文件路径。 delimiter # 分隔符。 _filter_key_word:.*_cassandra # 指标值关键字, 支持正则, 为空则直接上报所有指标信息,非空则只上报匹配关键字的指标数据。 _filter_value_word:ok* # 指标值匹配关键字,支持正则,为空则不进行二次匹配,直接上报指标数据,非空则 匹配成功为1,匹配失败为0。 file_regexp为多实例插件,即file_regexp插件可以配置多组参数,但需要每组参数均不相同。 消息样例及含义说明 { "plugin_id":"file_regexp", #单位: | 类型:string | 说明:插件名 "metric":[{ "node": " host-10-22-0-170", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "name_id":"zj23_cassandra", #单位: | 类型:string | 说明:分隔后的指标名称(标签数据) "value_id":"ok", #单位: | 类型:string | 说明:分割后的指标值(标签数据) "value":"1", #单位: | 类型:string | 说明:指标上报值 }] }
  • file_check 插件类型 APP 功能说明 查看文件是否存在以及查看文件的大小,以Byte为单位,将结果上报到HCW。 参数配置 配置样例: path:/tmp/error_*.log #路径为绝对路径,支持通配符。 消息样例及含义说明 { "plugin_id":"file_check", #单位: | 类型:string | 说明:插件名 "metric":[{ "node": " host-10-22-0-170", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "exists":"1", #单位: | 类型:string | 说明:文件是否存在,1表示存在,0表示不存在 "size":"80", #单位:Byte | 类型:string | 说明:表示文件大小 }] }
  • logalarm 插件类型 ALARM 功能说明 监控指定日志文件,配置日志匹配关键字,并按照配置参数的要求,生成告警并上报到HCW。 参数配置 collect_file_path #定义日志采集配置,按照以下字段,使用json格式数据单行填入。 字段ID 字段名 必填 类型 范围 备注 id 告警定义ID 是 String 1~128 告警ID,由数字、字母、下划线组成。 alarm_name 告警名称 是 String 1~128 支持配置变量{{$log_info}},上报告警时会替换成匹配到的最后一条ERROR日志;支持配置变量{{$all_matching_log}},上报告警时会替换成匹配到的所有ERROR日志,当alarm_name配置了变量{{$all_matching_log}}时,若产生告警且后续周期又匹配到了告警,新匹配到的告警会在原告警ID的基础上,产生一个新的告警,并上报到监控系统,告警清除时会清除当前告警和后续产生的告警;当alarm_name配置为空时,会读取文件中的所有内容,逐行检测并上报告警。 alarm_level 告警级别 是 String 枚举 致命critical、严重major、一般minor、提示notice。 不区分大小写。 key_word 日志匹配关键字 是 String NA 日志匹配关键字,支持正则表达式。 match_file 日志文件绝对路径 是 String NA 支持变量、通配符,配置多个地址时需要使用逗号分隔。 matches 最大匹配次数 是 long NA - number_of_match_period 匹配周期数 是 long NA 与matches和key_word组合使用。 number_of_nodata_period 无数据上报的周期数 否 long NA 单独使用,与matches和key_word无关联。 description 告警详情 是 String NA 进一步丰富告警信息。 参数配置样例 [{"id":"alert20240627","alarm_name":"test20240627","alarm_level":"major","key_word":"usr/bin/sudo","match_file":"/var/log/messages","matches":2,"number_of_match_period":"30","number_of_nodata_period":"10","description":"test20240627"}] # 30个周期内匹配2次以上,则产生告警;30个周期内匹配2次或者2次以下,则清除告警。 # 10个周期内有数据则产生告警,10个周期内无数据上报则清除告警。
  • tomcat 插件类型 APP 功能说明 针对机器上运行性的多个Tomcat进程,周期采集其运行数据。 插件运行后,将首先在“agent框架lib/tomcat/”路径下生成TomcatJmx_fat.jar,后续每次执行时,都会通过该jar包使用JMX接口采集tomcat进程相关信息。每次采集结束,每个tomcat进程分别生成一条消息,http_port可作为区分标志。 参数配置 用户在使用该插件进行采集之前,需要先手动修改tomcat安装目录下bin/catalina.sh,在文件中添加以下字段以支持JMX采集功能: CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=58880 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 用户还需要为插件配置当前本机运行中的Tomcat对应的安装路径,可配置单个或多个,以”,”做分隔符。 tomcat_install_path #可以识别绝对路径以及环境变量。 如果采用环境变量来传递Tomcat安装路径,要求在~/.bashrc中添加export命令进行配置,如下图: 在配置生效后,可通过source ~/.bashrc或重启机器,再启动agent进行数据采集。 消息样例及含义说明 {      "plugin_id":"tomcat",     "metric":{ "node": " host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "request_count":"0", #单位: | 类型:double | 说明:采集间隔内新增请求数 "request_errors_count":"0", #单位: | 类型:double | 说明:采集间隔内新增错误请求数 "thread_total":"47", #单位: | 类型:double | 说明:累计线程数 "http_port_id":"8080", #单位: | 类型:double | 说明:tomcat对外提供服务的端口号         } }
  • scriptcollet 插件类型 APP 功能说明 执行脚本命令或者读取指定文件内容,并将结果上报给HCW。 参数配置 配置样例: type:script # 采集方式,可选填 script(采集脚本)或者 path(采集文件)。 ex_path:/opt/huawei/monitor/disk.sh # 脚本执行路径或者采集文件路径。 _filter_key_id:/opt/huawei/monitor/disk.sh # 多实例插件的key,此参数是为了支持多实例插件上报使用,只需要保证多个实例中该值均不同,建议与ex_path值保持一致。 scriptcollect为多实例插件,即scriptcollect插件可以配置多组参数,但需要每组参数均不相同。 消息样例及含义说明 { "plugin_id":"scriptcollect", #单位: | 类型:string | 说明:插件名 "metric":[{ "node": " host-10-22-0-170", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "key_id":"/opt/huawei/monitor/disk.sh", #单位: | 类型:string | 说明:对应模板配置的key值 "collect_value":"80", #单位: | 类型:string | 说明:执行脚本命令或者读取指定文件内容上报的值 }] }
  • fs 插件类型 OS 功能说明 统计主机文件系统使用情况,采集数据内容和df -lh命令一致。 当主机上的分区名称为/dev或/dev/shm时,无法采集该分区的数据。 当主机上的分区名称包含/media/或/mnt/时,无法采集该分区的数据 参数配置 配置样例:“_filter_mounted_name:^/shm,/dev,/opt”,其中带"^"前缀的为反向筛选关键字(/shm),其余为正向筛选关键字(/dev、/opt),每条消息在最终生成之前,插件会先执行一次正向筛选(若mounted_name的值包含/dev或/opt任一字段,则保留这条消息;反之则删掉。若没有配置正向筛选关键字,则跳过这步筛选,保留消息。)若该条消息得以保留,插件会继续执行一次反向筛选(若mounted_name的值包含/shm字段,则删掉这条消息;反之则保留。若没有配置反向筛选关键字,则跳过这步筛选,保留消息。) 假设某台服务器执行df -lh命令结果如图2所示,共4行数据,按照_filter_mounted_name:^/shm,/dev,/opt”配置正反向过滤后,仅生成第2、4行对应的消息。/dev/shm由于包含/shm,对应的消息将被剔除。 图2 示例2 消息样例及含义说明 { "plugin_id": "fs", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "fs_name": "/dev/mapper/vg1-lv1", #单位: | 类型:string | 说明:文件系统(= df命令的Filesystem列) "free": " 8707.9", #单位:mb | 类型:double | 说明:分区可用空间大小(= df命令的Avail列) "total": " 90710.0", #单位:mb | 类型:double | 说明:分区总大小(= df命令的Size列) "usage": "90.0", #单位:% | 类型:double | 说明:分区使用率(= df命令的Use%列) "used": " 80988.4", #单位:mb | 类型:double | 说明:分区已使用大小(= df命令的Used列) "mounted_name":"/opt", #单位: | 类型:string | 说明:分区挂载点(= df命令的Mounted on列) "index_node_use_util": " 3.00000 " #单位:% | 类型:double | 说明:inode使用率(= df -i命令的IUse%列) }
  • net 插件类型 OS 功能说明 采集网络IO信息,默认采集的目标网卡与本机ifconfig命令显示的网卡列表一致,仅采集ifconfig显示UP状态的网卡。 原始数据来源:/proc/net/dev 参数配置 通过_filter_nic_name配置,根据nic_name指标,对消息进行筛选,决定最终生成的哪些网卡的消息。 _filter_nic_name的配置比较特殊,只有当nic_name值以配置关键字串开头时,才会保留这条消息,而其他插件的消息筛选机制为包含即保留。如某台机器ifconfig列出的网卡名有eth0、eth1、veth1、lo。如果配置“_filter_nic_name:eth”,则剔除veth1和lo的消息,保留eth0、eth1的消息。 消息样例及含义说明 { "plugin_id": "net", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "collps": "0.0000", #单位:次/s | 类型:double | 说明:检测到发送冲突频率 "nic_name": "enp2s0f0", #单位: | 类型:string | 说明:网卡名,与ifconfig列表一致 "rxcmpps": "0.0000", #单位:包/s | 类型:double | 说明:接收压缩报速率 "rxdropps": "0.0000", #单位:包/s | 类型:double | 说明:接收丢报速率 "rxdroprate": "0.0", #单位:% | 类型:double | 说明:接收丢报率 "rxerrps": "0.0000", #单位:次/s | 类型:double | 说明:接收错误频率 "rxfifops": "0.0000", #单位:次/s | 类型:double | 说明:接收FIFO缓存错误频率 "rxframps": "0.0000", #单位:次/s | 类型:double | 说明:接收帧错误频率 "rxkbps": "0.0000", #单位:kB/s | 类型:double | 说明:接收的kbps数,单位为KByte/s, 转换为kbps需乘以8 "rxmcstps": "0.0000", #单位:次/s | 类型:double | 说明:接收多播频率 "rxpckps": "0.0000", #单位:包/s | 类型:double | 说明:接收报文速率 "rxutil": "0.0", #单位:% | 类型:double | 说明:接收带宽利用率 "txcarrps": "0.0000", #单位:次/s | 类型:double | 说明:传输介质故障频率 "txcmpps": "0.0000", #单位:包/s | 类型:double | 说明:发送压缩报速率 "txdropps": "0.0000", #单位:包/s | 类型:double | 说明:发送丢报数速率 "txdroprate": "0.0", #单位:% | 类型:double | 说明:发送丢报率 "txerrps": "0.0000", #单位:次/s | 类型:double | 说明:发送错频率 "txfifops": "0.0000", #单位:次/s | 类型:double | 说明:发送FIFO缓存错误频率 "txkbps": "0.0000", #单位:kB/s | 类型:double | 说明:发送的kbps数,单位为KByte/s, 转换为kbps需乘以8 "txpckps": "0.0000", #单位:包/s | 类型:double | 说明:发送报文速率 "txutil": "0.0", #单位:% | 类型:double | 说明:发送带宽利用率 "running": "1" #单位:% | 类型:double | 说明:网卡运行状态监测,如果为1表示ifconfig该网卡状态RUNNING,如果为-1表示ifconfig该网卡状态非RUNNING }
  • osinfo 插件类型 OS 功能说明 osinfo插件采集操作系统相关信息。 使用该插件要求/etc/nsswitch.conf文件有读权限,且其中hosts的解释项不能使用dns,即cat /etc/nsswitch.conf | grep "^hosts:" | grep dns命令返回应为空。"running"/"sleeping"/"stopped"/"zombie",全部进程数total与top命令输出的结果一致;最大文件打开数max_opens、最大进程数max_procs与ulimit -u、ulimit -n命令输出一致;本机当前打开的句柄数open_files与lsof|wc –l命令输出一致。open_files的获取每180秒只采集并上报一次,对于那些没有采集open_files的周期,该指标不出现在消息中。 原始数据来源:/proc/stat 参数配置 不需配置。 消息样例及含义说明 { "plugin_id": "osinfo", "metric": { "node": " host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long | 说明:UTC时间戳 "ctx": "245480", #单位: | 类型:int | 说明:本周期上下文切换次数 "procs": "1032", #单位: | 类型:int | 说明:采集周期内新增的任务总数 "blocked": "0", #单位: | 类型:int | 说明:当前被阻塞的任务数 "running": "0", #单位: | 类型:int | 说明:当前R状态的进程数(top: running) "sleeping": "882", #单位: | 类型:int | 说明:当前D状态的进程数(top: sleeping) "stopped": "1", #单位: | 类型:int | 说明:当前T状态的进程数(top: stopped) "zombie": "1" #单位: | 类型:int | 说明:当前Z状态的进程数(top: zombie) "procs_total": "884", #单位: | 类型:int | 说明:当前总进程数(top: Tasks) "max_opens": "1024", #单位: | 类型:int | 说明:执行ulimit -n结果 "max_procs": "2059087", #单位: | 类型:int | 说明:执行ulimit -u结果 "open_files": "2059087", #单位: | 类型:int | 说明:本机当前打开的句柄数 } }
  • cpu 插件类型 OS 功能说明 统计cpu信息,每次采集都为每个vcpu,以及总cpu维度分别生成消息。 原始数据来源:/proc/loadavg、/proc/stat等。 参数配置 插件默认为CPU0、CPU1、...、CPU-ALL分别生成消息。用户可根据需要配置_filter_cpu_id项,进行消息筛选。如果用户只需要总维度的CPU统计信息,则可配置参数_filter_cpu_id为CPU-ALL。 消息样例及含义说明 { "plugin_id": "cpu", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "cpu_id": "CPU1", #单位: | 类型:string | 说明:cpu编号(CPU-ALL:系统整体维度) "guest": "0.0", #单位:% | 类型:double | 说明:访客控制cpu时间占有率 "guest_nice": "0.0", #单位:% | 类型:double | 说明:低优先级访客控制cpu时间占有率 "idle": "100.0", #单位:% | 类型:double | 说明:空闲(不包含IO等待)时间占有率 "iowait": "0.0", #单位:% | 类型:double | 说明:等待IO响应的时间占有率 "irq": "0.0", #单位:% | 类型:double | 说明:处理硬件中断的时间占有率 "ldavg15m": "0.05", #单位: | 类型:double | 说明:近15分钟内平均负载 "ldavg1m": "0.01", #单位: | 类型:double | 说明:近1分钟内平均负载 "ldavg5m": "0.03", #单位: | 类型:double | 说明:近5分钟内平均负载 "nice": "0.0", #单位:% | 类型:double | 说明:低优先级用户态时间占有率 "softirq": "0.0", #单位:% | 类型:double | 说明:处理软件中断的时间占有率 "steal": "0.0", #单位:% | 类型:double | 说明:花在虚拟系统上的时间占有率 "system": "0.0", #单位:% | 类型:double | 说明:系统态时间占有率 "user": "0.0", #单位:% | 类型:double | 说明:用户态时间占有率 "util": "0.0", #单位:% | 类型:double | 说明:cpu占有率(1-idle) "vcpu_num": "48" #单位: | 类型:double | 说明:vcpu数量 } }
  • snmp 插件类型 OS 功能说明 周期采集机器上TCP及UDP连接相关数据,每次采集发送一条消息。 原始数据来自:/proc/net/snmp 参数配置 不需配置。 消息样例及含义说明 { "plugin_id": "snmp", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "tcp_curr_estab": "19", #单位: | 类型: double | 说明:当前处于ESTABLISHED/CLOSE_WAIT状态的TCP连接数 "tcp_in_segs_ps": "327.6371", #单位:包/s| 类型:double | 说明:tcp收包速率 "tcp_out_segs_ps": "672.2037", #单位:包/s| 类型:double | 说明:tcp发包速率 "tcp_retrans_rate_ps": "15.0", #单位:% | 类型: double | 说明:tcp重传率 "udp_in_datagrams_ps": "0.0000", #单位:包/s| 类型:double | 说明:udp收包速率 "udp_out_datagrams_ps": "0.0000", #单位:包/s| 类型:double | 说明:udp发包速率 "active_conn": "0.0000", #单位:次/s| 类型:double | 说明:单位时间tcp连接主动连接发起次数 "passive_conn": "0.0000" #单位:次/s| 类型:double | 说明:单位时间tcp被动建立连接次数 } }
  • diskio 插件类型 OS 功能说明 统计磁盘IO信息,每次采集将针对每个磁盘分别生成一条消息。 插件先从/proc/partitions获取全部物理磁盘及逻辑分区的名字、主次设备号。然后根据得到的磁盘名单,从/proc/diskstats提取每个物理磁盘或逻辑分区的读写数据,并进一步进行计算得到IO数据。 参数配置 配置样例: _filter_disk_id:xvda,^1,^2 #筛选关键字 show_extra:true #是否按照磁盘分区生成多条消息 其中带“^”前缀的为反向筛选关键字(1、2),其余为正向筛选关键字(xvda),每条消息在最终生成之前,插件会先执行一次正向筛选(若disk_id的值包含xvda,则保留这条消息;反之则删掉。若没有配置正向筛选关键字,则跳过这步筛选,保留消息。)若该条消息得以保留,插件会继续执行一次反向筛选(若disk_id的值包含1或2当中的任一字段,则删掉这条消息;反之则保留。若没有配置反向筛选关键字,则跳过这步筛选,保留消息。) show_extra为true时表示按照磁盘分区生成多条消息。 假设某台服务器执行cat /proc/partitions命令结果如图1所示,共7行数据,按照“_filter_disk_id:xvda,^1,^2”配置正反向过滤后,仅生成第1行xvda对应的消息。 图1 示例1 消息样例及含义说明 { "plugin_id": "diskio", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "avgqu_sz": "0.0000", #单位: | 类型:double | 说明:平均I/O队列长度 "avgrq_sz": "0.0000", #单位:扇区| 类型:double | 说明:平均每次设备I/O操作的数据大小 "await": "0.0000", #单位:ms | 类型:double | 说明:平均每次设备I/O操作的等待时间 "disk_id": "xvda", #单位: | 类型:string | 说明:物理磁盘号/逻辑分区号 "r_await": "0.0000", #单位:ms | 类型:double | 说明:平均每次读请求等待时间 "rkbps": "0.0000", #单位:kB/s | 类型:double | 说明:读操作的kbps数, 单位为KByte/s "rps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的读I/O设备次数 "rrqmps": "0.0000", #单位:次/s | 类型:double | 说明:每秒进行merge的读操作数目 "svctm": "0.0000", #单位:ms | 类型:double | 说明:平均每次设备I/O操作的服务时间 "tps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的读写I/O设备总次数 "util": "0.0", #单位:% | 类型:double | 说明:磁盘IO利用率 "w_await": "0.0000", #单位:ms | 类型:double | 说明:平均每次写请求等待时间 "wkbps": "0.0000", #单位:kB/s | 类型:double | 说明:写操作的kbps数, 单位为KByte/s "wps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的写I/O设备次数 "wrqmps": "0.0000" #单位:次/s | 类型:double | 说明:每秒进行merge的写操作数目 } }
  • gpu 插件类型 OS 功能说明 采集GPU信息,每次采集都为每个GPU,以及总GPU维度分别生成消息,并上报给HCW。 执行nvidia-smi命令,分别获取每个GPU的GPU-Util、Bus-Id、mem_used、mem_total、mem_util信息,并整合总GPU信息上报给HCW。 参数配置 不需要配置。 消息样例及含义说明 {    "plugin_id":"gpu", #单位: | 类型:string | 说明:插件名    "metric":{ "node": "bj-xen-pdc-241-202", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": "1518078026000", #单位: | 类型:string | 说明:字符类型时间戳 "_id":"GPU-0", #单位: | 类型:string | 说明:GPU编号,总GPU编号为GPU-ALL "_name":"Tesla P100-PCIE", #单位: | 类型:string | 说明:GPU型号 "bus_id":"0000:04:00.0", #单位: | 类型:string | 说明:GPU的Bus-Id "util":"61", #单位: | 类型:string | 说明:GPU使用率 "mem_used":"1385", #单位: | 类型:string | 说明:GPU已使用显存 "mem_total":"16276", #单位: | 类型:string | 说明:GPU显存总量 "mem_util":"8.50" #单位: | 类型:string | 说明:GPU显存使用率     } }
  • mem 插件类型 OS 功能说明 采集全系统有关的内存信息。 原始数据来源:/proc/meminfo、/proc/vmstat 参数配置 不需配置。 消息样例及含义说明 { "plugin_id": "mem", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long | 说明:UTC时间戳 "active": "6476724", #单位:kB | 类型:int | 说明:活跃内存 "buffers": "1776864", #单位:kB | 类型:int | 说明:buffers缓存 "cached": "8662036", #单位:kB | 类型:int | 说明:cached缓存 "dirty": "152", #单位:kB | 类型:int | 说明:等待写回磁盘的内存 "inactive": "4966164", #单位:kB | 类型:int | 说明:不活跃内存 "mem_free": "3964160", #单位:kB | 类型:int | 说明:可用内存 "mem_free_in_buf_cache": "14403060", #单位:kB | 类型:int | 说明:实际可用内存(+buffers+cached) "mem_free_size": "15072556", #单位:kB | 类型:int | 说明:"MemFree + Cached + Buffers + SReclaimable + Swapcached + Nfs_unstable - Shmem" "mem_total": "16311792", #单位:kB | 类型:int | 说明:全部内存 "mem_used": "12347632", #单位:kB | 类型:int | 说明:已用内存 "mem_used_ex_buf_cache": "1908732", #单位:kB | 类型:int | 说明:实际内存占用(-buffers-cached) "mem_used_size": "1239236", #单位:kB | 类型:int | 说明:mem_total - mem_free_size "mem_util": "7.6", #单位:% | 类型:double | 说明:mem_used_size / mem_total "swap_cached": "2632", #单位:kB | 类型:int | 说明:交换内存被缓存的大小 "swap_free": "4151180", #单位:kB | 类型:int | 说明:当前未使用的交换空间数 "swap_total": "4192252", #单位:kB | 类型:int | 说明:可用的交换空间总数 "swap_util": "3", #单位:% | 类型:double | 说明:交换空间占用率 "writeback": "0", #单位:kB | 类型:int | 说明:正在写回磁盘的内存 "pgfault": "4123", #单位: | 类型:int | 说明:本周期page fault数 "pgin": "0", #单位: | 类型:int | 说明:本周期page in数 "pgmajfault": "0", #单位: | 类型:int | 说明:本周期major page fault数 "pgout": "0" #单位: | 类型:int | 说明:本周期page out数 }}
  • 录入华为账号 进入AppStage运维中心。 将鼠标悬停在右上角的账号,选择下拉列表中的“服务环境配置”,选择左侧导航栏的“账户列表”。 单击“录入账号”。 录入账号信息,具体参数如表1所示。 表1 账号信息参数 参数名称 参数说明 厂商 选择账号归属的云厂商。 华为公有云账号ID 使用华为云并购买资源时注册的账号的账号ID。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”,在“API凭证”页面查看。 华为公有云账号名称 使用华为云并购买资源时注册的账号的账号名。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”,在“API凭证”页面查看。 纳管方式 AK-SK:通过AKSK获取管理员IAM操作权限,该IAM账号所属用户组需要拥有对应的权限,不同接入资源所需的权限不同,具体如表2所示,授权操作请参见用户组授权。 授权委托:将操作权限委托给AppStage,让AppStage以IAM身份使用其他云服务,代替IAM进行一些资源运维工作,具体操作请参见创建委托,其中委托的账号需要设置为AppStage平台账号“HIS_wiseEyes”。 说明: 在AppStage管理控制台订购页可根据提示完成服务委托授权,如果未授权或者资源管理账号和开通AppStage账号不一致,可以在账号管理中进行授权委托。 IAM用户ID 选择纳管方式为AK-SK时,显示此参数。在IAM中创建的用户的用户ID。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”,在“API凭证”页面查看。 IAM用户名 选择纳管方式为AK-SK时,显示此参数。在IAM中创建的用户的用户名。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”,在“API凭证”页面查看。 AK 选择纳管方式为AK-SK时,显示此参数。输入用户的华为云访问密钥ID。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”,在左侧导航栏单击“访问密钥”,在“访问密钥”页面查看AK。 SK 选择纳管方式为AK-SK时,显示此参数。输入用户的华为云访问密钥。 SK只能在第一次创建的时候下载,之后都不能通过管理台查询。 授权委托名称 选择纳管方式为授权委托时,显示此参数。输入用户在华为云创建委托的名称。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“统一身份认证”,在左侧导航栏单击“委托”,在委托列表查看。 授权委托ID 选择纳管方式为授权委托时,显示此参数。输入用户在华为云创建委托的ID。 获取方式:在华为云控制台,鼠标悬停在右上角的用户名,选择下拉列表中的“统一身份认证”,在左侧导航栏单击“委托”,在委托列表查看。 表2 权限说明 接入资源 服务 所需权限策略类型 所需权限 网络 弹性网络服务(ENS) 系统策略 VPC Administrator 网络管理员 VPCEndpoint Administrator VPC终端节点 服务使您可以将VPC私密的连接到支持的服务 ELB FullAccess 弹性负载均衡服务所有权限 CES Administrator 云监控服务 管理员 NAT FullAccess AT网关服务所有权限 Tenant Guest 云服务只读权限(除IAM权限) NAT Administrator NAT网关服务管理员 ELB ReadOnlyAccess 弹性负载均衡服务只读权限 ELB Administrator 弹性负载均衡服务ELB管理员 虚拟机 主机管理服务(VMS) 自定义策略 策略内容如下所示: { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "bms:*:*", "deh:*:*", "ecs:*:*", "evs:*:*", "ims:*:*", "cce:*:*", "mrs:*:*", "bss:*:*", "vpc:*:*" ] } ] } CCE集群 弹性资源服务(ERS) 系统策略 CCE Administrator CCE集群及集群下所有资源的读写权限 SFS Administrator 弹性文件服务的操作权限 APM FullAccess 应用性能管理 服务的所有执行权限 OBS Administrator 对象存储服务 管理员 SWR Admin 容器镜像服务 的管理员权限 ELB Administrator 弹性负载均衡服务管理员 Server Administrator 服务器管理员 Tenant Guest 云服务只读权限(除IAM权限) 数据库 数据库治理(WiseDBA) 系统策略 不同数据库类型所需权限不同,具有如下: RDS(for MySQL) RDS FullAccess 关系型数据库服务所有权限 GeminiDB Cassandra GeminiDB FullAccess 分布式多模NoSQL数据库服务所有权限 GaussDB (for openGauss)/GaussDB(for MySQL) GaussDB FullAccess 云数据库GaussDB服务的所有执行权限 必选权限,无论使用哪种数据库,在数据库接入时都需要以下权限: DRS FullAccess 数据复制服务 所有权限 VPC ReadOnlyAccess 虚拟私有云的只读权限 CES告警 资源管理( RMS ) 自定义策略 策略内容如下所示: { "Statement": [ { "Action": [ "rms:resources:list", "rms:resources:get" ], "Effect": "Allow" } ], "Version": "1.1" } 单击“确定”。
  • 功能说明 Filebeat是一个轻量级的采集器,用于采集和处理,转发日志数据。Filebeat将作为代理安装在您的服务器上,监控您指定的日志文件或位置,收集日志事件,并将它们转发到kafka,推送到下一个处理点。 processors是filebeat定义了一系列对单条日志操作的方法,目前支持三类操作: 减少导出字段的数量 使用附加元数据增加字段 执行额外的处理或解码 每个processor接受一个事件(单条日志),将用户定义的操作应用于该事件并返回。如果您定义了一个处理器列表,它们将按照在filebeat配置文件中定义的顺序执行。任何一个算子执行失败,都会直接终止执行链条,并将异常事件发送到fail_to_topic,异常信息会记录在事件中的@errMsg中。
  • 算子组合使用样例 日志样例 2022-11-15 19:51:43.735 [20221115T115143]|AI||system|system|inner_ip|ADD|LogRecord|AIOperationLog(id=12d6ffbd-f371-4222-aa69-167bcd7ba3ee, serviceId=null, identityId=1111111111111, userId=test, timestamp=2022-11-15 19:51:43.67, operationType=WELINK_TRIGGER)||Y - serviceId:null 算子功能 对于非json格式的如何转化成json直接解析拿到key、value。例如id=12d6ffbd-f371-4222-aa69-167bcd7ba3ee, serviceId=null, identityId=1111111111111, userId=test, timestamp=2022-11-15 19:51:43.67, operationType=WELINK_TRIGGER。 算子脚本 - dissect: tokenizer: '%{time}|%{thread}|%{logVersion}|%{uid}|%{sign}|%{traceId}|%{cc}|%{operationLog}|%{bb}|%{aa}' field: "message" target_prefix: "" trim_values: "none" ignore_failure: true - replace: fail_on_error: false ignore_missing: true fields: - {field: "bb",pattern: 'AIOperationLog\(',replacement: "{\""} - {field: "bb",pattern: '\)',replacement: "\"}"} - {field: "bb",pattern: ' ,',replacement:"\""} - if: contains: "operationLog": "LogRecord" then: - replace: fail_on_error: false ignore_missing: true fields: - {field: "bb",pattern: '=',replacement: "\":\""} - {field: "bb",pattern: ' ',replacement:""} - {field: "bb",pattern: '\,',replacement: "\",\""} - decode_json: ignore_missing: true ignore_failure: true fields: - field: "bb" filters: - {target_field: "id",type: "string",filter_keys: ["id"]} - {target_field: "serviceId",type: "string",filter_keys: ["serviceId"]} - {target_field: "identityId",type: "string",filter_keys: ["identityId"]} - {target_field: "userId",type: "string",filter_keys: ["userId"]} - {target_field: "timestamp",type: "string",filter_keys: ["timestamp"]} - {target_field: "operationType",type: "string",filter_keys: ["operationType"]} - drop_fields: fields: ["time","thread","logVersion","uid","sign","traceId","cc","aa","bb"] ignore_missing: true - drop_event: when: not: equals: "operationLog": "LogRecord"
共100000条