logstash 收集nginx日誌

2022-03-15 12:43:03 字數 4370 閱讀 7411

一、logstash使用學習

不難理解,我們的日誌通常都是在日誌檔案中儲存的,所以,當我們在使用input外掛程式時,收集日誌,需要使用file模組,從檔案中讀取日誌的內容,那麼接下來講解的是,將日誌內容輸出到另乙個檔案中,如此一來,我們可以將日誌檔案同意目錄,方便查詢。

注意:logstash與其他服務不同,收集日誌的配置檔案需要我們根據實際情況自己去寫。

前提:需要logstash對被收集的日誌檔案有讀的,並且對要寫入的檔案,有寫入的許可權。

1.logstash配置檔案
[root@web01 ~]# vim /etc/logstash/logstash.yml

path.config: /etc/logstash/conf.d

2.logstash收集單個日誌到檔案

1)配置

[root@web01 ~]# cd /etc/logstash/conf.d/

[root@web01 /etc/logstash/conf.d]# vim message_file.conf

input

}output "

}}[root@web01 /etc/logstash/conf.d]# vim message_file.conf

#輸入外掛程式

input

}#輸出外掛程式

output .log"}}

2)啟動
#檢測語法

[root@web01 ~]# logstash -f /etc/logstash/conf.d/message_file.conf -t

#啟動[root@web01 ~]# logstash -f /etc/logstash/conf.d/message_file.conf &

3)測試日誌收集
#實時監控收集到的日誌

[root@web01 ~]# tail -f /tmp/messages_2020-12-04

#手動新增一台日誌

[root@web01 ~]# echo 111 >> /var/log/messages

3.logstash收集單個日誌到es

1)配置

[root@web01 ~]# vim /etc/logstash/conf.d/message_es.conf 

input

}output "

}}

2)啟動
[root@web01 ~]# logstash -f /etc/logstash/conf.d/message_es.conf &

[2] 82713

4.logstash啟動多例項
logstash收集日誌時使用多例項方式啟動,不是使用system管理啟動,

但是啟動多例項會報錯,怎麼處理?

1)配置收集/var/log/secure日誌
[root@web01 ~]# vim /etc/logstash/conf.d/secure_es.conf 

input

}output "

}}

2)啟動多例項
logstash只啟動乙個不需要資料目錄,如果想要啟動多個程序,

需要每個程序指定不同的資料目錄,需要加 --path.data引數,然後可以啟動多例項

1.建立資料目錄

[root@web01 ~]# mkdir /data/logstash/messages_es -p

[root@web01 ~]# mkdir /data/logstash/secure_es -p

[root@web01 ~]# chown -r logstash.logstash /data/logstash/

2.分別指定資料目錄再啟動兩個程序

[root@web01 ~]# logstash -f /etc/logstash/conf.d/message_es.conf --path.data=/data/logstash/messages_es &

[root@web01 ~]# logstash -f /etc/logstash/conf.d/secure_es.conf --path.data=/data/logstash/secure_es &

5.logstash收集多個日誌到檔案

1)配置

[root@web01 ~]# vim /etc/logstash/conf.d/morefile_file.conf

#輸入的外掛程式

input

#第二個檔案模組

file

}#輸出外掛程式

output

}

2)啟動
[root@web01 ~]# logstash -f /etc/logstash/conf.d/morefile_file.conf &
3)驗證
[root@web01 ~]# tail -f /tmp/morefile.txt

#手動新增檔案

[root@web01 ~]# echo 111 >> /var/log/messages

[root@web01 ~]# echo 2222 >> /var/log/secure

6.logstash收集多個日誌到es

1)配置

[root@web01 ~]# vim /etc/logstash/conf.d/morefile_es.conf 

input

file

}output "

}}

2)啟動
[root@web01 ~]# logstash -f /etc/logstash/conf.d/morefile_es.conf &
3)驗證

7.收集多個日誌到多個索引

1)方法一:

#配置

[root@web01 ~]# cat /etc/logstash/conf.d/morefile_es.conf

input

file

}output "

}} if [type] == "secure_log" "}}}

#啟動[root@web01 ~]# logstash -f /etc/logstash/conf.d/morefile_es.conf

2)方法二:

#配置

[root@web01 ~]# cat /etc/logstash/conf.d/second_morefile_es.conf

input

file

}output _%"

}}#啟動[root@web01 ~]# logstash -f /etc/logstash/conf.d/second_morefile_es.conf

二、使用logstash收集nginx日誌

1.修改nginx日誌格式為json格式

}

2.重啟nginx訪問檢視日誌
[root@web01 ~]# systemctl restart nginx

[root@web01 ~]# tail -f /var/log/nginx/access.log

}output "

}}

4.啟動並測試
[root@web01 ~]# logstash -f /etc/logstash/conf.d/nginx_log_es.conf

Logstash收集Nginx日誌

通過日誌我們可以及時發現軟體所遇到的問題,但是日誌位於伺服器上,不便於觀察,視覺化的實時收集日誌並分析十分重要,而elk棧為另外們提供了很好的解決方案。這裡,我們使用logstash收集nginx日誌,並輸出到elasticsearch,用kibana來顯示。cd usr local src wge...

Logstash收集nginx訪問日誌和錯誤日誌

logstash收集nginx訪問日誌和錯誤日誌 1 收集訪問日誌 1 首先是要在nginx裡面配置日誌格式化輸出 2 接下來開始在logstash建立處理nginx的配置檔案 input github 3 最後允許一下看一下效果所示 唯一不足的就是中間報了個錯誤,可以自行解決一下。2 收集錯誤日誌...

Logstash收集nginx訪問日誌和錯誤日誌

1 收集訪問日誌 1 首先是要在nginx裡面配置日誌格式化輸出 2 接下來開始在logstash建立處理nginx的配置檔案 input filter if request if uri kv mutate date output github 3 最後允許一下看一下效果所示 唯一不足的就是中間報...