Nginx使用Rsyslog记录日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 直接使用Nginx记录日志,在多台服务器的情况下日志会过于分散不容易管理,不过nginx在1.7.1版本以后,可以使用Rsyslog来记录日志。Rsyslog可以作为集中日志服务器。

直接使用Nginx记录日志,在多台服务器的情况下日志会过于分散不容易管理,不过nginx在1.7.1版本以后,可以使用Rsyslog来记录日志。

Rsyslog可以作为集中日志服务器。使用Ryslog了解两个关键术语。

  • facility:设施,收束日志数据流为有限几个;我们使用的一般是local0-local7自定义收集数据auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7

  • proirity:优先级,在记录日志是我们选择一个级别,只要报错信息超过该级别就都会记录debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

配置

Nginx相关配置

nginx的access_log使用语法

Syntax: 
  access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
  access_log off;
Default:    access_log logs/access.log combined;
Context:    http, server, location, if in location, limit_except

aceess_log记录到syslog案例

error_log syslog:server=192.168.1.1 debug;
access_log syslog:server=unix:/var/log/nginx.sock,nohostname;
access_log syslog:server=[2001:db8::1]:12345,facility=local7,tag=nginx,severity=info combined;

案例

  1. Nginx我们使用如下Nginx配置
access_log syslog:server=127.0.0.1,facility=local6 main;
  1. 修改Ryslog的配置
vim /etc/rsyslog.conf

### 开启rsyslog端口
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

### 配置nginx日志的路径,上面我们nginx的facility为local6,所以对应local6的位置
local6.*                                                /var/log/nginx
  1. 重启服务
nginx -s reload
systemctrl restart rsyslog
  1. 查看结果
tail -f /var/log/nginx
img_b721d202e47a9fd238fde59051701a57.png
查看结果

总结

简单的演示了如何配置Nginx与Rsyslog的结合,Rsyslog作为集中式日志服务器,在日志数量多的情况下会显示出它的优势。

附录

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
7月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
550 90
|
10月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
917 3
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
913 6
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
170 4
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
864 1
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
479 0
部署ELK+filebeat收集nginx日志
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
3155 0
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
193 0
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
151 0