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="{&quot;clientip&quot;:&quot;%h&quot;,&quot;ClientUser&quot;:&quot;%l&quot;,&quot;authenticated&quot;:&quot;%u&quot;,&quot;AccessTime&quot;:&quot;%t&quot;,&quot;m ethod&quot;:&quot;%r&quot;,&quot;status&quot;:&quot;%s&quot;,&quot;SendBytes&quot;:&quot;%b&quot;,&quot;Query?string&quot;:&quot;%q&quot;,&quot;partner&quot;:&quot;%{Referer}i&quot;,&qu ot;AgentVersion&quot;:&quot;%{User-Agent}i&quot;}"/> [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实战的更多相关文章

  1. 实战之elasticsearch集群及filebeat server和logstash server

    author:JevonWei 版权声明:原创作品 实战之elasticsearch集群及filebeat server和logstash server 环境 elasticsearch集群节点环境为 ...

  2. Elastic Stack之FileBeat使用实战

    Elastic Stack之FileBeat使用实战 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任.   本篇博客数据流走向:FileBeat ===>logstash == ...

  3. ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解

    前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...

  4. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

  5. 项目实战14—ELK 企业内部搜索引擎

    一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ...

  6. 项目实战14—ELK 企业内部日志分析系统

    一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ...

  7. ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...

  8. ElasticSearch实战:Linux日志对接Kibana

    本文由云+社区发表 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTFul web接口.ElasticSearch是用Java开发 ...

  9. ELK技术实战-安装Elk 5.x平台

    ELK技术实战–了解Elk各组件   转载  http://www.ywnds.com/?p=9776 ELK技术实战-部署Elk 2.x平台 ELK Stack是软件集合Elasticsearch. ...

  10. NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    NET Core 实战:使用 NLog 将日志信息记录到 MongoDB https://www.cnblogs.com/danvic712/p/10226557.html ASP.NET Core ...

随机推荐

  1. 即学即会 Serverless | 初识 Serverless

    简介:Serverless 架构被越来越多的业务所采纳,成为其技术选型,大多数开发者已经跨越对 Serverless 概念了解,切实向落地实践出发.本文带大家一探究竟,为什么说 Serverless ...

  2. 编码原则 : DRY, KISS, YAGNI, S.O.L.I.D

    Dont Repeat Yourself. Keep is Simple, Stupid. You Ain't Gonna Need It.  你不需要它 ( 不试图添加你认为以后可能需要的代码,适可 ...

  3. dotnet C# 高性能配置文件读写库 dotnetCampus.Configurations 简介

    在应用程序运行的时,需要根据不同的配置执行不同的内容.有很多根据配置而初始化的功能往往是在应用程序启动的时候需要执行.对于很多类型的应用程序,特别是客户端的应用程序,启动的性能特别重要.也因此,在启动 ...

  4. SAP UI5 官方教程学习记录

    最近有闲跟着官方的Get Started教程学习了UI5,记录一下自己学习中遇到的几个问题. 本文链接:https://www.cnblogs.com/hhelibeb/p/17835722.html ...

  5. 【停用词】NLP中的停用词怎么获取?我整理了6种方法

    目录 一.停用词介绍 二.停用词应用场景 2.1 提取高频词 2.2 词云图 三.停用词获取方法 3.1 自定义停用词 3.2 用wordcloud调取停用词 3.3 用nltk调取停用词 3.3.1 ...

  6. ITIL4中的关键概念

    1.价值和价值共创 什么是价值 通俗表达:这有啥用? 正式表达:这能带来什么益处或起什么作用? 反问式求证: 假如没有的话,会有什么后果? 具体情境提问:如果缺少IT运维人员,业务系统会面临怎样的状况 ...

  7. LMDeploy量化部署LLM&LVM实操-书生浦语大模型实战营第二期第5节作业

    书生浦语大模型实战营第二期第5节作业 本页面包括实战营第二期第五节作业的全部操作步骤.如果需要知道模型量化部署的相关知识请访问学习笔记. 作业要求 基础作业 完成以下任务,并将实现过程记录截图: 配置 ...

  8. 构造照亮世界——快速沃尔什变换 (FWT)

    博客园 我的博客 快速沃尔什变换解决的卷积问题 快速沃尔什变换(FWT)是解决这样一类卷积问题: \[c_i=\sum_{i=j\odot k}a_jb_k \] 其中,\(\odot\) 是位运算的 ...

  9. Golang csv操作

    目录 csv读写 追加写入 追加写入封装 csv读写 封装成工具包 package utils import ( "encoding/csv" "fmt" &q ...

  10. CentOS加载yum源时报错 [Errno 14] HTTP Error 404 - Not Found Trying other mirror.

    报错内容: [root@192 yum.repos.d]# yum repolist Loaded plugins: fastestmirror, product-id, search-disable ...