首页 文章 精选 留言 我的

精选列表

搜索[栈],共10002篇文章
优秀的个人博客,低调大师

Elastic 技术之 Filebeat

简介 Beats 是安装在服务器上的数据中转代理。 Beats 可以将数据直接传输到 Elasticsearch 或传输到 Logstash 。 Beats 有多种类型,可以根据实际应用需要选择合适的类型。 常用的类型有: Packetbeat:网络数据包分析器,提供有关您的应用程序服务器之间交换的事务的信息。 Filebeat:从您的服务器发送日志文件。 Metricbeat:是一个服务器监视代理程序,它定期从服务器上运行的操作系统和服务收集指标。 Winlogbeat:提供Windows事件日志。 参考 更多 Beats 类型可以参考:community-beats 说明 由于本人工作中只应用了 FileBeat,所以后面内容仅介绍 FileBeat 。 FileBeat 的作用 相比 Logstash,FileBeat 更加轻量化。 在任何环境下,应用程序都有停机的可能性。 Filebeat 读取并转发日志行,如果中断,则会记住所有事件恢复联机状态时所在位置。 Filebeat带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。 FileBeat 不会让你的管道超负荷。FileBeat 如果是向 Logstash 传输数据,当 Logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。 安装 Unix / Linux 系统建议使用下面方式安装,因为比较通用。 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-linux-x86_64.tar.gz tar -zxf filebeat-6.1.1-linux-x86_64.tar.gz 参考 更多内容可以参考:filebeat-installation 配置 配置文件 首先,需要知道的是:filebeat.yml是 filebeat 的配置文件。配置文件的路径会因为你安装方式的不同而变化。 Beat 所有系列产品的配置文件都基于YAML格式,FileBeat 当然也不例外。 filebeat.yml 部分配置示例: filebeat: prospectors: - type: log paths: - /var/log/*.log multiline: pattern: '^[' match: after 参考 更多 filebeat 配置内容可以参考:配置 filebeat 更多 filebeat.yml 文件格式内容可以参考:filebeat.yml 文件格式 重要配置项 filebeat.prospectors (文件监视器)用于指定需要关注的文件。 示例 filebeat.prospectors: - type: log enabled: true paths: - /var/log/*.log output.elasticsearch 如果你希望使用 filebeat 直接向 elasticsearch 输出数据,需要配置 output.elasticsearch 。 示例 output.elasticsearch: hosts: ["192.168.1.42:9200"] output.logstash 如果你希望使用 filebeat 向 logstash输出数据,然后由 logstash 再向elasticsearch 输出数据,需要配置 output.logstash。 注意 相比于向 elasticsearch 输出数据,个人更推荐向 logstash 输出数据。 因为 logstash 和 filebeat 一起工作时,如果 logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。这样,可以减少管道超负荷的情况。 示例 output.logstash: hosts: ["127.0.0.1:5044"] 此外,还需要在 logstash 的配置文件(如 logstash.conf)中指定 beats input 插件: input { beats { port => 5044 # 此端口需要与 filebeat.yml 中的端口相同 } } # The filter part of this file is commented out to indicate that it is # optional. # filter { # # } output { elasticsearch { hosts => "localhost:9200" manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } } setup.kibana 如果打算使用 Filebeat 提供的 Kibana 仪表板,需要配置 setup.kibana 。 示例 setup.kibana: host: "localhost:5601" setup.template.settings 在 Elasticsearch 中,索引模板用于定义设置和映射,以确定如何分析字段。 在 Filebeat 中,setup.template.settings 用于配置索引模板。 Filebeat 推荐的索引模板文件由 Filebeat 软件包安装。如果您接受 filebeat.yml 配置文件中的默认配置,Filebeat在成功连接到 Elasticsearch 后自动加载模板。 您可以通过在 Filebeat 配置文件中配置模板加载选项来禁用自动模板加载,或加载自己的模板。您还可以设置选项来更改索引和索引模板的名称。 参考 更多内容可以参考:filebeat-template 说明 如无必要,使用 Filebeat 配置文件中的默认索引模板即可。 setup.dashboards Filebeat 附带了示例 Kibana 仪表板。在使用仪表板之前,您需要创建索引模式filebeat- *,并将仪表板加载到Kibana 中。为此,您可以运行setup命令或在filebeat.yml配置文件中配置仪表板加载。 为了在 Kibana 中加载 Filebeat 的仪表盘,需要在filebeat.yml配置中启动开关: setup.dashboards.enabled: true 参考 更多内容可以参考:configuration-dashboards 命令 filebeat 提供了一系列命令来完成各种功能。 执行命令方式: ./filebeat COMMAND 参考 更多内容可以参考:command-line-options 说明 个人认为命令行没有必要一一掌握,因为绝大部分功能都可以通过配置来完成。且通过命令行指定功能这种方式要求每次输入同样参数,不利于固化启动方式。 最重要的当然是启动命令 run 了。 示例指定配置文件启动 ./filebeat run -e -c filebeat.yml -d "publish" ./filebeat -e -c filebeat.yml -d "publish" # run 可以省略 模块 Filebeat 提供了一套预构建的模块,让您可以快速实施和部署日志监视解决方案,并附带示例仪表板和数据可视化。这些模块支持常见的日志格式,例如Nginx,Apache2和MySQL 等。 运行模块的步骤 配置 elasticsearch 和 kibana output.elasticsearch: hosts: ["myEShost:9200"] username: "elastic" password: "elastic" setup.kibana: host: "mykibanahost:5601" username: "elastic" password: "elastic username 和 password 是可选的,如果不需要认证则不填。 初始化环境 执行下面命令,filebeat 会加载推荐索引模板。 ./filebeat setup -e 指定模块 执行下面命令,指定希望加载的模块。 ./filebeat -e --modules system,nginx,mysql 参考 更多内容可以参考:配置 filebeat 模块|filebeat 支持模块 原理 Filebeat 有两个主要组件: harvester:负责读取一个文件的内容。它会逐行读取文件内容,并将内容发送到输出目的地。 prospector:负责管理 harvester 并找到所有需要读取的文件源。比如类型是日志,prospector 就会遍历制定路径下的所有匹配要求的文件。 filebeat.prospectors: - type: log paths: - /var/log/*.log - /var/path2/*.log Filebeat保持每个文件的状态,并经常刷新注册表文件中的磁盘状态。状态用于记住 harvester 正在读取的最后偏移量,并确保发送所有日志行。 Filebeat 将每个事件的传递状态存储在注册表文件中。所以它能保证事件至少传递一次到配置的输出,没有数据丢失。 本文转自静默虚空博客园博客,原文链接:http://www.cnblogs.com/jingmoxukong/p/8185321.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

技术备忘录

服务端程序员需要拥有的技能和知识: C++/Java/C#语言基础,比如C++的虚函数,或者java的jvm 数据结构和算法,比如排序,链表,hash_map 多线程并发知识,比如锁,线程切换 网络编程知识,比如tcp/http协议相关知识 Linux常用命令和问题排查办法 设计模式和重构 缓存系统/中间件技术/NoSql 数据库技术,比如mysql存储引擎,索引 架构能力,比如游戏服务端,web服务器 分布式技术,比如一致性墨匠

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册