在Windows环境下,用apache服务器做一个简单的Tomcat容器数据采集,用logstash工具接受并记录数据,notepad3工具编辑文件
步骤图:
文章所需工具: Tomcat容器数据采集文件 、 Notepad3 (方便查看代码)
准备工作:新建一个文件夹为:Server-Tomcat 把下载好的三个压缩文件解压到里面
一、修改Tomcat配置文件
1.1 进入apache-tomcat-8.5.64/conf目录内找到server.xml文件,用notepad3打开,Ctrl+F打开查找:Connector port查看端口(默认为:8080)
1.2 回到 apache-tomcat-8.5.64/bin 目录内,地址栏输入cmd回车打开命令窗,在内输入startup.bat回车启动tomcat
java_HOME错误
在apache-tomcat-8.5.64/bin目录下找到 setclasspath.bat 在如图位置加入java文件后,再次启动即可
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
set JRE_HOME=C:\Program Files\Java\jdk1.8.0_181\jre
二、修改Filebeat文件
2.1 进入 filebeat 文件目录,复制一个 filebeat.yml 文件,重命名为:filebeat-tomcat.yml
2.2 用notepad3打开新复制的文件,将以下代码写入,并修改paths后的路径(指向你的apache-tomcat-8.5.64/logs/localhost*.log)端口号为5044
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/apache-tomcat-8.5.49/logs/localhost*.log
output.logstash:
hosts: ["localhost:5044"]
D:/Server-Tomcat/apache-tomcat-8.5.64/logs/localhost*.log
2.3 启动 filebeat:回到 filebeat 目录,在地址栏输入cmd回车,在cmd命令窗内输入filebeat - c 将 filebeat-tomcat.yml 拖入回车,即可启动(启动后最小化窗口)
三、修改logstash配置文件
3.1 先返回Server-Tomcat目录新建output文件夹(接收采集数据)
3.2 再进入 Server-Tomcat/logstash-6.8.7/config 文件目录,复制一个 logstash-sample.conf 文件,重命名为:logstash-filebeatTomcat-csv.conf
然后将以下代码写入,并修改path引号内路径为你的output文件夹路径:
input {
# to do
beats {
port => 5044
}
}
filter {
# refer: E:\Server\elk\logstash-6.8.7\vendor\bundle\jruby\2.5.0\gems\logstash-patterns-core-4.1.2\patterns
# to do
# 06-Aug-2020 11:20:54.873 info [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
grok {
match => [
"message", "(?<timestamp>[\S]+ [\S]+) (?<level>[\S]+) \[(?<thread>[\S]+)\] (?<class>[\S]+) (?<info>[\S\s]*)"
]
}
}
output {
csv {
path => "D:/Server-Tomcat/output/tomcat-file.csv"
fields => ["timestamp" ,"thread", "class"]
csv_options => {"col_sep" => " "}
}
stdout{
codec => rubydebug
}
}
3.3 启动 logstash:回到 logstash/bin 目录内,地址栏输入cmd回车弹出命令窗,然后在命令窗内输入 logstash -f 再将 logstash/config 内的 logstash-filebeatTomcat-csv.conf 文件拖入命令窗回车即可启动
四、进行数据采集
启动浏览器 输入 127.0.0.1:8080 刷新页面即可开始采集数据
采集文件在 output 文件内:js-sdk-file.csv
评论 (0)