nginx变量自定义日志收集

server/2024/9/24 11:22:05/

内置变量

$remote_addr;存放了客户端的地址,注意是客户端的公网IP,也就是一家人访问一个网站,则会显示为路由器的公网IP。

$args;变量中存放了URL中的指令

[root@localhost conf.d]# cat pc.conf 
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;}location /m78 {default_type text/html;echo $remote_addr;echo $args;}  
}

 

我这边电脑与服务器之间的网段做了路由,显示了网关

$document_root;    保存了针对当前资源的请求的系统根目录

$document_uri;      保存了当前请求中不包含指令的URI

[root@localhost conf.d]# cat pc.conf 
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;}location /m78 {root /data/nginx/html/pc;default_type text/html;echo $document_root; echo $document_uri;}  
}

 $host; 存放了请求的host名称

 $http_user_agent; 客户端浏览器的详细信息

 $http_cookie;客户端的cookie信息。

[root@localhost conf.d]# cat pc.conf 
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;}location /m78 {root /data/nginx/html/pc;default_type text/html;echo  $host;echo  $http_user_agent;echo  $http_cookie;}  }

 limit_rate 10240;
echo $limit_rate;如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0

 $remote_user; 已经过Auth Basic Module验证的用户名。

 $request_body_file;做反向代理时发给后端服务器的本地资源的名称。

 $request_method;请求资源的方式,GET/PUT/DELETE等

 $request_filename;当前请求的资源文件的路径名称,由root或alias指令与URI请求生成的文件绝对路径

 $request_uri;包含请求参数的原始URI,不包含主机名

 $scheme;请求的协议,如ftp,https,http等;

 $server_protocol;保存了客户端请求资源使用的协议的版本,如HTTP/1.0,HTTP/1.1,HTTP/2.0等

 $server_addr;保存了服务器的IP地址;

 $server_name;请求的服务器的主机名。

 $server_port;请求的服务器的端口号。

自定义变量

使用set自定义变量

[root@localhost conf.d]# cat pc.conf 
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;}location /m78 {root /data/nginx/html/pc;default_type text/html;set $name fxq;echo $name;
}  }

 

日志格式     

默认格式   

                                              

自定义json格式

    log_format access_json '{"@timestamp":"$time_iso8601",''"host":"$server_addr",''"clientip":"$remote_addr",''"size":$body_bytes_sent,''"responsetime":$request_time,''"upstreamtime":"$upstream_response_time",''"upstreamhost":"$upstream_addr",''"http_host":"$host",''"uri":"$uri",''"domain":"$host",''"xff":"$http_x_forwarded_for",''"referer":"$http_referer",''"tcp_xff":"$proxy_protocol_addr",''"http_user_agent":"$http_user_agent",''"status":"$status"}';access_log  logs/access.log  access_json;

 python日志收集

#!/usr/bin/env python
#coding: utf-8 
status_200=[]
status_404=[]
with open("/apps/nginx/logs/access.log") as f:for line in f.readlines():line = eval(line)if line.get("status") == "200":status_200.append(line.get)elif line.get("status") == "404":status_404.append(line.get)else:print("状态码 ERROR")
f.close()
print "状态码200的有--:",len(status_200)
print "状态码404的有--:",len(status_404)


http://www.ppmy.cn/server/32424.html

相关文章

在vue3项目中设置错误路径的统一跳转

在我们前端开发过程中,如果,访问到了错误的或者不存在的路径,那么会直接出现空白。在一个完整的项目中,应该给用户一些友好的提示,显示他访问到了错误的页面。 我们可以专门的创建一个错误界面的.vue文件,…

访学/博后/联培博士关注|不同国家的英语口音辨识度训练

在访问学者、博士后及联合培养的申请过程中,接收方多数都要求英文面试。如果导师的母语为非英语国家,将会带有口音,这样更增加了英语面试难度。如何提升不同国家的英语口音辨识度,使自己的英语表达更加流利,知识人网小…

卷积神经网络要点和难点实际案例和代码解析

卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络仿造生物的视知觉机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够…

【Anaconda 3 】Jupyter Notebook 的安装配置及使用

Jupyter Notebook 的安装配置及使用 一、引言 Jupyter Notebook 是一种交互式笔记本,它允许用户将代码、注释、方程式、可视化内容等整合到一个文档中,并支持多种编程语言,如 Python、R、Julia 等。它在数据科学、机器学习和教育领域中得到…

Electron+Vue3+Vite+ElectronForge整合-全部ts开发 - 一键启动两个服务 一键打包两个服务

说明 本文介绍一下 Electron Vue3 Vite Electron Forge 的高级整合操作。vue3 : 使用 TS 的语法开发; Electron : 使用 TS 的语法开发。 补充 : 目前Electron的开发还是以JS为主,不过我们可以直接使用TS开发,在执行和打包时&a…

进程控制【Linux】

文章目录 进程终止进程等待 创建一批子进程 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #define N 5void runChild() {int cnt 10;while (cnt ! 0){printf("i am a child : %d , ppid:%d\n", getpid(), getppid());sleep(1);c…

基于SpringBoot的企业资产管理系统源码数据库

基于SpringBoot的企业资产管理系统源码数据库 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了企业资产管理系统的开发全过程。通过分析企业资产管理系统方面的不足&#xff0c;创建了一个计算机管理企业资产管理系…

uniapp 应用闪退、崩溃异常日志捕获插件(可对接网络上报)插件 Ba-Crash

应用闪退、崩溃异常日志捕获插件&#xff08;可对接网络上报&#xff09; Ba-Crash 简介&#xff08;下载地址&#xff09; Ba-Crash 是一款uniapp应用闪退、崩溃异常日志捕获插件&#xff0c;支持对接网络上报、设置提示等等&#xff0c;方便对一些远程问题、原生问题进行分…