如何禁用配置为使用指向/dev/stdout和/dev/stdin的符号链接并将日志转发到另一个pod的k8s部署nginx映像

m0rkklqb  于 2022-11-21  发布在  Nginx
关注(0)|答案(1)|浏览(145)

nginx映像正在捕获使用符号链接转发到/dev/stdout和/dev/stderror的日志,这些日志将呈现给此部署的Rancher UI日志控制台
我需要转发到一个fluentd pod,它已经成功地从其他pod收集日志
任何给予的帮助都将不胜感激

######################### nginx窗格和日志位置########################################################################################################################################################################

/var/log/nginx # ls -hal total 0 drwxr-xr-x 2 root root根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根目录根

#######################################################################################################################################################################################################

user  nginx;                                                                                                                                                                                                                                                                                                                  
worker_processes  1;                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                              
error_log  /var/log/nginx/error.log warn;                                                                                                                                                                                                                                                                                     
pid        /var/run/nginx.pid;                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              
events {                                                                                                                                                                                                                                                                                                                      
    worker_connections  1024;                                                                                                                                                                                                                                                                                                 
}                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              
http {                                                                                                                                                                                                                                                                                                                        
    include       /etc/nginx/mime.types;                                                                                                                                                                                                                                                                                      
    default_type  application/octet-stream;                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                              
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                                                                                                                                                                                                                                                 
                      '$status $body_bytes_sent "$http_referer" '                                                                                                                                                                                                                                                             
                      '"$http_user_agent" "$http_x_forwarded_for"';                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                              
    access_log  /var/log/nginx/access.log  main;                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              
    sendfile        on;                                                                                                                                                                                                                                                                                                       
    #tcp_nopush     on;                                                                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                                                              
    keepalive_timeout  65;                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                              
    #gzip  on;                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                              
    include /etc/nginx/conf.d/*.conf;                                                                                                                                                                                                                                                                                         
}

已尝试对配置文件进行不同的更改,但无法找到将日志转发到fluentd pod的方法,该pod已从同一命名空间中的其他部署收集日志

iqih9akk

iqih9akk1#

尝试使用不同的nginx.conf,但仍然无法看到转发到fluentd/mongodb syslog pod的日志
其他pod转发到fluentd/mongo没有问题,并且可以查看其集合上的日志,只有这个nginx pod没有转发,其他pod不是nginx代理
任何给予的帮助将非常感谢,如下面的nginx和fluentd配置文件
我可以在nginx.namespace.svc和fluentd.namespace.svc之间相互ping通

<pre><code>
user nginx; 
worker_processes 1;

error_log /var/log/nginx/error.log warn; 
pid /var/run/nginx.pid; 

events { 
worker_connections 1024; 
} 

http { 
include /etc/nginx/mime.types; 
default_type application/octet-stream; 
log_format main escape=json
  '{'
    '"time_local":"$time_local",'
    '"remote_addr":"$remote_addr",'
    '"remote_user":"$remote_user",'
    '"request":"$request",'
    '"status": "$status",'
    '"body_bytes_sent":"$body_bytes_sent",'
    '"http_referrer":"$http_referer",'
    '"http_user_agent":"$http_user_agent",'
    '"request_time":"$request_time"'
  '}'; 

access_log syslog:server=fluentd.namespace.svc:24224 main;

sendfile on;
#tcp_nopush on; 

keepalive_timeout 65; 

#gzip on; 

include /etc/nginx/conf.d/*.conf; 
}
</code></pre>

<pre><code>
<source>
  @type  forward
  @id    inputDocker
  @label @DOCKER
  port  24224
  bind  0.0.0.0
</source>

<label @DOCKER>
   <match **>
        # plugin type
        @type mongo

        # mongo db connection string
        connection_string mongodb://logging:password@mongodb.namespace.svc:27017/logs

        # mongodb db + collection
        collection docker

        # interval
        <buffer>
            flush_interval 10s
        </buffer>

        # make sure to include the time key
        <inject>
           time_key time
        </inject>
   </match>
</label>
</code></pre>

相关问题