1. 介绍

nginx-ingress-controller的日志包括三个部分:

  • controller日志:输出到stdout,通过启动参数中的–log_dir可已配置输出到文件,重定向到文件后会自动轮转,但不会自动清理

  • accesslog:输出到stdout,通过nginx-configuration中的字段可以配置输出到哪个文件。输出到文件后不会自动轮转或清理

  • errorlog:输出到stderr,配置方式与accesslog类似。

2. 落盘

在ingress nginx所在的节点,创建落盘日志目录,并赋予权限

mkdir -pv /var/lib/docker/nginxlogs/ingresschown -R 33:33 ingress

将controler日志输出到文件

args:            - /nginx-ingress-controller            - --configmap=$(POD_NAMESPACE)/nginx-configuration            - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services            - --udp-services-configmap=$(POD_NAMESPACE)/udp-services            - --publish-service=$(POD_NAMESPACE)/ingress-nginx            - --annotations-prefix=nginx.ingress.kubernetes.io            # 设置controller日志的输出路径和方式            - --log_dir=/var/log/nginx/            - --logtostderr=false

修改configmap设置access日志,error日志,以及logformat格式

worker-processes: "4"use-forwarded-headers: "true"log-format-upstream: "[$host] [$remote_addr] [$http_x_forwarded_for] [$remote_user] [$time_local] [$request] [$status] [$body_bytes_sent] [$request_time] [$upstream_addr] [$upstream_response_time] [$connection] [$connection_requests] [$msec] [$uri] [$body_bytes_sent] [$http_referer] [$http_user_agent] [$request_length] [$http_session_id]"access-log-path: "/var/log/nginx/access.log"error-log-path: "/var/log/nginx/error.log"

挂载日志

volumeMounts:      - mountPath: /etc/localtime        name: localtime        readOnly: true      - mountPath: /var/log/nginx        name: app-logvolumes:  - name: localtime    hostPath:      path: /etc/localtime  - name: app-log    hostPath:      path: "/var/lib/docker/nginxlogs/ingress"

效果

[root@ingress]# lltotal 12-rw-r--r-- 1 33 tape    0 March 23 09:25 access.log-rw-r--r-- 1 33 tape    0 March  23 09:25 error.log-rw-r--r-- 1 33 tape  265 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.ERROR.20200423-092512.6-rw-r--r-- 1 33 tape 2996 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.INFO.20200423-092510.6-rw-r--r-- 1 33 tape  543 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.WARNING.20200423-092510.6lrwxrwxrwx 1 33 tape   82 March  23 09:25 nginx-ingress-controller.ERROR -> nginx-ingress-controller.k8s-node-13.www-data.log.ERROR.20200323-092512.6lrwxrwxrwx 1 33 tape   81 March  23 09:25 nginx-ingress-controller.INFO -> nginx-ingress-controller.k8s-node-13.www-data.log.INFO.20200323-092510.6lrwxrwxrwx 1 33 tape   84 March  23 09:25 nginx-ingress-controller.WARNING -> nginx-ingress-controller.k8s-node-13.www-data.log.WARNING.20200323-092510.6

3. 带域名的访问日志

注意:没有找到全局通过变量日志自动带域名的方式, 有知道的小伙伴可以联系我

apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: tomcat-test  namespace: test  annotations:    kubernetes.io/ingress.class: "nginx"    nginx.ingress.kubernetes.io/enable-access-log: "true"    nginx.ingress.kubernetes.io/configuration-snippet: |      access_log /var/log/nginx/test.sy.com.log;spec:  rules:  - host: test.sy.com    http:      paths:      - path: /        backend:          serviceName: tomcat-test          servicePort: 6080
[root@ingress]# tail -f test.sy.com.log 10.16.8.15 - - [23/March/2020:09:33:44 +0800] "GET /abc/check_health.jsp HTTP/1.1" 200 16 "-" "curl/7.29.0"

nginx输出日志_ingressnginx持久化日志相关推荐

  1. Nginx输出header到access日志文件

    Nginx输出header到access日志文件 背景 配置 nginx配置如下 http块配置如下 日志效果如下 背景 为了排查线上的bug,需要在nginx的日志中,打印客户端上传上来的heade ...

  2. Nginx 日志配置、日志切割、日志切割脚本

    文章目录 前言 一.access_log 1.语法 2.基本用法 3.作用域 4.log_format 自定义日志格式 二.error_log 1.语法 2.基本用法 3.作用域 4.rewrite_ ...

  3. .NET Core的日志[2]:将日志输出到控制台

    对于一个控制台应用,比如采用控制台应用作为宿主的ASP.NET Core应用,我们可以将记录的日志直接输出到控制台上.针对控制台的Logger是一个类型为ConsoleLogger的对象,Consol ...

  4. 《Storm实时数据处理》一2.6 统计与持久化日志统计信息

    本节书摘来华章计算机<Storm实时数据处理>一书中的第2章 ,第2.6节,(澳)Quinton Anderson 著 卢誉声 译更多章节内容可以访问云栖社区"华章计算机&quo ...

  5. Nginx内置变量以及日志格式变量参数详解

    Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有 ...

  6. springboot 控制台输出错误信息_springboot日志详解

    一. 主流日志框架 市场上存在非常多的日志框架. JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback. SL ...

  7. linux 输出gc日志,Tomcat输出保存JVM GC日志文件

    当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说, 我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下: Windows下 找到tomcat的解压目录,进 ...

  8. python logging 不输出控制台_python logging日志配置,如何不输出到控制台

    我的日志配置如下,运行时自动输出到控制台,用nohup挂起,相应的输出也会输出nohup.out 同时my.log也会有正确的日志输出 my.log的日志输出格式是正确的,输出到控制台的日志和ide( ...

  9. Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题

    转载自   Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题 使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论 ...

最新文章

  1. .NET MessageBox 网页弹出消息框
  2. mysql fio测试_MySQL Hardware--FIO压测
  3. jvm7 jvm8_自我修复的JVM
  4. 我不看好data2vec这类多模态融合的研究
  5. 常用技巧 —— 桶排
  6. json和gson的一些区别
  7. K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!
  8. java 用文件对话框打开文件
  9. 2.11_tree_树
  10. 贪心算法无重叠区间c语言,贪心算法之区间问题.md
  11. Easyrecovery13 for mac 官方版下载
  12. 计蒜客T1006对齐输出
  13. VMware vSphere 7 vCenter 7 ESXi 7 正式版 免费下载
  14. 空间换时间和时间换空间
  15. 大数据技术架构_独家解读!阿里首次披露自研飞天大数据平台技术架构
  16. html css表格制作,CSS 表格(Table)
  17. Ubuntu14.04 使用本地摄像头跑ORB SLAM2
  18. 计算机键盘被锁怎么解,解开电脑键盘锁的小窍门
  19. ububtu安装谷歌浏览器+搜狗输入法+WPS+vscode+vim
  20. Verilog语言快速入门

热门文章

  1. arduino i2c 如何写16位寄存器_Arduino之我见
  2. 有一个懂机械、懂焊接、懂电子的爹是什么概念。。。
  3. 逻辑电平0和1的世界
  4. 《c语言从入门到精通》看书笔记——第1章 C语言的概述
  5. np读取csv文件_pandas.read_csv函数参数详解
  6. php运行资源库,如何在sublime上运行php
  7. oracle ebs po_header_all含税单价,Oracle EBS-追踪PO全过程
  8. java spi机制_Java是如何实现自己的SPI机制的? JDK源码(一)
  9. ICC2 常用快捷键
  10. 考试 彩色 离散化+类暴力