ELK之路第四步——整合!打通任督二脉

ELK之路第四步——整合!打通任督二脉

  • 前言
  • 1.架构
  • 2.下载资源
  • 3.整合开始
    • 1.分别启动三个es
    • 2.启动kibana
    • 3.新建filebeat_logstash.yml配置文件
    • 4.修改logstash的启动配置文件
    • 5.启动logstash
    • 6.启动filebeat
    • 7.Kibana查看
  • 4.结语

前言

在开始本篇之前,你需要用到如下知识和技术点:
ELK之路第一步——Elasticsearch集群的搭建以及踩坑记录
ELK之路第二步——可视化界面Kibana
ELK之路第三步——日志收集筛选logstash和filebeat
还是由于时间问题,本篇内容后面会作补充,例子都是引用的官方示例。

1.架构

在说架构之前,我们先回忆一下我们现在有什么

  1. 三台es集群,一主两从
  2. 主服务器上部署了Kibana
  3. 主服务器上部署了logstash
  4. 主服务器上部署了filebeat

这里简单说一下,为什么有了logstash的时候,还要引入filebeat,引入filebeat为何还要保留logstash:
  logstash是运行在jvm上的,它非常庞大和笨重,而filebeat是作者用go开发的轻量级的替代品,删除了部分功能。所以我们引入filebeat来代替logstash的收集读取功能,但是logstash有非常强大的日志筛选功能,我们需要用到它。

综上所述,我们的架构图如下:
在这里插入图片描述
通过filebeat读取各种文件的类容,传输到logstash,logstash作了解析和筛选之后再发送到ES上面,然后通过Kibana可视化管理ES的数据。

2.下载资源

要引用官方的示例,我们需要两个资源:第一个是模拟日志数据weblog-sample.log,第二个是数据模版apache_template.json
第一个官网下载地址:https://github.com/liu-xiao-guo/beats-getstarted
第二个官网下载地址:https://github.com/elastic/examples/blob/master/Common%20Data%20Formats/apache_logs/logstash/apache_template.json
当然,不想搭梯子的也可以去我的资源中,免费下载,我已经上传。

3.整合开始

1.分别启动三个es

cd到es的解压目录

bin/elasticsearch -d

2.启动kibana

cd到kibana的解压目录

nohup ./bin/kibana &

3.新建filebeat_logstash.yml配置文件

里面的path,填上我们实际的weblog-sample.log文件所在的path,注意这里要用绝对路径,不要用相对路径

filebeat.inputs:
- type: logenabled: truepaths:- /usr/local/logstash/logstash-7.3.0/weblog-sample.logoutput.logstash:hosts: ["localhost:9900"]

4.修改logstash的启动配置文件

相较于前面文章,修改的点如下:

  • 修改logstash的input为beats
  • 修改useragent 里面的source为user_agent
  • 修改output,新增index,并且指定模板为前面下载的apache_template.json
input {beats {port => "9900"}
}filter {grok {match => { "message" => "%{COMBINEDAPACHELOG}" }}mutate {convert => {"bytes" => "integer"}}geoip {source => "clientip"}useragent {source => "user_agent"target => "useragent"}date {match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]}}output {stdout {codec => dots {}}elasticsearch {hosts => ["localhost:9200"]user => "elastic"password => "elastic"index => "apache_elastic_example"template => "/usr/local/filebeat/filebeat-7.3.0-linux-x86_64/apache_template.json"template_name => "apache_elastic_example"template_overwrite => true}
}

5.启动logstash

bin/logstash -f logstash.conf

6.启动filebeat

bin/filebeat -e -c filebeat_logstash.yml

启动filebeat后,就可以看到控制台打印,已经开始读取数据了
在这里插入图片描述

7.Kibana查看

输入如下命令,查看索引

GET _cat/indices

在这里插入图片描述
可以看到,es中已经收集了weblog-sample.log中模拟的30万条数据。

4.结语

elk这系列的文章是比较潦草和急的,因为时间有限被中断了,我只能介绍出大致的用法,但是没有详细深入,后面有时间一定会把内容补上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/58746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[JAVAEE] 多线程的案例(四) - 定时器

目录 一. 什么是定时器? 二. java中的定时器类 三. 定时器的简单使用. 四. 模拟实现定时器 4.1 实现 MyTimerTask 4.2 实现 MyTimer 一. 什么是定时器? 定时器相当于闹钟, 时间到了就执行一些逻辑. 二. java中的定时器类 使用Timer类实例化一个定时器对象. Timer类中的…

江协科技STM32学习- P21 ADC模数转换器

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

OpenAI放弃自制AI芯片!伦敦场开发者日Hugging Face工程师现场“拷问”Sam Altman

OpenAI 2024年开发者大会第二场(伦敦场)刚结束。 10月初在旧金山举办了第一场 OpenAI 开发者大会,但这次没有像上一场放出很多花活,这次开始走剧透局了! 现场的OpenAI 产品主管 曝光了 GPT o1即将更新的功能&#xf…

浅谈网络安全

​ 大家好,我是程序员小羊! 前言: 网络安全是确保信息系统、网络及数据免受未授权访问、使用、披露、篡改或破坏的重要领域。随着数字化进程的加速和互联网的普及,网络安全的重要性显著提升。今天,网络威胁呈现出多样化…

在面试了些外包以后,我有了些自己的思考

大家好,我是洋子,最近公司在降本增效,需要把外包从北京迁移到陕西的某新一线城市,其实就是变相裁员,减少外包的成本,裁掉现有的员工,重新招聘新人 在整个测试行业,外包测试的比重是…

文心一言 VS 讯飞星火 VS chatgpt (381)-- 算法导论24.5 1题

一、给出图24-2的与图中两棵最短路径树不同的另外两棵最短路径树。如果要写代码,请用go语言。 文心一言: 在图论中,最短路径树(Shortest Path Tree, SPT)是一种从单个源点到所有其他节点的最短路径形成的树。给定一个…

Vscode配置CC++编程环境的使用体验优化和补充说明

文章目录 快速编译运行👺code runner插件方案Code Runner Configuration 直接配置 相关指令和快捷键默认task配置和取消默认 配置文件补充介绍(可选 推荐阅读)😊使用vscode预置变量和环境变量环境变量的使用使用环境变量的好处环境变量可能引起的问题 检…

Canvas简历编辑器-选中绘制与拖拽多选交互设计

Canvas简历编辑器-选中绘制与拖拽多选交互设计 在之前我们聊了聊如何基于Canvas与基本事件组合实现了轻量级DOM,并且在此基础上实现了如何进行管理事件以及多层级渲染的能力设计。那么此时我们就依然在轻量级DOM的基础上,关注于实现选中绘制与拖拽多选交…

iQOO手机怎样将屏幕投射到MacBook?可以同步音频吗?

众所周知,苹果品牌的设备自己有AirPlay的投屏功能,iPhone要投屏到MacBook只要连接同一网络,然后开启AirPlay就可以投屏。但其他品牌的手机没有AirPlay,怎么将手机屏幕投射到MacBook呢? 安卓系统的手机可以使用无线投屏…

机器人和智能的进化速度远超预期-ROS-AI-

危机 通常,有危险也有机遇才称之为危机。 从2020年启动转型自救,到2021年发现危险迫在眉睫,直到2024年也没有找到自己满意的出路。 共识 中产阶级知识分子共有的特性和一致的推断。 200年前的推断,在如今得到了验证。 机器人…

Idea、VS Code 如何安装Fitten Code插件使用

博主主页:【南鸢1.0】 本文专栏:JAVA 目录 ​编辑 简介 所用工具 1、Idea如何安装插件 1.idea下载插件 2.需要从外部下载然后在安装, 2、VS Code如何安装插件 总结 简介 Fitten Code是由非十大模型驱动的AI编程助手,它可以自动生成代…

助力抑郁症初筛!上海交大团队构建Agent心理诊所,论文一作在线展示demo,分享技术亮点

「我有动手打她,甚至好几次掐着她脖子把她按到墙角。每次动完手,我都会后悔,我为什么要动手,我为什么控制不住自己,我是不是就是一个混蛋、一个疯子、一个十恶不赦的人,但我真的不知道该怎么办。」这是 18 …

【优选算法篇】前缀之美,后缀之韵:于数列深处追寻算法的动与静

文章目录 C 前缀和详解:进阶题解与思维分析前言第二章:前缀和进阶应用2.1 和为 k 的子数组(medium)解法一(前缀和 哈希表)示例分析C代码实现易错点提示代码解读 2.2 和可被 K 整除的子数组(med…

「Mac畅玩鸿蒙与硬件14」鸿蒙UI组件篇4 - Toggle 和 Checkbox 组件

在鸿蒙开发中,Toggle 和 Checkbox 是常用的交互组件,分别用于实现开关切换和多项选择。Toggle 提供多种类型以适应不同场景,而 Checkbox 支持自定义样式及事件回调。本篇将详细介绍这两个组件的基本用法,并通过实战展示它们的组合应用。 关键词 Toggle 组件Checkbox 组件开…

Unity计算二维向量夹角余弦值和正弦值的优化方法参考

如果不考虑优化问题,计算两个向量的余弦值或者正弦值可以直接使用类似的方法: [SerializeField] Vector2 v1, v2;void Start() {float valCos Mathf.Acos(Vector2.SignedAngle(v1, v2));float valSin Mathf.Asin(Vector2.SignedAngle(v1, v2)); } 但是…

编写一个README.md

一、README 在下载github上的代码的时候,通常会有一个README.md文件让你了解该仓库的做了什么,他如何安装等内容。写好README.md是和他人交流的重要环节。 二、README.md的语法逻辑 a、预览模式 在Vscode中编辑README.md的时候可以打开预览模式&#xf…

Android简单控件实现简易计算器

学了一些Android的简单控件,用这些布局和控件,设计并实现一个简单计算器。 计算器的界面分为两大部分,第一部分是上方的计算表达式,既包括用户的按键输入,也包括计算结果 数字;第二部分是下方的各个按键&a…

内容安全与系统构建加速,助力解决生成式AI时代的双重挑战

内容安全与系统构建加速,助力解决生成式AI时代的双重挑战 0. 前言1. PRCV 20241.1 大会简介1.2 生成式 Al 时代的内容安全与系统构建加速 2. 生成式 AI2.1 生成模型2.2 生成模型与判别模型的区别2.3 生成模型的发展 3. GAI 内容安全3.1 GAI 时代内容安全挑战3.2 图像…

ZeroNL2SQL:零样本 NL2SQL

发布于:2024 年 10 月 30 日 星期三 #RAG #NL2SQL # Zero-Shot 自然语言到 SQL(NL2SQL)的转换是一个重要的研究领域,它允许非技术用户轻松访问和分析数据,在商业智能、数据分析等领域具有广泛的应用前景。然而&#x…

前端部署指南:手把手教你部署 Vue 项目

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue-部署项目 前言 嗨喽伙伴们大家好,我是依旧青山。作为一名前端开发工程师&#xff…