Nginx日志配置远程Syslog采集

第一步:初始化日志采集环境

先确保系统中的/var/spool/rsyslog 目录已存在

mkdir -v /var/spool/rsyslog
if [ "$(grepUbuntu /etc/issue)" != "" ]; then
 
chown -R syslog:adm/var/spool/rsyslog
fi

第二步创建Nginx日志文件采集配置

新建Rsyslog的子配置文件他通常在/etc/rsyslog.d需要/etc/rsyslog.conf去包含这个目录下的子配置文件

vim /etc/rsyslog.d/nginx-biglog.conf

复制以下内容到nginx-biglog.conf,注意注释部分的修改:

$ModLoad imfile
$InputFilePollInterval10
$WorkDirectory/var/spool/rsyslog
$PrivDropToGroup adm

## Nginx访问日志文件路径根据实际情况修改:
$InputFileName/usr/local/nginx/logs/access.log
$InputFileTagnginx-access:
$InputFileStateFilestat-nginx-access
$InputFileSeverityinfo
$InputFilePersistStateInterval25000
$InputRunFileMonitor

## Nginx错误日志文件路径根据实际情况修改:
$InputFileName/usr/local/nginx/logs/error.log
$InputFileTagnginx-error:
$InputFileStateFilestat-nginx-error
$InputFileSeverityerror
$InputFilePersistStateInterval25000
$InputRunFileMonitor

## 指定日志格式模板
$templateBiglogFormatNginx,"%msg%\n"

## 注意syslog日志服务器接收地址根据实际情况修改
if $programname =='nginx-access' then @10.x.x.x:514;BiglogFormatNginx
if $programname =='nginx-access' then ~
if $programname =='nginx-error' then @10.x.x.x:514;BiglogFormatNginx
if $programname =='nginx-error' then ~

通过Rsyslog配置日志接收端的时候如上示例@10.x.x.x:514用于指定接收日志的服务器的协议、IP地址和端口号。使用@代表走UDP协议,使用@@代表走TCP协议,冒号后面的514代表接收端口。

第三步:重启Rsyslog服务,日志采集开始工作

service rsyslog restart

此时可以通过观察系统中的Rsyslog日志确定是否正常工作。

cat /var/log/messages |grep rsyslog

 

 

 


分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS