web服务器安装jdk,安装Tomcat还有logstash
安装jdk
[root@es-web1 ~]# apt install openjdk-8-jdk -y
dpkg安装logstash(需要改启动文件的以root启动)
[root@es-web1 src]# dpkg -i logstash-7.12.1-amd64.deb
创建目录
[root@es-web1 ~]# mkdir /apps
解压
[root@es-web1 apps]# tar xf apache-tomcat-8.5.54.tar.gz
制作软链接
[root@es-web1 apps]# ln -sv /apps/apache-tomcat-8.5.54 /apps/tomcat
'/apps/tomcat' -> '/apps/apache-tomcat-8.5.54'
创建目录
[root@es-web1 webapps]# pwd
/apps/tomcat/webapps
[root@es-web1 webapps]# mkdir myapp
添加数据
[root@es-web1 webapps]# vim myapp/index.jsp
myapp for 172.31.2.107
启动
[root@es-web1 tomcat]# ./bin/catalina.sh start
测试:
http://172.31.2.107:8080/myapp/
改Tomcat 配置
[root@es-web1 tomcat]# vim conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="tomcat_access_log" suffix=".log"
pattern="{"clientip":"%h","ClientUser":"%l","authenticated":"%u","AccessTime":"%t","metod":"%r","status":"%s","SendBytes":"%b","Query?string":"%q","partner":"%{Referer}i","AgentVersion":"%{User-Agent}i"}"/>
停止
[root@es-web1 tomcat]# ./bin/catalina.sh stop
启动
[root@es-web1 tomcat]# ./bin/catalina.sh start
查看日志
[root@es-web1 tomcat]# tail -f logs/tomcat_access_log.2021-08-25.log
在原来的基础上写logstash配置
root@long:/usr/local/src# vim /etc/logstash/conf.d/system-log-es.conf
input {
file {
path => "/var/log/bootstrap.log"
start_position => "beginning"
stat_interval => 3
type => "bootstrap"
}
file {
path => "/apps/tomcat/logs/tomcat_access_log.*.log"
start_position => "beginning"
stat_interval => 3
type => "tomcat-accesslog"
}
}
output {
if [type] == "bootstrap"{
elasticsearch {
hosts => ["172.31.2.101:9200"]
index => "long-bootstrap-log-%{+YYYY.MM.dd}"
}}
if [type] == "tomcat-accesslog"{
elasticsearch {
hosts => ["172.31.2.101:9200"]
index => "long-tomcat-accesslog-%{+YYYY.MM.dd}"
codec => "json"
}}
}
改权限
[root@es-web1 conf.d]# chmod 644 /apps/tomcat/logs/tomcat_access_log.*.log
重启
root@long:/usr/local/src# systemctl restart logstash
添加到kibana
略
收集java日志并合并日志
[root@linux-host1 ~]# vim /etc/logstash/conf.d/java.conf
input {
file {
path => "/apps/tomcat/logs/catalina.out"
type => "javalog"
start_position => "beginning"
stat_interval => 3
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}}
}
output {
if [type] == "javalog" {
stdout {
codec => "rubydebug"
}
file {
path => "/tmp/m.txt"
}}
}
检查语法:
[root@linux-host1 ~]# /usr/share/logstash/bin/logstash -f
/etc/logstash/conf.d/java.conf -t
将输出改为elasticsearch:
更改后的内容如下:(注意:后面正则不能使用模糊匹配,不然会一直匹配下去)
[root@es-web1 ~]# cat /etc/logstash/conf.d/java-to-es.conf
input {
file {
path => "/apps/tomcat/logs/catalina.out"
start_position => "beginning"
stat_interval => 3
type => "javalog"
codec => multiline {
pattern => "^\d+\-\w+\-[0-9]{4}"
negate => true
what => "previous"
}}
}
output {
if [type] == "javalog" {
elasticsearch {
hosts => ["172.31.2.101:9200"]
index => "long-javalog-%{+YYYY.MM.dd}"
}}
}
重启
root@linux-host1 ~]# systemctl restart logstash
添加到kibana
略