filebeat实战
1.打开filebeat支持nginx模块
[root@es-node1 /etc/filebeat]#ls
fields.yml filebeat.reference.yml filebeat.yml filebeat.yml.bak modules.d
[root@es-node1 /etc/filebeat]#ls modules.d/
[root@es-node1 /etc/filebeat]#filebeat version
filebeat version 7.9.1 (amd64), libbeat 7.9.1 [ad823eca4cc74439d1a44351c596c12ab51054f5 built 2020-09-01 19:58:51 +0000 UTC]
[root@es-node1 /etc/filebeat]#
查看开启了哪些模块
[root@es-node1 /etc/filebeat]#filebeat modules list
Error in modules manager: modules management requires 'filebeat.config.modules.path' setting
修改配置文件
[root@es-node1 /etc/filebeat]#tail -5 /etc/filebeat/filebeat.yml
logging.to_files: true
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
默认未激活的模块
[root@es-node1 /etc/filebeat]#filebeat modules list|wc -l
60
激活filebeat对nginx支持的模块,本质就是去修改modules.d/下的yml文件,去掉了disable后缀
[root@es-node1 /etc/filebeat]#filebeat modules enable nginx
Enabled nginx
# 打开nginx模块文件,添加nginx日志输入源
cat > /etc/filebeat/modules.d/nginx.yml << 'EOF'
- module: nginx
access:
enabled: true
var.paths: ["/var/log/nginx/access.log"]
error:
enabled: true
var.paths: ["/var/log/nginx/error.log"]
ingress_controller:
enabled: false
EOF
# 最后修改filebeat.yml,不需要input了
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
output.elasticsearch:
hosts: ["10.0.0.51:9200"]
indices:
- index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}"
when.contains:
log.file.path: "/var/log/nginx/access.log"
- index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}"
when.contains:
log.file.path: "/var/log/nginx/error.log"
setup.ilm.enabled: false
setup.template.enabled: false
logging.level: info
logging.to_files: true
# 清理es、filebeat、nginx环境、测试使用
# 重启filebeat
查看kibana(pipeline)
kibana展示es
2.filebeat收集tomcat日志
# jdk
[root@tomcat-10 ~/tomcat-all]#tar -xf jdk-8u221-linux-x64.tar.gz -C /opt
[root@tomcat-10 ~/tomcat-all]#ls /opt
jdk1.8.0_221
配置软连接,修改PATH
[root@tomcat-10 ~/tomcat-all]#ln -s /opt/jdk1.8.0_221/ /opt/jdk8
# sed命令,快速修改 /etc/profile 全局用户环境变量文件
sed -i.ori '$a export JAVA_HOME=/opt/jdk8\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
# tomcat
[root@es-node1 /opt]#tar -xf apache-tomcat-8.0.27.tar.gz
[root@es-node1 /opt]#cd /opt/apache-tomcat-8.0.27/
[root@es-node1 /opt/apache-tomcat-8.0.27]#
# 修改tomcat日志格式
135 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
136 prefix="localhost_access_log" suffix=".txt"
137 pattern="{"clientip":"%h","ClientUser":"%l","authenticated":"%u","AccessTime":"%t","m ethod":"%r","status":"%s","SendBytes":"%b","Query?string":"%q","partner":"%{Referer}i",&qu ot;AgentVersion":"%{User-Agent}i"}"/>
[root@es-node1 /opt/jdk8]#/opt/apache-tomcat-8.0.27/bin/shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.0.27
Using CATALINA_HOME: /opt/apache-tomcat-8.0.27
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.27/temp
Using JRE_HOME: /opt/jdk8
Using CLASSPATH: /opt/apache-tomcat-8.0.27/bin/bootstrap.jar:/opt/apache-tomcat-8.0.27/bin/tomcat-juli.jar
[root@es-node1 /opt/jdk8]#/opt/apache-tomcat-8.0.27/bin/startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.0.27
Using CATALINA_HOME: /opt/apache-tomcat-8.0.27
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.27/temp
Using JRE_HOME: /opt/jdk8
Using CLASSPATH: /opt/apache-tomcat-8.0.27/bin/bootstrap.jar:/opt/apache-tomcat-8.0.27/bin/tomcat-juli.jar
Tomcat started.
[root@es-node1 /opt/jdk8]#
# 查看tomcat日志。是否是json
[root@es-node1 /opt/jdk8]#cat /opt/apache-tomcat-8.0.27/logs/localhost_access_log.2023-02-19.txt
{"clientip":"127.0.0.1","ClientUser":"-","authenticated":"-","AccessTime":"[19/Feb/2023:20:55:36 +0800]","method":"GET / HTTP/1.1","status":"200","SendBytes":"11250","Query?string":"","partner":"-","AgentVersion":"curl/7.29.0"}
[root@es-node1 /opt/jdk8]#
#配置filebeat文件
Filebeat.yml
1 filebeat.inputs:
2 - type: log
3 enabled: true
4 paths:
5 - /opt/apache-tomcat-8.0.27/logs/localhost_access_log.*.txt
6 json.keys_under_root: true
7 json.overwrite_keys: true
8 tags: ["tomcat"]
9
10 filebeat.config.modules:
11 path: ${path.config}/modules.d/*.yml
12 reload.enabled: true
13
14 output.elasticsearch:
15 hosts: ["10.0.0.18:9200"]
16 indices:
17 - index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}"
18 when.contains:
19 log.file.path: "/var/log/nginx/access.log"
20
21 - index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}"
22 when.contains:
23 log.file.path: "/var/log/nginx/error.log"
24 - index: "tomcat-access-%{[agent.version]}-%{+yyyy.MM}"
25 when.contains:
26 tags: "tomcat"
27
28 setup.ilm.enabled: false
29 setup.template.enabled: false
30
31 logging.level: info
32 logging.to_files: true
重启filebeat
[root@es-node1 /opt/jdk8]#vim /etc/filebeat/filebeat.yml
[root@es-node1 /opt/jdk8]#systemctl restart filebeat.service
3.小结
ElasticSearch + Filebeat + kibana玩法先到这,基本流程
1. filebeat + 目标软件日志(json)
2. 发给es
3. kibana管理es索引,进行数据展示,过滤,可视化管理
filebeat实战的更多相关文章
- 实战之elasticsearch集群及filebeat server和logstash server
author:JevonWei 版权声明:原创作品 实战之elasticsearch集群及filebeat server和logstash server 环境 elasticsearch集群节点环境为 ...
- Elastic Stack之FileBeat使用实战
Elastic Stack之FileBeat使用实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>logstash == ...
- ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解
前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- elk实战分析nginx日志文档
elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...
- 项目实战14—ELK 企业内部搜索引擎
一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ...
- 项目实战14—ELK 企业内部日志分析系统
一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ...
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...
- ElasticSearch实战:Linux日志对接Kibana
本文由云+社区发表 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTFul web接口.ElasticSearch是用Java开发 ...
- ELK技术实战-安装Elk 5.x平台
ELK技术实战–了解Elk各组件 转载 http://www.ywnds.com/?p=9776 ELK技术实战-部署Elk 2.x平台 ELK Stack是软件集合Elasticsearch. ...
- NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
NET Core 实战:使用 NLog 将日志信息记录到 MongoDB https://www.cnblogs.com/danvic712/p/10226557.html ASP.NET Core ...
随机推荐
- MAE 自监督算法介绍和基于 EasyCV 的复现
简介:自监督学习(Self-Supervised Learning)能利用大量无标注的数据进行表征学习,然后在特定下游任务上对参数进行微调.通过这样的方式,能够在较少有标注数据上取得优于有监督学习方 ...
- [GPT] nodejs 有哪些类似 jquery 语法的 html 解析库
在Node.js中,有一些类似jQuery语法的HTML解析库可供选择. 以下是其中几个常用的库: 1. Cheerio: Cheerio是一个快速.灵活且易于使用的HTML解析库,它提供了类似于 ...
- [Gin] 路由分组 Group 的内部实现 与 块空间 { } 的应用
通过这篇 [Gin] 单文件极简 HTTP Server 流程分析 ( gin-gonic/gin ) 我们知道了 gin.go 中的 Engine 继承有 routergroup.go 中的 Rou ...
- STM32【HAL库】使用外部SRAM程序
#include <board.h> #ifdef BSP_USING_SRAM #include <drv_common.h> #include <rtthread.h ...
- 理解FPGA内部的同步信号、异步信号和亚稳态
FPGA(Field-Programmable Gate Array),即现场可编程门阵列.主要是利用内部的可编程逻辑实现设计者想要的功能.FPGA属于数字逻辑芯片,其中也有可能会集成一部分模拟电路的 ...
- 探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD 是文档类型定义(Document Type Definition)的缩写.DTD 定义了 XML 文档的结构以及合法的元素和属性. 为什么使用 DTD 通过使用 DTD,独立的团体可以就数据交 ...
- docker-compose 安装 etcd
目录 docker-compose.yaml docker-compose.yaml version: "3" services: etcd: hostname: etcd ima ...
- linux-centos7.6-gpt-uefi安装
目录 linux-centos7.6-gpt-uefi安装 一.需要 二.环境 三.vm新建虚拟机系统环境 四.开始安装 linux-centos7.6-gpt-uefi安装 一.需要 安装的系统适用 ...
- 纯JavaScript实现“返回顶部”和“评分”,“分享”等小功能
1.返回顶部功能的实现 <!DOCTYPE html> <html> <head> <title>Back to Top</title> & ...
- 数据转换2-无人机航拍倾斜摄影转换成OSGB格式
首先软件的下载和安装参考下面链接 http://www.xue51.com/soft/53013.html 0.首先打开软件,要打开2个哦. 打数据处理开后台 ContextCapture Engin ...