首頁 > 軟體

filebeat收集json格式的tomcat紀錄檔詳解

2022-08-23 14:03:33

1.部署tomcat

公司中常用的web程式一般都是nginx和tomcat,tomcat也有access存取紀錄檔,輸出和nginx類似,我們也將tomcat的紀錄檔輸出成json格式,在配合filebeat進行收集展示

1.1.部署tomcat

1.安裝java
[root@nginx02 ~]# yum -y install java
2.安裝tomcat
[root@nginx02 ~]# mkdir /data
[root@nginx02 ~]# tar xf apache-tomcat-8.5.53.tar.gz -C /data
[root@nginx02 /data]# cd /data/
[root@nginx02 /data]# mv apache-tomcat-8.5.53 tomcat
3.啟動tomcat
[root@nginx02 /tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /data/apache-tomcat-8.5.53
Using CATALINA_HOME:   /data/apache-tomcat-8.5.53
Using CATALINA_TMPDIR: /data/apache-tomcat-8.5.53/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /data/apache-tomcat-8.5.53/bin/bootstrap.jar:/data/apache-tomcat-8.5.53/bin/tomcat-juli.jar
Tomcat started.
4.存取tomcat

1.2.修改tomcat組態檔支援json格式紀錄檔輸出

1.修改設定
[root@nginx02 /data/tomcat]# vim conf/server.xml 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               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;method&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;,&quot;AgentVersion&quot;:&quot;%{User-Agent}i&quot;}"/>
2.重啟
[root@nginx02 /data/tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /data/apache-tomcat-8.5.53
Using CATALINA_HOME:   /data/apache-tomcat-8.5.53
Using CATALINA_TMPDIR: /data/apache-tomcat-8.5.53/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /data/apache-tomcat-8.5.53/bin/bootstrap.jar:/data/apache-tomcat-8.5.53/bin/tomcat-juli.jar
Tomcat started.

1.3.檢視tomcat紀錄檔

tomcat紀錄檔位於logs資料夾

最主要的就是catalina.out和localhost_access_log這兩個紀錄檔

剛剛修改完支援json格式後,只是對存取紀錄檔生效

已經是json格式的紀錄檔了

json解析工具也是可以解析的

2.設定filebeat收集tomcat紀錄檔

www.elastic.co/guide/en/be…

2.1.設定filebeat收集tomcat紀錄檔

vim小技巧,在輸入模式使用ctrl+p既可以補全單詞,在命令模式要刪除""之間的內容,可以使用d+i+"即可刪除

1.設定filebeat收集tomcat紀錄檔
[root@nginx02 ~]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/tomcat/logs/localhost_access_log.*			#localhost_access_log紀錄檔要寫成萬用字元的形式,因為這個紀錄檔每天都會生成一份
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["tomcat"]
output.elasticsearch:
  hosts: ["192.168.81.210:9200"]gg
    - index: "tomcat-access-%{+yyyy.MM.dd}"
      when.contains:
        tags: "tomcat"
2.重啟filebeat
[root@nginx02 ~]# systemctl restart filebeat

2.2.使用ab壓測工具生成1000行tomcat紀錄檔

[root@nginx02 ~]# yum -y intsall httpd-tools
[root@nginx02 ~]# ab -c 100 -n 1000 http://127.0.0.1:8080/
[root@nginx02 ~]# wc -l /data/tomcat/logs/localhost_access_log.2021-01-20.txt 
1000 /data/tomcat/logs/localhost_access_log.2021-01-20.txt

2.3.檢視es是否收集到紀錄檔

索引已經建立且紀錄檔已經收集到1000條

3.kibana關聯es索引庫進行資料查詢

3.1.關聯es索引庫

Managerment---索引模式---建立索引

關聯成功

3.2.檢視收集來的tomcat紀錄檔

點選Discovery---選擇tomcat索引庫,根據自己的條件進行查詢即可

以上就是filebeat收集json格式的tomcat紀錄檔詳解的詳細內容,更多關於filebeat收集json格式tomcat紀錄檔的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com