就我们普通的JAVAWEB项目来说,主要的日志一样平常输出并存放在Tomcat的log目录下,并区分日志输出级别。用于区分,查阅并统计干系日志信息。
当然,这不是重点,重点是很多公司,对付日志的主要性彷佛并不是那么重视,当然这可能跟平台本身有一定的关系。
日志配置实在剖析Nginx日志,可以得到很多有用的数据,相应耗时的url、要求韶光,各个韶光段的要求量,并发量。合营利用ELK日志系统可以很好的呈现系统利用情形。
一样平常来说,常见的
下面,紧张来讲一下Nginx日志的精确配置办法。
日志输出格式:
#这个要配置在http中
log_format access '$remote_addr - $remote_user [$time_local] \"大众$request\公众 '
'$status $body_bytes_sent \公众$http_referer\"大众 '
'\"大众$http_user_agent\公众 \公众$http_x_forwarded_for\公众';
项目配置:
limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s;#查询
#报告
server {
listen 80;
server_name report.52itstyle.com;
index login.jsp;
access_log /usr/local/nginx/logs/report.52itstyle.com.access.log access;
#关闭静态文件的日志打印
location ~ .\.(gif|jpg|jpeg|png|bmp|swf|css|js|ico)?$ {
expires 1d;
access_log off;
proxy_pass http://report;
}
location / {
limit_req zone=api_read burst=5;#要求限流,设置行列步队
proxy_pass http://report;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream report {
fair;
server 172.16.1.120:8882 weight=1 max_fails=2 fail_timeout=30s;
server 172.16.1.120:8881 weight=1 max_fails=2 fail_timeout=30s;
}
以上配置,优化了几点:
单个项目配置属于自己的日志输出路径文件打消无用的静态文件访问日志当然还有更加优化的方案,比如Nginx日志按照日期格式输出,但是Nginx本身是不支持此功能的,只能通过sheel脚本自己进行切割。