带你读《Elastic Stack 实战手册》之80:——4.2.6.运用Elastic Stack分析COVID-19数据(2)

简介: 带你读《Elastic Stack 实战手册》之80:——4.2.6.运用Elastic Stack分析COVID-19数据(2)

《Elastic Stack 实战手册》——四、应用实践——4.2 可观测性应用场景 ——4.2.6.运用Elastic Stack分析COVID-19数据(1) https://developer.aliyun.com/article/1225617


配置 Filebeat 及导入数据到 Elasticsearch

 

为了能够把我们的数据导入到 Elasticsearch 中,我们可以采用 Filebeat。为此,我们必须来配置 Filebeat。我们首先来创建一个定制的 filebeat_covid19.yml 配置文件,并把这个文件存于和我们上面的 covid19.csv 同一个目录中:

 

filebeat_covid19.yml


filebeat.inputs:
- type: log
  paths:
    - /Users/liuxg/data/covid19/covid19.csv
  exclude_lines: ['^Lat']
output.elasticsearch:
  hosts: ["http://localhost:9200"]
  index: covid19
  setup.ilm.enabled: false
setup.template.name: covid19
setup.template.pattern: covid19

 在上面我们定义了一个 type 为 log 的 filebeat.inputs。我们定了我们的 log 的路径。你需要根据自己的实际路径来修改上面的路径。

 

我们定义了数据的 index 为 covid19 的索引。值得注意的是,由于 csv 文件的第一行是数据的 header,我们需要去掉这一行。为此,我们采用了 exclude_lines: ['^Lat'] 来去掉第一行。

等我们定义好上面的配置后,我们运行如下的命令:

 

./filebeat -e -c ~/data/covid19/filebeat_covid19.yml

上面的命令将把我们的数据导入到 Elasticsearch 中。

 

Filebeat 的 registry 文件存储 Filebeat 用于跟踪上次读取位置的状态和位置信息。如果由于某种原因,我们想重复对这个 csv 文件的处理,我们可以删除如下的目录:

 

· data/registry 针对 .tar.gz and .tgz 归档文件安装

· /var/lib/filebeat/registry 针对 DEB 及 RPM 安装包

· c:\ProgramData\filebeat\registry 针对 Windows zip 文件

 

如果上面的命令成功后,我们可以在 Kibana 中查看新生产的 covid19 索引:


image.png



如果可以对数据进行查询:


GET covid19/_search

image.png


在上面,它显示了 message 字段。

 

显然这个数据是最原始的数据,它并不能让我们很方便地对这个数据进行分析。那么我们该如何处理呢?我们可以通过 Elasticsearch 的 ingest node 提供的强大的 processors 来帮我们处理这个数据。

 

利用 Processors 来加工数据

 

去掉无用的字段


在我们的文档里,我们可以看到有很多我们并不想要的字段,比如 ecs, host,log 等等。我们想把这些字段去掉,那么我们该如何做呢?我们可以通过定义一 个 pipleline 来帮我们处理。为此,我们定义一个如下的 pipeline:


PUT _ingest/pipeline/covid19_parser
{
  "processors": [
    {
      "remove": {
       "field": ["log", "input", "ecs", "host", "agent"],
       "if": "ctx.log != null && ctx.input != null && ctx.ecs != null && ctx.host != n
       ull && ctx.agent != null"
      }
    }
  ]
}

上面的 pipeline 定义了一个叫做 remove 的 processor。它检查 log,input, ecs, host 及 agent 都不为空的情况下,删除字段 log, input,ecs, host 及 agent。我们在 Kibana 中执行上面的命令。

 

为了能够使得我们的 pipleline 起作用,我们通过如下指令来执行:


POST covid19/_update_by_query?pipeline=covid19_parser

当我们执行完上面的指令后,我们重新查看我们的文档:


image.png


在上面我们可以看出来,所有的我们不想要的字段都已经被去掉了

 

替换引号

 

我们可以看到导入的 message 数据为:

 

"""37.1232245,-78.4927721,"Virginia, US",Virginia,",",US,221,0,0"""

显然,这里的数据有很多的引号"字符,我们想把这些字符替换为符号'。为此,我们需要 gsubprocessors 来帮我们处理。我重新修改我们的 pipeline


PUT _ingest/pipeline/covid19_parser
{
  "processors": [
    {
      "remove": {
        "field": ["log", "input", "ecs", "host", "agent"],
        "if": "ctx.log != null && ctx.input != null && ctx.ecs != null && ctx.host !
        = null && ctx.agent ! = null"
         }
    },
    {
      "gsub": {
        "field": "message",
        "pattern": "\"",
        "replacement": "'"
      }
    }    
  ]
}

在 Kibana 中运行上面的指令,并同时执行:

POST covid19/_update_by_query?pipeline=covid19_parser

经过上面的 pipeline 的处理后,我们重新来查看我们的文档:


image.png

从上面的显示中,我们也看出来我们已经成功都去掉了引号。我们的 message 的信息如下:

"37.1232245,-78.4927721,'Virginia, US',Virginia,',',US,221,0,0"


《Elastic Stack 实战手册》——四、应用实践——4.2 可观测性应用场景 ——4.2.6.运用Elastic Stack分析COVID-19数据(3) https://developer.aliyun.com/article/1225615



相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
19天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
31946 115
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
8天前
|
应用服务中间件 API 网络安全
3分钟汉化OpenClaw,使用Docker快速部署启动OpenClaw(Clawdbot)教程
2026年全新推出的OpenClaw汉化版,是基于Claude API开发的智能对话系统本土化优化版本,解决了原版英文界面的使用壁垒,实现了界面、文档、指令的全中文适配。该版本采用Docker容器化部署方案,开箱即用,支持Linux、macOS、Windows全平台运行,适配个人、企业、生产等多种使用场景,同时具备灵活的配置选项和强大的扩展能力。本文将从项目简介、部署前准备、快速部署、详细配置、问题排查、监控维护等方面,提供完整的部署与使用指南,文中包含实操代码命令,确保不同技术水平的用户都能快速落地使用。
4678 4
|
14天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6707 18
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
13天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4714 11
|
15天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5633 20
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
15天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
6181 5
|
11天前
|
人工智能 JavaScript 安全
Claude Code 安装指南
Claude Code 是 Anthropic 推出的本地 AI 编程助手,支持 Mac/Linux/WSL/Windows 多平台一键安装(Shell/PowerShell/Homebrew/NPM),提供 CLI 交互、代码生成、审查、Git 提交等能力,并内置丰富斜杠命令与自动更新机制。
4116 0
|
17天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7739 17

热门文章

最新文章