Linux服務器和Nginx配置syslog轉發


一、將Linux系統日志通過Rsyslog輸出到syslog服務器

Rsyslog是linux系統下高速的日志收集處理服務,它具有高性能、安全可靠和模塊化設計的特點,能夠接收各種來源的日志輸入(例如:file,tcp,udp,uxsock等),並通過處理后將結果輸出的不同的目的地(例如:mysql,mongodb,elasticsearchkafka,日志審計服務器等),每秒處理日志量能夠超過百萬條。

Rsyslog作為syslog的增強升級版本已經在各linux發行版默認安裝了,無需額外安裝。如果操作系統中確實沒有Rsyslog,可以通過yum進行安裝或升級。

# yum install rsyslog

 

本文Linux操作環境以以CentOS 7為例,syslog的接收服務器為某日志審計服務器,syslog服務端口默認為514。

rsyslog的配置文件位於/etc/rsyslog.conf,編輯該文件,並設置輸出syslog服務器的IP(建議先備份原有的rsyslog.conf配置文件)。

// 在rsyslog.conf文件末尾增加如下內容,注意*.*和@中間為TAB(不是空格)
*.*	@10.168.1.100

// 重啟rsyslog服務
# service rsyslog restart

  

二、將Nginx的日志輸出到syslog服務器

Nginx 1.7.1版本及以后即可支持syslog,通過在nginx.conf中增加相關的配置即可實現。Nginx的access_log和error_log在配置文件的http段和server段均可配置。

// 將access_log記錄到服務器本地文件
access_log  /var/log/nginx/access.log main;
// 新增將access_log輸出到syslog server
access_log syslog:server=10.168.1.100,facility=local7,tag=nginx,severity=info;

//將error_log記錄到服務器本地文件
error_log   /var/log/nginx//error.log warn;
// 新增將error_log輸出到syslog server
error_log syslog:server=10.168.1.100,facility=local7,tag=nginx,severity=warn;

//重啟nginx服務
# systemctl restart nginx.service

  

配置參數說明:

syslog:  表示設置日志用syslog服務接收

server: 接收syslog日志的syslog服務端地址,默認使用udp協議,端口是514

facility: 設施,指定日志消息的設備類型,可以有kern, user, mail, daemon, auth, intern, lpr, news, uucp, clock, authpriv, ftp, ntp, audit, alert, cron, local0-7這些類型。例如認證類型auth、計划任務cron、程序自定義的local0-7等,默認值是local7。(沒有什么特別的含義,不必深究)

tag: 標記,給日志添加一個tag,主要是為了方便我們在服務端區分是哪個服務、應用、站點傳來的日志,例如我們這里設置了tag為nginx,如果有多個服務同時都寫日志給syslog,且配置了不同的tag,如“nginx_mydomain_com”,在rsyslog服務端就可以根據這個tag找出指定的nginx的日志

severity: 日志級別,主要有debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)這些類型,只要報錯信息超過該級別就會進行記錄。

 

三、配置效果

日志審計服務器上收集到的日志列表,標記為本地用戶7(local7)的為nginx日志,其余的為服務器的系統日志(用戶登錄、注銷等)

 

* 如果沒有專門的日志審計服務器,Rsyslog本身也可以作為日志收集服務器。

 

參考資料:

1. Rsyslog快速方便的收集Nginx日志 https://www.sohu.com/a/250953403_100123073

2. Nginx使用Rsyslog記錄日志 http://www.imooc.com/article/259236

3. Logging to syslog (Nginx官方文檔) http://nginx.org/en/docs/syslog.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM