云服务器内容精选

  • 功能说明 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"
  • 步骤四:创建任务 在“日志接入”页面,选择左侧导航栏的“任务管理”。 单击页面右上角的“新建任务”。 配置任务参数,如图1所示,参数说明如表5所示,配置完成后,单击“确定”。 图1 新建配置 表5 任务参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目。 任务名称 自定义任务名称。 任务类型 选择任务类型。 配置类型 选择日志采集配置类型。 配置列表 选择需要下发的配置。 用户名称 选择已规划并拥有日志读取权限的业务账号。 选择主机 选择需要下发配置的主机。 已选主机 显示已选主机。 在任务列表中查看已创建的任务,单击任务所在行“操作”列的“执行”,如图2所示。 图2 执行任务 执行完成后,状态为成功即表示日志配置内容已下发成功,即会按照配置将日志接入AppStage。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表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表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目。 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 填写实际日志路径,可使用通配符进行匹配。 说明: 接入容器日志需要根据通配符匹配完成。 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 如果采集路径是单个日志,则按照单个日志单台机器(pod)的TPS值填写,且按照高峰期计算。 如果采集路径配置了通配符,则将采集的日志TPS累加,累加计算高峰期单台机器(pod)的TPS,建议按近期业务增长预期填写。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 日志接入场景 表1 日志接入场景说明 场景 说明 日志接入方式 虚拟机日志 日志存储在虚拟机下的文件路径中。 虚拟机日志接入 容器hostPath日志 主机文件系统上的文件或目录挂载到容器上,使用主机文件系统存储容器日志。 容器日志接入 容器标准输出日志 标准输出是Kubernetes社区推荐的日志输出方式。 虚拟机日志接入同时开启软连接 容器共享存储日志 容器日志挂载在共享存储上。 容器归属的虚拟机没有挂载此共享存储,则无法采集对应的容器日志,需要将共享存储挂载在虚拟机上。 将共享存储挂载在虚拟机上,然后使用虚拟机日志接入方式