nginx自定义日志格式

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

nginx日志格式的设计

 

根据开发要求我们要在nginx的日志中打印一些特殊信息,所以必须自定义一些日志,

#设置user_id的默认值

set $user_id "0";

#设置user_kind的默认值

set $user_kind "-";

#设置uuid的默认值

set $uuid "_";

  www.2cto.com  

if ( $http_cookie ~* "user_id=([0-9]*)" ){

     set $user_id $1;

     }

 

if ( $http_cookie ~* "user_kind=([0-9]*)" ){

     set $user_kind $1;

     }  www.2cto.com  

 

if ( $http_cookie ~* "_uuid=([A-Za-z0-9 ]*)" ){

      set $uuid $1;

    }

 

nginx中location模块的详细参数介绍

Nginx的Location可以有以下几个匹配:

1. =   严格匹配这个查询。如果找到,停止搜索。 

2. ^~ 匹配路径的前缀,如果找到,停止搜索。

3. ~   为区分大小写的正则匹配   

4. ~* 为不区分大小写匹配

5.!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

 

文件及目录匹配

* -f和!-f用来判断是否存在文件

* -d和!-d用来判断是否存在目录

* -e和!-e用来判断是否存在文件或目录

* -x和!-x用来判断文件是否可执行

   www.2cto.com  

一些可用的全局变量

$args

$content_length

$content_type

$document_root

$document_uri

$host

$http_user_agent

$http_cookie

$limit_rate

$request_body_file

$request_method

$remote_addr

$remote_port

$remote_user

$request_filename

$request_uri

$query_string

$scheme

$server_protocol

$server_addr

$server_name

$server_port

$uri

   www.2cto.com  

rewrite后面的flag可以是:

last 

break 

redirect 

permanent

 

proxy_pass http://localhost:80;

proxy_set_header Host $host;

 

可以自动改变转发以后的域名信息


本文转自  亮公子  51CTO博客,原文链接:http://blog.51cto.com/iyull/1864376
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
11天前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
176 90
|
5天前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
|
5月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
116 5
|
3月前
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
66 13
|
3月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
287 3
|
4月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
88 1
|
5月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
72 4
|
6月前
|
Shell Python
salt自定义模块内使用日志例子
salt自定义模块内使用日志例子
|
9月前
|
应用服务中间件 nginx
Nginx 配置,自定义日志格式 log_format
Nginx 配置,自定义日志格式 log_format
232 0