详情页标题前

阿里云日志服务SLS使用e_dict_map、e_search_dict_map函数进行数据富化-云淘科技

详情页1

本文介绍使用映射富化函数e_dict_map、e_search_dict_map进行数据富化的实践案例。

背景信息

日志服务数据加工映射富化函数包括普通映射函数和搜索映射函数,两者区别如下所示:

  • 普通映射函数使用文本完全匹配方式来映射。普通映射函数包括e_dict_map函数和e_table_map函数,两者区别在于e_dict_map函数接收的是dict类型的数据,e_table_map函数接收的是通过资源函数获取的table类型的数据。
    例如:在nginx日志中,将特定的状态码转换为文本格式,可以使用普通映射函数e_dict_map。

    状态码 文本
    200 成功
    300 跳转
    400 请求错误
    500 服务器错误
  • 搜索映射函数的映射关键字是查询字符串,支持正则表达式匹配、完全匹配、模糊匹配等形式。搜索映射函数包括e_search_dict_map函数和e_search_table_map函数,两者区别在于e_search_dict_map函数接收的是dict类型的数据,而e_search_table_map函数接收的是通过资源函数获取的table类型的数据。
    例如:在nginx日志中,将一定范围内的状态码转换为文本格式,可以使用搜索映射函数e_search_dict_map。

    状态码 文本
    2XX 成功
    3XX 跳转
    4XX 请求错误
    5XX 服务器错误

使用e_dict_map函数进行数据富化

本案例介绍使用e_dict_map函数完成数据富化的方法。

  • 原始日志
    http_host:  example.com
    http_status:  300
    request_method:  GET
    
    http_host:  example.org
    http_status:  200
    request_method:  POST
    
    http_host:  example.net
    http_status:  400
    request_method:  GET
    
    http_host:  aliyundoc.com
    http_status:  500
    request_method:  GET
  • 加工需求

    http_status字段中的请求状态码转化为文本格式,并添加到status_desc字段中。

  • 加工规则
    e_dict_map({"400": "请求错误", "500": "服务器错误", "300": "跳转", "200": "成功"}, "http_status", "status_desc")


    说明 在实际情况中,HTTP请求状态码不止以上4种,详情请参见HTTP请求状态码。当http_status字段的值为401、404时,需要更新字典覆盖,否则无法匹配。

  • 加工结果
    http_host:  example.com
    http_status:  300
    request_method:  GET
    status_desc: 跳转
    
    http_host:  example.org
    http_status:  200
    request_method:  POST
    status_desc: 成功
    
    http_host:  example.net
    http_status:  400
    request_method:  GET
    status_desc: 请求错误
    
    http_host:  aliyundoc.com
    http_status:  500
    request_method:  GET
    status_desc: 服务器错误

使用e_search_dict_map函数进行数据富化

本案例介绍使用e_search_dict_map函数完成数据富化的方法。

  • 原始日志
    http_host:  example.com
    http_status:  200
    request_method:  GET
    body_bytes_sent: 740
    
    http_host:  example.org
    http_status:  200
    request_method:  POST
    body_bytes_sent: 1123
    
    http_host:  example.net
    http_status:  404
    request_method:  GET
    body_bytes_sent: 711
    
    http_host:  aliyundoc.com
    http_status:  504
    request_method:  GET
    body_bytes_sent: 1822
  • 加工需求
    根据日志中的http_status字段和body_bytes_sent字段的值的不同,为每条日志添加不同的type信息。

    • 为http_status为2XX且body_bytes_sent长度小于1000的日志,添加type字段,并将字段值设置为正常。
    • 为http_status为2XX且body_bytes_sent长度大于等于1000的日志,添加type字段,并将字段值设置为过长警告。
    • 为http_status为3XX的日志,添加type字段,并将字段值设置为重定向。
    • 为http_status为4XX的日志,添加type字段,并将字段值设置为错误。
    • 为其余所有日志,添加type字段,并将字段值设置为其他。
  • 加工规则
    e_search_dict_map({'http_status~="2\d+" and body_bytes_sent = 1000': "过长警告", 'http_status~="3\d+"': "重定向", 'http_status~="4\d+"': "错误",  "*": "其他"}, "http_status", "type")

    基于字典的富化,除了可以使用大括号({})直接构建字典外,还可以基于任务配置资源、外部OSS资源、表格资源等来构建字典,详情请参见字典构建。

  • 加工结果
    type: 正常
    http_host:  example.com
    http_status:  200
    request_method:  GET
    body_bytes_sent: 740
    
    type: 过长警告
    http_host:  example.org
    http_status:  200
    request_method:  POST
    body_bytes_sent: 1123
    
    type: 错误
    http_host:  example.net
    http_status:  404
    request_method:  GET
    body_bytes_sent: 711
    
    type: 其他
    http_host:  aliyundoc.com
    http_status:  504
    request_method:  GET
    body_bytes_sent: 1822

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/163514.html

(0)
上一篇 2023年12月10日 上午5:25
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云容器服务ACK调用方式-云淘科技

    容器服务Kubernetes版API接口的调用是向容器服务的服务端地址发送HTTP请求,并按照接口说明在请求中加入相应请求参数,调用后系统会返回处理结果。请求及返回结果都使用UTF-8字符集进行编码。 服务地址 容器服务Kubernetes版的API接入地址为cs.aliyuncs.com。 通信协议 支持通过HTTP或HTTPS协议进行请求通信。为了获得更…

    阿里云容器服务 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxCompute不兼容SQL重写-云淘科技

    本文为您介绍如何修改不兼容SQL。 背景信息 MaxCompute 2.0完全拥抱开源生态,支持更多的语言功能,拥有更快的运行速度。但是MaxCompute 2.0会执行更严格的语法检测,一些在旧版本编译器下正常执行的不严谨的语法在MaxCompute 2.0下执行会报错。 group.by.with.star 说明:即select * …group by……

  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS配置Ingress日志中心-云淘科技

    本文介绍如何开通Ingress访问日志中心,将Ingress日志实时采集到日志服务中并进行可视化分析。 前提条件 已安装日志组件。具体操作,请参见安装Logtail日志组件。 默认情况下,在创建Kubernetes集群时自动安装日志组件。 步骤1:部署Ingress采集配置 日志服务采集配置针对Kubernetes进行了CRD扩展,alibaba-log-c…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS数学统计函数-云淘科技

    本文介绍数学统计函数的基础语法及示例。 日志服务支持如下数学统计函数。 重要 在日志服务分析语句中,表示字符串的字符必须使用单引号(”)包裹,无符号包裹或被双引号(””)包裹的字符表示字段名或列名。例如:’status’表示字符串status,status或”status”表…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS内容模板变量-云淘科技

    日志服务按照内容模板中定义的内容给您发送告警内容。本视频介绍内容模板的基本信息和相关操作。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。