1. ELKB

摘抄 Beats 入门教程 (一)

在集中式日志记录中,数据管道包括三个主要阶段:聚合,处理和存储。 在 ELK 堆栈中,传统上,前两个阶段是堆栈工作量 Logstash 的职责。执行这些任务需要付出一定的代价。 由于与 Logstash 的设计有关的内在问题,性能问题变得经常发生,尤其是在复杂的管道需要大量处理的情况下。将 Logstash 的部分职责外包的想法也应运而生,尤其是将数据提取任务转移到其他工具上。 正如我在本文中所描述的,这个想法首先在 Lumberjack 中体现出来,然后在 Logstash 转发器中体现出来。 最终,在随后的几个开发周期中,引入了新的改进协议,该协议成为现在所谓的 “Beats” 家族的骨干。

1.1 开放5044端口

firewall-cmd --query-port=5044/tcp
firewall-cmd --zone=public --add-port=5044/tcp --permanent
firewall-cmd --reload

1.2 修改 logstash.yml

cd /usr/local/src/logstash-8.5.0/config
vi logstash.yml
i

133 === 修改任何主机都可以连接

api.http.host: 0.0.0.0

1.3 修改 logstash.conf

cd /usr/local/src/logstash-8.5.0/
vi logstash.conf
i

input内容

input {beats {port => 5044}
}
Esc
:wq

1.4 安装Beats,以Filebeat为例(新开一个窗口)

cd /usr/local/src/
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.5.0-linux-x86_64.tar.gz
tar xzvf filebeat-8.5.0-linux-x86_64.tar.gz
rm -rf filebeat-8.5.0-linux-x86_64.tar.gz
cd filebeat-8.5.0-linux-x86_64/
filebeat test output

默认的配置文件是当前目录下的 filebeat.yml ,默认输出到Elasticsearch

1.4.1 修改 filebeat.yml

vi filebeat.yml
:set nu
i

22 === 不修改,目前支持的类型,参考官网 input-types
25 === id也是唯一的

id: first-info

28 === 自动加载配置

enabled: true

32 === 文件位置,可以配置多个,再多粘贴几行即可

- /platform/first/first-info*.log

53 === 放开注释

54 === 放开注释,修改级别为info

level: info

55 === 添加自定义的字段到根位置,并筛选,具体缩进格式参见下面的error

fields_under_root: true

这样info配置就完成了,继续在56行后把error配置好,注意缩进格式

- type: filestreamid: first-errorenabled: truepaths:- /platform/first/first-error*.logfields: level: errorfields_under_root: true


记录 : 一开始并未发现fields的fields_under_root,但是对fields有思考,假如我的字段和elasticsearch的key重复了,他会怎么办?所以就去官网看了一下 : 如果自己定义的key和已有关键字重名,已自定义的为准(官网写的是覆盖)。这才发现fields_under_root字段,可以让自定义的字段提到root级别,还可以分类。所以如果只是定义了fields,并不加fields_under_root: true,level就无法分类,info和error都分不出来,看个毛日志

149 === 注释掉,不向elasticsearch输出(想直接输入到elasticsearch直接看 2. EBK)
151 === 主机也注释掉

162 === 放开注释,向logstash输出

164 === 放开注释,向端口5044输出

1.4.2 再次测试

filebeat test config
filebeat test output

1.5 启动filebeat

cd /usr/local/src/
chown -R esuser:esuser filebeat-8.5.0-linux-x86_64/
su esuser
cd filebeat-8.5.0-linux-x86_64/
filebeat -e -c /usr/local/src/filebeat-8.5.0-linux-x86_64/filebeat.yml

1.6 准备向first服务下的info和error中追加日志

echo "2022-10-02 00:00:00 [main] INFO AAAAA2-filebeat" >> first-info.1.log
echo "2022-10-02 00:00:00 [main] INFO BBBBB2-filebeat" >> first-info.1.log
echo "2022-10-02 23:59:59 [timeoutChecker_2_1] ERROR KKKKK2" >> first-error.1.log
echo "2022-10-02 23:59:59 [timeoutChecker_2_1] ERROR OOOOO2" >> first-error.1.log


如果过滤level,就可以分开info和error

2. EKB

如果只是收集日志,不需要filter,Beats算是很轻量级的了

2.1 点击左侧导航栏,点击集成,可以看到elk的很多集成

2.2 搜索 logstash,可以看到推荐的集成是 Filebeat 和 Metrics

2.3 点击 Filebeat 集成,可以看到 Filebeat 推荐直接输出到 elasticsearch和kibana

2.4 kill掉 logstash 和 filebeat

ps -ef | grep 'logstash'
ps -ef | grep 'filebeat'

2.5 修改 filebeat.yml,输出到 elasticsearch

cd /usr/local/src/filebeat-8.5.0-linux-x86_64
su esuser
vi filebeat.yml
:set nu
i

124 === 放开注释 (可以不修改内容,也可以写具体IP)

125 === 添加用户名

username: "elastic"

126 === 添加密码

password: "SCWfp0xcHkV2KubsE6jt"


151 === 放开注释,输出到elasticsearch

153 === 主机也放开注释 (可以不修改内容,也可以写具体IP)

hosts: ["192.168.109.160:9200"]

154 === 添加index(后面加上的,如果不添加index,默认是filebeat-%{agent.version}) 参考

index: "platform_%{+YYYY-MM-dd}"

157 === 放开注释,用https

161 === 放开注释,用户名,同上

162 === 放开注释,密码,同上

163 == 添加权限认证,注意缩进

ssl.ca_trusted_fingerprint: "e8004705bb5ae42f107dddc201732a657be0e8c4868ff733ff961f6f58d3380d"

值可以通过该命令获取,记得把:去掉,随便写个main函数replace下

openssl x509 -fingerprint -sha256 -in /usr/local/src/elasticsearch-8.5.0/config/certs/http_ca.crt


165 === 添加模板name

setup.template.name: "filebeat-elastic"

166 === 添加模板pattern

setup.template.pattern: "filebeat_*"

169 === 注释掉,不再向logstash输出

171 === 主机也注释掉

Esc
:wq

2.6 测试

filebeat test config
filebeat test output


如果 第一次启动时没有配置name和pattern 或 更换索引后只配置了新索引,没配置name和pattern 都会有此错误

Exiting: setup.template.name and setup.template.pattern have to be set if index name is modified
Error initializing beat: setup.template.name and setup.template.pattern have to be set if index name is modified

2.7 启动

filebeat -e -c /usr/local/src/filebeat-8.5.0-linux-x86_64/filebeat.yml

2.8 去kibana中创建视图查看日志




当然,也可以过滤 level 字段, 想要看info还是error

2.9 追加日志测试

echo "2022-10-03 00:00:00 [main] INFO BBBBB2-filebeat直接到elastic" >> first-info.1.log
echo "2022-10-03 23:59:59 [timeoutChecker_2_1] ERROR KKKKK2-直接到elastic" >> first-error.1.log

3. 个人感想

3.1 总体下来,一开始启动elasticsearch粘贴出来的文本是很重要的,几乎后面所有的操作都需要以此支撑,官网给到的打印真是可以

3.2 中文社区给到的文档,版本有些低了,尤其是入门教程,很多涉及到认证的几乎没说,但是搭建的时候,很多配置又都需要
3.3 中文社区给到的kibana的测试数据以及配套的文章,还是不错的,尤其是做跟着教程做的一些视图,感觉上只要你有数据,kibana就可以自动的识别数据,给你推荐好匹配的视图,图表化数据很给力
3.4 在做logstash和Beats的时候,明显感受到了大数据的影子,尤其是管道的设计,从一个流到另一个流,还有过滤操作等,就想到了电商的埋点。假如用户搜索了某个商品,前端会调用日志系统,传输一条 XXX在X年X月X日 搜索了 XXX商品,价格 XXX元,一条简单的用户画像就出来了;又或者用户购买了某个商品,同样也会有一条类似于 XXX在X年X月X日 购买了 XXX商品,价格 XXX元。这样,通过一点点用户的操作,慢慢的就简单做出了用户的用户画像,推荐系统就应该根据这些去比较精准的推荐他所需要的。他买了一张床,系统是不是可以给他推荐个床垫,或者四件套等,电商把握用户需求那可真不错,后面可以用在我的app上

第 21 篇 : ELKB EBK 架构相关推荐

  1. 华为最新「天才少年」:26岁年薪百万,博士四年21篇论文

    来源:量子位 华为最新"天才少年",新鲜出炉. 他叫宁博宇,26岁,来自电子科技大学,是通信抗干扰技术国家级重点实验室的2019级博士研究生. △图源:电子科技大学官方网站 而此次 ...

  2. 华为最新「天才少年」:博士四年21篇论文,却自称是个「低能儿」

    文|金磊 发自 凹非寺 源|量子位 华为最新"天才少年",新鲜出炉. 他叫宁博宇,26岁,来自电子科技大学,是通信抗干扰技术国家级重点实验室的2019级博士研究生. ▲△图源:电子 ...

  3. 华为最新天才少年曝光!博士四年21篇论文

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[计算机视觉]微信技术交流群 金磊 发自 凹非寺 转载自:量子位(QbitAI) 华为最新 ...

  4. Android架构篇-1 项目组织架构

    Android架构篇-1 项目组织架构 模块化分层 1.结构清晰,各模块代码分离,符合高内聚低耦合,快速定位查找代码 2.团队协作开发灵活,互不影响,各模块完成后合并即可完成整体app 3.抽离公共层 ...

  5. 详解AI Lab 21篇CVPR 2018论文(附论文)

    来源:量子位 本文共8300字,建议阅读10分钟. 本文从立题背景.作者思路及研究特点为你详解计算机视觉顶会论文. 一年一度的计算机视觉顶会CVPR即将召开,入选论文也陆续揭晓. 今天分享入选论文解析 ...

  6. CVPR 2018 | 腾讯AI Lab入选21篇论文详解

    来源:腾讯AI实验室 近十年来在国际计算机视觉领域最具影响力.研究内容最全面的顶级学术会议CVPR,近日揭晓2018年收录论文名单,腾讯AI Lab共有21篇论文入选,位居国内企业前列,我们将在下文进 ...

  7. [Qt教程] 第21篇 数据库(一)Qt数据库应用简介

    [Qt教程] 第21篇 数据库(一)Qt数据库应用简介 楼主  发表于 2013-5-13 20:56:39 | 查看: 1403| 回复: 13 Qt数据库应用简介 版权声明 该文章原创于作者yaf ...

  8. 合集| 21 篇技术文章,带你从零入门 K8s

    由阿里云与 CNCF 共同开发的<CNCF x Alibaba 云原生技术公开课>(视频课程)第一期已更新完毕.为了让大家有更好的学习体验,我们把视频课程转为图文,并请讲师重新编辑成文章, ...

  9. AAAI 2021 京东科技集团21篇论文

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI科技评论 AI博士笔记系列推荐 周志华<机器学习& ...

最新文章

  1. OS / 5 种 IO 模型
  2. 我总结的几种简单的调用Com组件的方法
  3. 一建机电实务教材电子版_20年一建其实并不难,官方出版:复习题集(精修),速做速提90分...
  4. SqlBulkCopy批量插入数据库
  5. 华为新系统鸿蒙和ios,鸿蒙系统呼之欲出 华为上线新功能和苹果iOS相比如何
  6. [转]秒杀全网!研发、运营必备实用工具网站
  7. Process finished with exit code 1
  8. 算法笔记--卢卡斯定理
  9. 调用手机扫描二维码功能
  10. 实验九 TCP 协议分析实验
  11. Ubuntu录制gif动态图
  12. matlab zn整定,matlab里用ZN整定公式对系统进行PI、PID校正,程序问题,急!!
  13. 计算机概论二进制加法,计算机科学概论二进制
  14. ios 清理缓存功能实现
  15. 集群系统性能测试Linpack-HPL安装
  16. matlab R2013a 生成exe 脱离matlab开发环境运行
  17. Ubuntu 设置默认播放器、浏览器、图片查看器
  18. 联想服务器TS130主板芯片组,【ThinkServer TS130参数】ThinkServer TS130系列服务器参数-ZOL中关村在线...
  19. 每个程序员都应该读的数学书
  20. IBM3650M4-7915服务器安装双CPU的问题

热门文章

  1. 两个简单的xpath案例(爬取糗事百科 扇贝单词)
  2. 【Vitis】printf无法打印浮点数的解决办法
  3. linux下获取本机IPv6地址、前缀、网关
  4. .net core ContentRoot 和 WebRoot 的区别
  5. 小米拆分松果成立独立的芯片企业,意欲何为?
  6. linux搭建git服务器
  7. [SV]SystemVerilog中指定打印格式
  8. VIPLE 对变量实现一个加法计算
  9. <Verilog实现加法器>加法器相关基础知识——持续更新版
  10. 1-1 结构化数据建模流程范例