架構圖html
本次沒有使用redis,直接用logstash(生產環境的話,建議搭建使用filebeat)收集到的數據送到es中去,這樣的壞處,當量大的話,致使es壓力上去web
1,安裝redis
jdk,es,kibana省略。。。apache
#安裝tomcat [root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.38/bin/apache-tomcat-8.0.38.tar.gz [root@localhost ~]# tar xvf apache-tomcat-8.0.38.tar.gz [root@localhost ~]# mv apache-tomcat-8.0.38 /data/application/tomcat
2,啓動tomcat
json
#來個簡單界面 [root@localhost ~]#mkdir /data/application/tomcat/webapps/webdir [root@localhost ~]#echo "Hello,Tomcat" > /data/application/tomcat/webapps/webdir/index.html
#啓動tomcat [root@localhost webapps]# /data/application/tomcat/bin/startup.sh Using CATALINA_BASE: /data/application/tomcat Using CATALINA_HOME: /data/application/tomcat Using CATALINA_TMPDIR: /data/application/tomcat/temp Using JRE_HOME: /data/application/jdk1.8.0_91/ Using CLASSPATH: /data/application/tomcat/bin/bootstrap.jar:/data/application/tomcat/bin/tomcat-juli.jar
進行訪問
bootstrap
3,修改tomcat日誌爲json格式
vim
#根據本身須要修改tomcat
[root@localhost tomcat]# vim /data/application/tomcat/conf/server.xmlbash
<Valve className="org.apache.catalina.valves.AccessLogValve"架構
directory="logs"
prefix="tomcat_access_log" suffix=".log"
pattern="{"clientip":"%h","ClientUser":"%l","authenticated":"%u","AccessTime":"%t","method":"%r","status":"","SendBytes":"%b","Query?string":"%q","partner":"%{Referer}i","AgentVersion":"%{User-Agent}i"}"/>
#中止tomcat [root@localhost tomcat]# ./bin/shutdown.sh #啓動tomcat [root@localhost tomcat]# ./bin/startup.sh
4,查看tomcat日誌格式
#驗證json日誌
4,測試logstash配置文件
[root@localhost server_config]# /data/application/logstash-5.2.0/bin/logstash -f tomcat.conf -t
#啓動logstash服務 [root@localhost server_config]# cat tomcat.conf input { file { path => "/data/application/tomcat/logs/tomcat_access_log*.log" start_position => "end" type => "tomcat-log" stat_interval => "3" } } output { if [type] == "tomcat-log" { elasticsearch { hosts => ["192.168.201.135:9200"] index => "tomcat-access-%{+YYYY.MM.dd}" codec => "json" }} } [root@localhost server_config]# /data/application/logstash-5.2.0/bin/logstash -f tomcat.conf
5,查看es情況
6,kibana效果
至此tomcat收集日誌結束
注意:
logstash的output中,輸入同一個集羣的不一樣機器上效果是一致的,由於他們是一個集羣。固然也能夠指定輸出到不一樣的集羣中。
2. 從kibana Tomcat頁面中能夠看出,Tomcat日誌,已經變成了json格式,這是因爲logstash中指定了參數codec="json" 的結果,不然kibana這裏就是一坨
3. 這個坑是關於時間同步的,若是kibana與你的logstash時間不一樣步,kibana上的日誌可能沒法顯示,這就須要養成作標準化的習慣,切記