服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - ELK收集Tomcat日志的实现

ELK收集Tomcat日志的实现

2022-07-19 13:14王清欢Randy Tomcat

本文主要介绍了ELK收集Tomcat日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

01 Tomcat 安装与测试

1.1 安装 Tomcat

安装Tomcat的本体和相关官方测试demo,参考链接

?
1
2
apt-get install tomcat8 -y # 安装Tomcat本体
apt-get install tomcat8-docs tomcat8-examples tomcat8-admin -y # 安装测试demo

1.2 Tomcat 启动检查

?
1
2
3
4
5
6
7
systemctl start tomcat8 # 启动Tomcat
systemctl status tomcat8
netstat -lntup|grep 8080 # 端口测试
lsof -i:8080
# 端口检查得到输出
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    4502 tomcat8   63u  IPv6 125026      0t0  TCP *:http-alt (LISTEN)

1.3 查看 Tomcat 日志

启动tomcat之后,使用本地浏览器访问http://localhost:8080/访问tomcat页面,在页面中点击按钮产生HTTP请求,让tomcat产生日志

?
1
tail -f /var/log/tomcat8/localhost_access_log.2021-08-01.txt

02 修改 Tomcat 日志为 Json 格式

打开Tomcat的server.xml配置文件进行修改,在日志文件中的文末修改如下对应设置

?
1
2
3
4
5
6
7
8
# 编辑配置文件
vim /etc/tomcat8/server.xml
#将以下内容替换配置文件中135行对应内容
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".log"
               pattern="{&quot;client&quot;:&quot;%h&quot;,  &quot;client user&quot;:&quot;%l&quot;,   &quot;authenticated&quot;:&quot;%u&quot;,   &quot;access time&quot;:&quot;%t&quot;,     &quot;method&quot;:&quot;%r&quot;,   &quot;status&quot;:&quot;%s&quot;,  &quot;send bytes&quot;:&quot;%b&quot;,  &quot;Query?string&quot;:&quot;%q&quot;,  &quot;partner&quot;:&quot;%{Referer}i&quot;,  &quot;Agent version&quot;:&quot;%{User-Agent}i&quot;}"/>
# 查看修改内容
cat -n /etc/tomcat8/server.xml

重新启动tomcat并查看日志,检验是否配置成功,产生新的日志还是需要通过使用浏览器访问8080端口,在Tomcat的demo样例中对tomcat发送请求产生日志。

?
1
2
3
4
5
6
7
8
9
# 先清空日志
> /var/log/tomcat8/localhost_access_log.2021-08-02.txt
# 重新启动Tomcat
systemctl restart tomcat8
# 查看日志
root@master:/var/log/tomcat8# tail -f /var/log/tomcat8/localhost_access_log.2021-08-02.log  # 查看日志命令
{"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:23:55 +0000]", "method":"GET /examples/servlets/images/return.gif HTTP/1.1", "status":"200""send bytes":"1231""Query?string":"", "partner":"http://172.16.255.131:8080/examples/servlets/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}
{"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:23:57 +0000]", "method":"GET /examples/servlets/servlet/RequestParamExample HTTP/1.1", "status":"200""send bytes":"673""Query?string":"", "partner":"http://172.16.255.131:8080/examples/servlets/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}
{"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:24:01 +0000]", "method":"GET /host-manager/html HTTP/1.1", "status":"401""send bytes":"2044""Query?string":"", "partner":"http://172.16.255.131:8080/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}

03 配置 Filebeat 采集 Tomcat 日志

新增Filebeat输入配置,将tomcat日志参照Nginx的Json格式日志采集方式配置如下

vim小技巧:将连续多行内容复制对应位置使用t命令,在Normal模式中输入:2,7t11表示将第二到第七行的内容复制到第十一行开头;将连续多行内容移动对应位置使用m命令,在Normal模式中输入:2,7m11表示将第二到第七行的内容移动到第十一行开头

vim小技巧:在输入内容时要使用到某个文件路径可以是用!命令然后使用shell命令查看内容,例如查看某个文件的路径可以在Normal模式中输入:!ls /var/log/tomcat8/...提示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# ================== Filebeat inputs ===============
# ------------------------------Tomcat----------------------------------
- type: log
  enabled: true
  paths:
    # - /var/log/tomcat8/localhost_access_log.2021-08-02.log
    # 为了能够采集所有日期的日志,将文件名中的指定日期改成通配符`*`
    - /var/log/tomcat8/localhost_access_log.*.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["tomcat"]
 
# ================================== Outputs ===================================
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  hosts: ["172.16.255.131:9200"]
  indices:
      - index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}"
        when.contains:
            tags: "access"
      - index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}"
        when.contains:
            tags: "error"
# 在输出配置中添加如下索引设置识别tomcat日志,值得注意的时这里不需要再重新编辑template设置,应该pattern配置只在第一次使用时进行匹配识别
      - index: "tomcat-access-%{[agent.version]}-%{+yyyy.MM}"
        when.contains:
            tags: "tomcat"

04 使用Kibana查看Tomcat日志

配置完成之后,重新启动Filebeat采集Json格式日志

?
1
systemctl restart filebeat

查看ES中存储的Tomcat日志是否是Json格式

ELK收集Tomcat日志的实现

ELK收集Tomcat日志的实现

到此这篇关于ELK收集Tomcat日志的实现的文章就介绍到这了,更多相关ELK Tomcat日志内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_41773806/article/details/123475700

延伸 · 阅读

精彩推荐
  • Tomcat详解Tomcat如何实现Comet

    详解Tomcat如何实现Comet

    Comet模式是一种服务器端推技术,它的核心思想提供一种能让当服务器端往客户端发送数据的方式。本篇文章主要介绍了Tomcat如何实现Comet,有兴趣的可以了...

    seaboat 汪洋之舟6382021-08-16
  • TomcatWeb项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

    Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@'

    这篇文章主要介绍了Web项目打成war包部署到tomcat时报MySQL Access denied for user 'root'@'localhost' (using password: YES)错误解决方案(推),需要的朋友可以参考下...

    guan_yan_guan8252021-08-27
  • Tomcat实现将Web应用部署到Tomcat根目录的三种方法

    实现将Web应用部署到Tomcat根目录的三种方法

    本篇文章主要介绍了实现将Web应用部署到Tomcat根目录的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    yakoo56122021-08-30
  • TomcatWindows下tomcat安装教程

    Windows下tomcat安装教程

    这篇文章主要为大家详细介绍了Windows下tomcat安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    开拓丿飞3672021-08-30
  • Tomcattomcat 5.5连接池配置,如何让工程为默认工程

    tomcat 5.5连接池配置,如何让工程为默认工程

    本文主要为大家介绍tomcat 5.5连接池配置的方式及如何让工程为默认工程的方法,有需要的朋友可以参考下...

    Tomcat教程网4752021-08-26
  • TomcatELK收集Tomcat日志的实现

    ELK收集Tomcat日志的实现

    本文主要介绍了ELK收集Tomcat日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编...

    王清欢Randy6772022-07-19
  • TomcatTomcat服务器安装配置教程(win7)

    Tomcat服务器安装配置教程(win7)

    这篇文章主要为大家详细介绍了windows7系统安装与配置Tomcat服务器环境的详细步骤,感兴趣的小伙伴们可以参考一下...

    Tomcat教程网8552021-08-11
  • TomcatTomcat修正JDK原生线程池bug的实现原理

    Tomcat修正JDK原生线程池bug的实现原理

    这篇文章主要介绍了Tomcat是如何修正JDK原生线程池bug的,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    JavaEdge.11762021-09-27