elastic stack 基础组件beats详解

fielbeat

filebeat:
spool_size: 1024                  # 最大可以攒够 1024 条数据一起发送出去
idle_timeout: "5s"                 # 否则每5 秒钟也得发送一次
registry_file: ".filebeat"             # 文件读取位置记录文件,会放在当前工作目录下。所以如果你换一个工作目录执行 filebeat
会导致重复传输!
config_dir: "path/to/configs/contains/many/yaml" # 如果配置过长,可以通过目录加载方式拆分配置
prospectors:                      # 有相同配置参数的可以归类为一个 prospector
-
fields:
ownfield: "mac"                    # 类似logstash 的 add_fields
paths:
- /var/log/system.log            # 指明读取文件的位置
- /var/log/wifi.log
include_lines: ["^ERR", "^WARN"]      # 只发送包含这些字样的日志
exclude_lines: ["^OK"]            # 不发送包含这些字样的日志
document_type: "apache"           # 定义写入ES时的_type值
ignore_older: "24h"             # 超过 24小时没更新内容的文件不再监听_files,只要文件名一变化立刻关闭文件句柄,保证文件可以被删除,缺陷是可能会有日志还没读完
scan_frequency: "10s"            # 每 10秒钟扫描一次目录,更新通配符匹配上的文件列表
tail_files: false              # 是否从文件末尾开始读取
harvester_buffer_size: 16384         # 实际读取文件时,每次读取 16384 字节
backoff: "1s"                #  每1秒检测一次文件是否有新的一行内容需要读取
paths:
- "/var/log/apache/*"            # 可以使用通配符
exclude_files: ["/var/log/apache/error.log"]
-
input_type: "stdin"             # 除了"log",还有 "stdin"
multiline:                  # 多行合并
pattern: '^[[:space:]]'
negate: false
match: after

Filebeat 发送的日志,会包含以下字段:

  • beat.hostname beat 运行的主机名

  • beat.name shipper 配置段设置的 name ,如果没设置,等于

  • beat.hostname

  • @timestamp 读取到该行内容的时间

  • type 通过 document_type 设定的内容

  • input_type 来自 "log" 还是 "stdin"

  • source 具体的文件名全路径

  • offset 该行日志的起始偏移量

  • message 日志内容

  • fields 添加的其他固定字段都存在这个对象里面

packetbeat

interfaces:device: anytype: af_packetsnaplen: 65536        # 保证大过 MTU 即可,所以公网抓包的话可以改成 1514buffer_size_mb: 30        #  该参数仅在af_packet时有效,表示在linux内核空间和用户空间之间开启多大共享内存,可以减
低 CPU 消耗with_vlans: false       # 在生成抓包语句的时候,是否带上vlan标示。示例:"port 80 or port 3306 or (vlan and (port 80 or port 3306))"
protocols:dns:ports: [53]   send_request: false       # 通用配置:是否将原始的 request 字段内容都发给 ESsend_response: false      # 通用配置:是否将原始的 response 字段内容都发给 EStransaction_timeout: "10s"   # 通用配置:超过10 秒的不再等待响应,直接认定为一个事务,发送给 ESinclude_additionals: false   # DNS 专属配置:是否带上 dns.additionals 字段include_authorities: false   # DNS 专属配置:是否带上 dns.authority 字段http:ports: [80, 8080]             # 抓包的监听端口hide_keywords: ["password","passwd"]   # 对 GET 方法的请求参数,POST 方法的顶层参数里的指定关键信息脱敏。注意:如果你又开启了 send_request,request 字段里的并不会脱敏"redact_authorization: true       # 对 header 中的Authorization 和 Proxy-Authorization 内容做模糊处理。道理和上一条类似send_headers: ["User-Agent"]         # 只在 headers对象里记录指定的 header 字段内容send_all_headers: true          # 在 headers 对象里记录所有 header 字段内容include_body_for: ["text/html"]     # 在开启 send_response 的前提下,只记录某些类别的响应体内容split_cookie: true            # 将 headers 对象里的 Cookie 或 Set-Cookie 字段内容再继续做 KV 切割real_ip_header: "X-Forwarded-For"    # 将 headers 对象里的指定字段内容设为 client_location 和 real_ip 字段memcache:ports: [11211]parseunknown: falsemaxvalues: 0maxbytespervalue: 100udptransactiontimeout: 10000mysql:ports: [3306]max_rows: 10          # 发送给 ES 的 SQL 内容最多为 10 行max_row_length: 1024       # 发送给 ES 的 SQL 内容每行最长为 1024 字节cassandra:send_request_header: true   # 在开启了 send_request 的前提下,记录 cassandra_request.request_headers 字段send_response_header: truecompressor: "snappy"ignored_ops: ["SUPPORTED","OPTIONS"] # 不记录部分操作amqp:ports: [5672]max_body_length: 1000        # 超长的都截断掉parse_headers: trueparse_arguments: falsehide_connection_information: true   # 不记录打开、关闭连接之类的信息thrift:transport_type: socket           # Thrift 传输类型,"socket" 或 "framed"protocol_type: binaryidl_files: ["shared.thrift"]      # 一般来说默认内置的 IDL 文件已经足够了string_max_size: 200             # 参数或返回值中字符串的最大长度,超长的都截断掉collection_max_size: 15         # Thrift 的 list, map, set, structure 结构中的元素个数上限,超过的元素丢弃capture_reply: true           # 为了节省资源,可以设置 false,只解析响应中的方法名称,其余信息丢弃obfuscate_strings: true      # 把所有方法参数、返回码、异常结构中的字符串都用 * 代替drop_after_n_struct_fields: 500    # 在 packetbeat结束整个事务之前,一个结构体最多能存多少个字段。该配置主要考虑节约内存monogodb:max_docs: 10              # 设置 send_response 前提下,response 字段最多保存多少个文档。超长的都截断掉。不限则设为 0max_doc_length: 5000          # response 字段里每个文档的最大字节数。超长截断。不限则设为 0procs:enabled: truemonitored:- process: mysqldcmdline_grep: mysqld- process: app       #设置发送给 ES的数据中进程名字段的内容cmdline_grep: gunicorn     # 从 /proc/<pid>/cmdline 中过滤实际进程名的字符串
# output:   output.elasticsearch:hosts: ["http://localhost:9200"]index: "packetbeat-%{+yyyy.MM.dd}"

字段

  • @timestamp 事件时间

  • type 事件类型,比如 HTTP, MySQL, Redis, RUM 等

  • count 事件代表的实际事务数。也就是采样率的倒数

  • direction 事务流向。比如 "in" 或者 "out"

  • status 事务状态。不同协议取值方式可能不一致

  • method 事务方法。对 HTTP 是 GET/POST/PUT 等,对 SQL 是SELECT/UPDATE/INSERT 等

  • resource 事务关联的逻辑资源。对 HTTP 是 URL 路径的第一个层级,对SQL 是表名

  • path 事务关联的路径。对 HTTP 是 URL 路径,对 SQL 是表名,对 KV 存储是 key

  • query 人类可读的请求字符串。对 HTTP 是 GET /resource/path?key=value,对 SQL 是 SELECT id FROM table WHERE name=test

  • params 请求参数。对 HTTP 就是 GET 或者 POST 的请求参数,对 Thrift 是request 里的参数

  • notes packetbeat 解析数据出错时的日志记录其余根据采用协议不同,各自有自己的字段。

转载于:https://blog.51cto.com/cuixiang/1926558

elastic stack 基础组件beats详解相关推荐

  1. [安卓基础] 009.组件Activity详解

    组件Activity详解 这篇文章学到得内容 1.什么是Activity 2.Activity的生命周期 3.如何保存Activity的状态 4.Activity之间切换时,相互之间生命周期的执行顺序 ...

  2. ueditor上传组件显示乱码_最全面的移动端 UI组件设计详解:中篇

    上一期给大家讲解了<最全面的移动端UI组件设计详解:上篇>,主要分享了:布局组件和导航组件2个部分:这次给大家带来:基础组件.表单组件和反馈组件详解,希望你在设计APP.小程序.H5页面中 ...

  3. elastic stack中的Beats是什么?

    elastic stack中的Beats是什么? elastic stack栈涉及到以下⼏个组件 beats:⽤于轻量级⽇志采集,⽀持⽂件采集,系统数据采集,特定中间件数据采集等 logstash:⽤ ...

  4. 基础拾遗------委托详解

    基础拾遗: 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗---- ...

  5. fileinput 时间_JavaScript_Bootstrap Fileinput文件上传组件用法详解,最近时间空余,总结了一些关...

    最近时间空余,总结了一些关于bootstrap fileinput组件的一些常见用法,特此分享到phpstudy平台,供大家参考,同时也方便以后的查找.本文写的不好还请见谅. 一.效果展示 1.原始的 ...

  6. 基础拾遗------泛型详解

     基础拾遗: 前言: 1.泛型的约束 2.泛型继承 3.关键字default 4.泛型方法 5.泛型接口 6.泛型数组 7.泛型委托 基础拾遗: 基础拾遗------特性详解 基础拾遗------ ...

  7. Vue组件-Confirm详解

    Vue组件-Confirm详解 原作者:爱扎马尾的小狮子 一.使用的地方引用,传入属性和方法 在需要的地方引入组件,然后传入对应的属性和方法 组件 <template> <div : ...

  8. React Native按钮详解|Touchable系列组件使用详解

    转载自:http://www.devio.org/2017/01/10/React-Native按钮详解-Touchable系列组件使用详解/ 在做App开发过程中离不了的需要用户交互,说到交互,我们 ...

  9. Android面试基础之BroadcastReceiver详解(斗帝养成系列四)

    斗帝养成 大斗师,一至九星,斗气铠甲,斗气外放,聚气化固态,呈菱形.别说自己尽力了,那只是自欺欺人的假话. Android面试基础之Activity详解(斗帝养成系列一) Android面试基础之Se ...

最新文章

  1. 用C++面向对象的方式动态加载so
  2. Java基本语法(14)--for循环结构
  3. mybatis sql标签_【1039期】Mybatis面试18问,你想知道的都在这里了!
  4. python计算while循环次数_python-----运算符及while循环
  5. Go语言学习笔记(八)
  6. ET框架学习1-服务端的认识
  7. java软件工程师简历格式模板,重要概念一网打尽!
  8. 使用Outlook 2007待办事项栏
  9. Composer中的ThingWorx模型定义—可视化
  10. 【Mac 系列】Mac安装Mysql
  11. 为什么后端显示修改成功,但数据库的数据却没有改变
  12. AI智能语音机器人源码供应批发采购
  13. 华为、腾讯、百度扎堆进入的自动驾驶仿真市场,到底藏着怎样的秘密?
  14. Bootstrap学习笔记——菜单、按钮及导航
  15. 安卓手机系统开发教程!BTAJ面试有关散列(哈希)表的面试题详解,大厂直通车!
  16. 电商收付通,商户进件,上传身份证、营业执照自动识别相关信息
  17. 工作报告思维导图模板及绘制方法分享
  18. Intellij Idea version 2021.1.1 鼠标悬停备注的设置
  19. Linux之配置Yum软件仓库
  20. Quantum LeaPs(QP)的资料

热门文章

  1. 猪八戒网冲刺港交所上市:2021年GMV达84亿元,朱明跃持股28%
  2. 记者成互联网公司老板,他把猪八戒网做到市值百亿
  3. java向上转型_Java向上转型
  4. DDR4 的VTT电流估算,DDR稳压器选型
  5. element组件---Form
  6. FPGA(五)RTL代码之一(跨时钟域设计)
  7. C语言实现天气获取 + HTML页面
  8. 零基础想学速写?要想学好速写先了解这几步
  9. 2019事业单位计算机考试真题及答案,2019事业单位计算机专业考试真题试卷试卷习题.docx...
  10. 新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题开源全解密版