# 安裝 jdk
[root@web01 ~]# rpm -ivh jdk-8u181-linux-x64.rpm
[root@web01 ~]# wget
# 解壓
[root@web01 ~]# tar xf apache-tomcat-10.0.0-m7.tar.gz -c /usr/local/
# 做軟連線
[root@web01 ~]# ln -s /usr/local/apache-tomcat-10.0.0-m7 /usr/local/tomcat
# 啟動 tomcat
[root@web01 ~]# /usr/local/tomcat/bin/startup.sh
# 6.訪問頁面 10.0.0.7:8080
tomcat 訪問日誌(access-log)的格式在 server.xml 中可以直接修改,先修改訪問格式的日誌試試水 ~ ~ ~
# 把原來的日誌格式注釋,新增我們的格式
[root@web01 ~]# vim /usr/local/tomcat/conf/server.xml
# 重啟 tomcat
[root@web01 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web01 ~]# /usr/local/tomcat/bin/startup.sh
# 配置收集新的 tomcat 日誌
[root@web01 ~]# vim /etc/logstash/conf.d/tomcat_json_es.conf
input
}output "
}}
一般我們會收集 tomcat 服務執行日誌(catalina-log),當遇到報錯時,一條報錯會被分割成很多條資料,不方便檢視,解決方法:
①. — 修改 tomcat 的 catalina 日誌格式為 json
— 1)開發修改輸出日誌為 json
— 2)修改 tomcat 配置,日誌格式為 json
②. — 使用 logstash 的 input 外掛程式下的 mutiline 模組
下面使用第二種方法,即 mutiline 模組實現服務執行日誌的切分
# 使用 mutiline 模組
[root@web01 ~]# vim /etc/logstash/conf.d/test_mutiline.conf
input
}}output
}# 測試,輸入內容不會直接輸出,當遇到以 [ 開頭才會收集以上的日誌
[root@web01 ~]# logstash -f /etc/logstash/conf.d/test_mutiline.conf
......
...]ab
cd[a
bcdefg[
# 收集 catalina 錯誤日誌
[root@web01 conf.d]# vim /etc/logstash/conf.d/catalina_out.conf
input
}}output "
codec => "json"
}}
# 測試,手動新增一些錯誤的日誌,到 catlina 日誌中
[root@web01 ~]# yum install -y nginx
# 配置 nginx 訪問日誌格式
# 配置收集訪問日誌
[root@web01 ~]# vim /etc/logstash/conf.d/nginx_json.conf
input
}output "
}}
nginx 中的錯誤日誌不會像 tomcat 中的錯誤日誌一樣分成很多行,只需要正常的配置,按行切分
}# 把收集到的資料進行處理
filter
}output "
}}
因為將 message 字段拆分到文件欄位後,就不需要 message 字段資料了,所以需要將 message 字段移除:
# message 資料已經拆分,資料還在,去掉 message 資料
filter
}
# 最方便的方法,只需要一行 codec => "json"
# file 中的日誌格式一定要是 json 格式
[root@web01 ~]# vim /etc/logstash/conf.d/nginx_json.conf
input
}output "
}}
# 收集 catalina 服務啟動(及報錯)日誌
[root@web01 conf.d]# cat catalina_out.conf
input
}}output "
codec => "json"
}}# 收集 nginx 、tomcat 訪問日誌
[root@web01 conf.d]# cat nginx_tomcat.conf
input
file
}output _%"
}}
[root@web01 conf.d]# logstash -f /etc/logstash/conf.d/nginx_tomcat.conf &
[root@web01 conf.d]# logstash -f /etc/logstash/conf.d/catalina_out.conf --path.data=/data/logstash/catalina/ &
[root@web01 ~]# vim /etc/logstash/conf.d/nginx_to_redis.conf
input
}output
}
Logstash收集Nginx日誌
通過日誌我們可以及時發現軟體所遇到的問題,但是日誌位於伺服器上,不便於觀察,視覺化的實時收集日誌並分析十分重要,而elk棧為另外們提供了很好的解決方案。這裡,我們使用logstash收集nginx日誌,並輸出到elasticsearch,用kibana來顯示。cd usr local src wge...
logstash 收集nginx日誌
一 logstash使用學習 不難理解,我們的日誌通常都是在日誌檔案中儲存的,所以,當我們在使用input外掛程式時,收集日誌,需要使用file模組,從檔案中讀取日誌的內容,那麼接下來講解的是,將日誌內容輸出到另乙個檔案中,如此一來,我們可以將日誌檔案同意目錄,方便查詢。注意 logstash與其他...
logstash通過tcp收集日誌
1.修改配置檔案 vim etc logstash conf.d tcp.conf input output 2.檢測配置檔案語法和啟動 logstash f etc logstash conf.d tcp.conf t logstash f etc logstash conf.d tcp.conf...