c 网站开发构想,工信部企业网站认证,苏州建设网站服务,北京市建设网作者#xff1a;David Pilato 我们在之前的文章中已经了解了如何丰富 Elasticsearch 本身和 Logstash 中的数据。 但如果我们可以从边缘设备中做到这一点呢#xff1f; 这将减少 Elasticsearch 要做的工作。 让我们看看如何从具有代理处理器的 Elastic 代理中执行此操作。
E…作者David Pilato 我们在之前的文章中已经了解了如何丰富 Elasticsearch 本身和 Logstash 中的数据。 但如果我们可以从边缘设备中做到这一点呢 这将减少 Elasticsearch 要做的工作。 让我们看看如何从具有代理处理器的 Elastic 代理中执行此操作。
Elastic Agent 代理文档说
Elastic Agent 处理器是轻量级处理组件可用于解析、过滤、转换和丰富源数据。 例如你可以使用处理器来
减少导出字段的数量使用附加元数据增强事件执行额外的处理和解码清理数据
这正是我们想要做的但 Elastic Agent 处理器的限制之一是它无法使用来自 Elasticsearch 或其他自定义数据源的数据来丰富事件。
这意味着我们需要在这里保持非常静态。 我们需要提前知道我们想要用什么来丰富我们的数据。 这不是什么大问题因为我们随时可以更改代理的配置以在以后添加新的功能。 例如我们可以将采集管道添加到 Elasticsearch 中或者将数据从 Elastic Agent 发送到 Logstash 来丰富它。 启动 Elastic 代理
从 Elastic Cloud 运行时你只需按照说明 enroll 代理或转到 Fleet 控制台并从 “Settings” 选项卡获取 URL 以及 Enrollment tokens选项卡中的秘密 TOKEN 由于我想使用 Docker 在本地运行代理因此我将使用以下命令并将 URL 和 TOKEN 值替换为我的 Fleet 控制台中的值
docker run \--env FLEET_ENROLL1 \--env FLEET_URLURL \--env FLEET_ENROLLMENT_TOKENTOKEN \-v $(pwd)/datadir:/usr/share/elastic-agent/db \--rm docker.elastic.co/beats/elastic-agent:8.12.0
请注意我将本地目录安装到 /usr/share/elastic-agent/db 以便我可以在本文后面共享一些内容。 几秒钟后你应该在 Fleet 控制台中看到你的代理可用 添加字段
我们可以使用 add_fields 处理器向文档添加字段。 例如我们可以在文档中添加 vip 和 name 字段
processors:- add_fields:fields:vip: truename: David P 使用条件
前面的示例将向每个文档添加 vip 和 name 字段。 显然我们只想在满足条件时添加字段。 例如只有当 clientip 字段为 30.156.16.164 时我们才能添加 vip 和 name 字段
processors:- add_fields:when:equals:clientip: 30.156.16.164fields: vip: truename: David P
由于这里有一个网络 IP 地址因此我们还可以使用 CIDR 表示法它不比较 “字符串”而是比较 “网络地址”。 我们正在使用网络处理器条件
processors:- add_fields:when:network:clientip: 30.156.16.164fields:vip: truename: David P 使用更多条件
由于我们的条件数量有限我们可以使用多个 add_fields 处理器根据条件添加字段
processors:- add_fields:when:network:clientip: 30.156.16.164fields:vip: truename: David P- add_fields:when:network:clientip: 164.85.94.243fields:vip: truename: Philipp K 使用脚本添加字段
我们还可以使用 script processor 来使用 JavaScript 添加字段。 例如我们可以根据 clientip 字段的值添加 vip 字段
processors:- script:lang: javascriptsource: function process(event) {var clientip event.Get(network.clientip);if (clientip 30.156.16.164) {event.Put(vip, true);event.Put(name, David P);}}
这里我们内联了脚本但我们也可以使用包含脚本的文件
processors:- script:lang: javascriptfile: /usr/share/elastic-agent/db/enrich.js
而 enrich.js 的内容是
function process(event) {var clientip event.Get(network.clientip);if (clientip 30.156.16.164) {event.Put(vip, true);event.Put(name, David P);}
}
还有另一个有趣的选项允许我们从一个目录加载多个脚本
processors:- script:lang: javascriptfiles:- /usr/share/elastic-agent/db/dataset.js- /usr/share/elastic-agent/db/enrich.js
我们可以在 dataset.js 中构建 IP 地址和名称之间的映射
var dataset {30.156.16.164: {vip: true, name: David P},164.85.94.243: {vip: true, name: Philipp K },50.184.59.162: {vip: true, name: Adrienne V },236.212.255.77: {vip: true, name: Carly R },16.241.165.21: {vip: true, name: Naoise R },246.106.125.113: {vip: true, name: Iulia F },81.194.200.150: {vip: true, name: Jelena Z },111.237.144.54: {vip: true, name: Matt R }
}
我们现在可以修改 enrich.js 脚本以使用此数据集
function process(event) {var clientip event.Get(network.clientip);if (dataset[clientip]) {event.Put(vip, dataset[clientip].vip);event.Put(name, dataset[clientip].name);}
} 结论
我们现在拥有一组三个解决方案来丰富我们的数据
丰富 Elasticsearch 本身的数据加快 Logstash 中的 Elasticsearch 查找速度使用代理处理器丰富边缘数据
第一个解决方案是最灵活的但它需要一个具有足够资源的集群来处理负载。 第二种解决方案是一个很好的折衷方案因为它允许你减少 Elasticsearch 的负载但它要求你拥有 Logstash 集群。 第三种解决方案是最容易实现的解决方案但也是最静态的解决方案。
我希望你喜欢这一系列的帖子。 如果你有任何疑问请随时在 Elastic 社区论坛上提问。 文章转载自: http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.dtfgr.cn.gov.cn.dtfgr.cn http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn http://www.morning.0small.cn.gov.cn.0small.cn http://www.morning.rnlx.cn.gov.cn.rnlx.cn http://www.morning.flfxb.cn.gov.cn.flfxb.cn http://www.morning.brmbm.cn.gov.cn.brmbm.cn http://www.morning.fkflc.cn.gov.cn.fkflc.cn http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn http://www.morning.yxshp.cn.gov.cn.yxshp.cn http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn http://www.morning.crkmm.cn.gov.cn.crkmm.cn http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn http://www.morning.zlhzd.cn.gov.cn.zlhzd.cn http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn http://www.morning.chjnb.cn.gov.cn.chjnb.cn http://www.morning.pjwml.cn.gov.cn.pjwml.cn http://www.morning.lgmty.cn.gov.cn.lgmty.cn http://www.morning.lpzyq.cn.gov.cn.lpzyq.cn http://www.morning.jppb.cn.gov.cn.jppb.cn http://www.morning.gcftl.cn.gov.cn.gcftl.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.lqynj.cn.gov.cn.lqynj.cn http://www.morning.mtqqx.cn.gov.cn.mtqqx.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.rnnq.cn.gov.cn.rnnq.cn http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.bgbnc.cn.gov.cn.bgbnc.cn http://www.morning.kyzja.com.gov.cn.kyzja.com http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn http://www.morning.gwqq.cn.gov.cn.gwqq.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.xgcwm.cn.gov.cn.xgcwm.cn http://www.morning.wptdg.cn.gov.cn.wptdg.cn http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn http://www.morning.bykqg.cn.gov.cn.bykqg.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.blxor.com.gov.cn.blxor.com http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn http://www.morning.lgsqy.cn.gov.cn.lgsqy.cn http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn http://www.morning.rdxp.cn.gov.cn.rdxp.cn http://www.morning.llfwg.cn.gov.cn.llfwg.cn http://www.morning.txlnd.cn.gov.cn.txlnd.cn http://www.morning.gwtbn.cn.gov.cn.gwtbn.cn http://www.morning.yhywr.cn.gov.cn.yhywr.cn http://www.morning.brqjs.cn.gov.cn.brqjs.cn http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn http://www.morning.bmpjp.cn.gov.cn.bmpjp.cn http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn http://www.morning.xywfz.cn.gov.cn.xywfz.cn http://www.morning.ysckr.cn.gov.cn.ysckr.cn http://www.morning.pcshb.cn.gov.cn.pcshb.cn http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn http://www.morning.wflsk.cn.gov.cn.wflsk.cn http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn http://www.morning.bhdyr.cn.gov.cn.bhdyr.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.gfznl.cn.gov.cn.gfznl.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.yxshp.cn.gov.cn.yxshp.cn http://www.morning.nspbj.cn.gov.cn.nspbj.cn http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.fplqh.cn.gov.cn.fplqh.cn http://www.morning.rszyf.cn.gov.cn.rszyf.cn http://www.morning.twdwy.cn.gov.cn.twdwy.cn http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn http://www.morning.nhdw.cn.gov.cn.nhdw.cn http://www.morning.zmpsl.cn.gov.cn.zmpsl.cn