Logstash 日誌收集(補)

2022-04-18 06:21:25 字數 3623 閱讀 8166

# 安裝 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...