Nginx會(huì)把a(bǔ)ccess和error日志記錄到文件中,利用Syslog歷程(如:rsyslog)可以監(jiān)控這些日志而且將他們發(fā)送到Loggly中,下面就是如何利用Loggly來(lái)記載nginx的日志。本例中的rsylog利用1.19或更高版本,利用TCP 514端口,,Ubuntu上默認(rèn)的Nginx日志目次和尺度的日志名目。
自動(dòng)安裝劇本
1. 運(yùn)行Nginx設(shè)置劇本
運(yùn)行如下腳原來(lái)搭建Nginx日志并傳輸?shù)絃oggly上。
curl -O https://www.loggly.com/install/configure-nginx.sh
sudo bash configure-nginx.sh -a SUBDOMAIN -u USERNAME
|
curl -O https://www.loggly.com/install/configure-nginx.sh sudo bash configure-nginx.sh -a SUBDOMAIN -u USERNAME |
說(shuō)明:
SUBDOMAIN 是你在Loggly上面注冊(cè)的子域名
USERNAME 是你的Loggly的用戶名
2. 確認(rèn)事件
在Loggly上確認(rèn)nginx標(biāo)簽是否已經(jīng)打上。大概需要換上幾分鐘同步,假如沒(méi)有可以憑據(jù)如下步調(diào)舉辦troubleshooting。
tag:nginx

手動(dòng)設(shè)置
1. 設(shè)置Syslog Daemon
curl -O https://www.loggly.com/install/configure-linux.sh
sudo bash configure-linux.sh -a SUBDOMAIN -u USERNAME
|
curl -O https://www.loggly.com/install/configure-linux.sh sudo bash configure-linux.sh -a SUBDOMAIN -u USERNAME |
同樣:
SUBDOMAIN 是你在Loggly上面注冊(cè)的子域名
USERNAME 是你的Loggly的用戶名
2. 設(shè)置Nginx文件監(jiān)控
建設(shè)可能打開(kāi)rsyslog設(shè)置文件:
sudo vim /etc/rsyslog.d/21-nginx-loggly.conf
|
sudo vim /etc/rsyslog.d/21-nginx-loggly.conf |
將下面的部門添加進(jìn)去:
$ModLoad imfile
$InputFilePollInterval 10
$PrivDropToGroup adm
$WorkDirectory /var/spool/rsyslog
# Nginx access file:
$InputFileName /var/log/nginx/access.log
$InputFileTag nginx-access:
$InputFileStateFile stat-nginx-access
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
#Nginx Error file:
$InputFileName /var/log/nginx/error.log
$InputFileTag nginx-error:
$InputFileStateFile stat-nginx-error
$InputFileSeverity error
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
#Add a tag for nginx events
$template LogglyFormatNginx,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [[email protected] tag=\"nginx\"] %msg%\n"
if $programname == 'nginx-access' then @@logs-01.loggly.com:514;LogglyFormatNginx
if $programname == 'nginx-access' then ~
if $programname == 'nginx-error' then @@logs-01.loggly.com:514;LogglyFormatNginx
if $programname == 'nginx-error' then ~