Logstash收集Nginx日誌

2021-09-19 21:51:46 字數 4515 閱讀 2698

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

cd /usr/local/src/

wget -c

wget -c

wget -c

tar -xf kibana-6.1.1-linux-x86_64.tar.gz -c /usr/local/src/

tar -xf logstash-6.1.1.tar.gz -c /usr/local/src/

unzip elasticsearch-6.1.1.zip -d /usr/local/src/

### 建立軟連線

ln -sv /usr/local/src/logstash-6.1.1 /usr/local/logstash

ln -sv /usr/local/src/kibana-6.1.1-linux-x86_64/ /usr/local/kibana

ln -sv /usr/local/src/elasticsearch-6.1.1/ /usr/local/elasticsearch

vim /etc/profile.d/els.sh

# 內容如下

path=$path:/usr/local/elasticsearch/bin/

path=$path:/usr/local/kibana/bin/

path=$path:/usr/local/logstash/bin/

#source /etc/profile.d/els.sh

2. 配置elasticsearch需要的系統配置

ulimit -n 65536

vim /etc/security/limits.conf

#limits.conf內容如下

* soft nofile 65536

* hard nofile 65536

elk安裝x-pack擴充套件(可選)

logstash-plugin install x-pack

elasticsearch-plugin install -xpack

kibana-plugin install x-pack

/usr/local/elasticsearch/bin/x-pack/setup-passwords interactive
4. 配置nginx的日誌格式與日誌路徑

log_format main '';

access_log /var/logs/nginx/access.log main;

error_log /var/logs/nginx/error.log error;

5 . 寫logstash的日誌收集檔案

}}可以命名為logstash.conf

6 . 如部署到伺服器,可使用ftp,scp,rsync,ansible等等工具上傳到伺服器(可選)

7 . 執行logstash進行測試,測試前,因為我們的logstas**件有使用到環境變數elastic_host,主機位址可以自己進行定義。

export elastic_host=[某伺服器位址]

logstash -f -t logstash.conf ##檢查配置是否正確

logstash -f logstash.conf ## 執行logstash

8. 如果想以服務方式執行logstash

cd /usr/local/logstash/bin/

./system-install --help

usage: system-install [optionsfile] [startuptype] [version]

note: these arguments are ordered, and co-dependent

optionsfile: full path to a startup.options file

optionsfile is required if startuptype is specified, but otherwise looks first

in /usr/local/logstash/config/startup.options and then /etc/logstash/startup.options

last match wins

startuptype: e.g. sysv, upstart, systemd, etc.

optionsfile is required to specify a startuptype.

version: the specified version of startuptype to use. the default is usually

preferred here, so it can safely be omitted.

both optionsfile & startuptype are required to specify a version.

我使用的為centos7系統,使用systemd。如果想要在systemd中定義環境變數那麼。

cd /etc/systemd/system/

vim logstash.service

### 定義變數的行

environment="key=value"

execstart=/usr/local/logstash/bin/logstash "--path.settings" "/usr/share/logstash/config" ###修改服務執行指令碼

9 . 新增系統的logstash使用者

useradd -s /sbin/nologin -m logstash

chown -r logstash.logstash /usr/local/logstash ## 改變logstash的屬主屬組,否則服務啟動會報錯。

10. 啟動logstash

systemctrl start logstash

journalctl -u logstash ## 檢視logstash的日誌

想要監控logstash的情況的話

在logstash的配置檔案中

cd /usr/local/logstash/config

xpack.monitoring.elasticsearch.url : "elasticsearch伺服器位址"

xpack.monitoring.elasticsearch.username: logstash_system

xpack.monitoring.elasticsearch.password: ***

logstash的功能很強大,還有一些其餘的方案可以嘗試,可以配合elk與docker一起使用,達到更靈活的效果

logstash 收集nginx日誌

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

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 最後允許一下看一下效果所示 唯一不足的就是中間報...