syslog服务器(Nginx访问日志和错误日志入门)

1.Nginx日志分类:访问日志和错误日志访问日志:记录发起请求的客户端的IP地址、发起请求的时间、发起请求的方法(GET\POST等)、发起请求的HTTP协议(HTTP/1.1等)、浏览器相关信息、响应状态结果等。错误日志:记录发起请求的客户端的IP地址、发起请求的时间、发起请求的方法(GET\POST等)、发起请求的HTTP协议(HTTP/1.1等)、服务器的调试信息、异常信息等。当然通过Nginx的日志指令,可以设置更多信息输出到日志中,通过日志分析可以了解到网站的可用性、性能、安全性等,还可以为问题排查提供帮助。2.访问日志配置:指令:access_log含义:用来设置访问日志的输出位置和选用的输出格式。输出位置可以是本地文件、syslog服务器、内存缓冲区等。syslog服务器是专门用来存储、分析日志的服务器。作用域:http、stream、server、location、if in location、limit except设置方法:access_log logs/access.log main;logs/access.log为本地存储日志文件,main为日志输出的格式。3.访问日志格式配置指令:log_format含义:设置访问日志的格式作用域:http、stream设置方法:(1)常用格式-比如日志格式名称为main,该名称为任意,但是不能出现重复,包括如下信息:log_format main '$remote_addr – $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';(2)json格式–比如日志格式名称为logjson,该名称为任意,但是不能出现重复,包括如下信息:log_format logjson '{
"@timestamp": "$time_local", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_referrer": "$http_referer", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_user_agent": "$http_user_agent" }
}';常配合nginx自有的变量,参见:Nginx核心指令if和set入门 Nginx中nginx.conf配置文件详解中提到的变量。4.错误日志配置:指令:error_log含义:设置错误日志输出位置和日志级别。日志级别分为8种,不支持自定义日志格式。debug (8)、info(7)、notice(6 )、warn(5 )、error(4 )、crit (3)、alert (2 )、emerg (1)。从1到8,记录的日志越来越详细,debug输出级别输出最为详细,配合调试使用,但是debug和info会消耗大量磁盘 IO 资源。实际生产环境中常用的error 输出级别。作用域:main、http、mail、stream、server、location设置方法:error_log logs/error.log error;logs/error.log 为错误日志存储路径,error为错误日志级别。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/33582.html

kuaisubeian