Added rsyslog to enable container logging to stdout. Closes issue #1
This commit is contained in:
parent
cd4409c936
commit
79df6615b1
@ -3,13 +3,16 @@ FROM centos:latest
|
|||||||
MAINTAINER Juan Luis Baptiste juan.baptiste@gmail.com
|
MAINTAINER Juan Luis Baptiste juan.baptiste@gmail.com
|
||||||
|
|
||||||
RUN yum install -y epel-release && yum update -y && \
|
RUN yum install -y epel-release && yum update -y && \
|
||||||
yum install -y cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 mailx \
|
yum install -y cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 mailx \
|
||||||
perl supervisor postfix
|
perl supervisor postfix rsyslog
|
||||||
RUN sed -i -e "s/^nodaemon=false/nodaemon=true/" /etc/supervisord.conf
|
RUN sed -i -e "s/^nodaemon=false/nodaemon=true/" /etc/supervisord.conf
|
||||||
RUN sed -i -e 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
|
RUN sed -i -e 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
|
||||||
|
|
||||||
|
COPY etc/*.conf /etc/
|
||||||
|
COPY etc/rsyslog.d/* /etc/rsyslog.d
|
||||||
COPY run.sh /
|
COPY run.sh /
|
||||||
RUN chmod +x /run.sh
|
RUN chmod +x /run.sh
|
||||||
COPY etc/supervisord.d/postfix.ini /etc/supervisord.d/
|
COPY etc/supervisord.d/*.ini /etc/supervisord.d/
|
||||||
RUN newaliases
|
RUN newaliases
|
||||||
|
|
||||||
EXPOSE 25
|
EXPOSE 25
|
||||||
|
90
etc/rsyslog.conf
Normal file
90
etc/rsyslog.conf
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
# rsyslog configuration file
|
||||||
|
|
||||||
|
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
|
||||||
|
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
|
||||||
|
|
||||||
|
#### MODULES ####
|
||||||
|
|
||||||
|
# The imjournal module bellow is now used as a message source instead of imuxsock.
|
||||||
|
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
|
||||||
|
#$ModLoad imklog # reads kernel messages (the same are read from journald)
|
||||||
|
#$ModLoad immark # provides --MARK-- message capability
|
||||||
|
|
||||||
|
# Provides UDP syslog reception
|
||||||
|
#$ModLoad imudp
|
||||||
|
#$UDPServerRun 514
|
||||||
|
|
||||||
|
# Provides TCP syslog reception
|
||||||
|
#$ModLoad imtcp
|
||||||
|
#$InputTCPServerRun 514
|
||||||
|
|
||||||
|
|
||||||
|
#### GLOBAL DIRECTIVES ####
|
||||||
|
|
||||||
|
# Where to place auxiliary files
|
||||||
|
$WorkDirectory /var/lib/rsyslog
|
||||||
|
|
||||||
|
# Use default timestamp format
|
||||||
|
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
|
||||||
|
|
||||||
|
# File syncing capability is disabled by default. This feature is usually not required,
|
||||||
|
# not useful and an extreme performance hit
|
||||||
|
#$ActionFileEnableSync on
|
||||||
|
|
||||||
|
# Include all config files in /etc/rsyslog.d/
|
||||||
|
$IncludeConfig /etc/rsyslog.d/*.conf
|
||||||
|
|
||||||
|
# Turn off message reception via local log socket;
|
||||||
|
# local messages are retrieved through imjournal now.
|
||||||
|
$OmitLocalLogging off
|
||||||
|
|
||||||
|
# File to store the position in the journal
|
||||||
|
#$IMJournalStateFile imjournal.state
|
||||||
|
|
||||||
|
|
||||||
|
#### RULES ####
|
||||||
|
|
||||||
|
# Log all kernel messages to the console.
|
||||||
|
# Logging much else clutters up the screen.
|
||||||
|
#kern.* /dev/console
|
||||||
|
|
||||||
|
# Log anything (except mail) of level info or higher.
|
||||||
|
# Don't log private authentication messages!
|
||||||
|
*.info;mail.none;authpriv.none;cron.none /var/log/messages
|
||||||
|
|
||||||
|
# The authpriv file has restricted access.
|
||||||
|
authpriv.* /var/log/secure
|
||||||
|
|
||||||
|
# Log all the mail messages in one place.
|
||||||
|
mail.* -/var/log/maillog
|
||||||
|
|
||||||
|
|
||||||
|
# Log cron stuff
|
||||||
|
cron.* /var/log/cron
|
||||||
|
|
||||||
|
# Everybody gets emergency messages
|
||||||
|
*.emerg :omusrmsg:*
|
||||||
|
|
||||||
|
# Save news errors of level crit and higher in a special file.
|
||||||
|
uucp,news.crit /var/log/spooler
|
||||||
|
|
||||||
|
# Save boot messages also to boot.log
|
||||||
|
local7.* /var/log/boot.log
|
||||||
|
|
||||||
|
|
||||||
|
# ### begin forwarding rule ###
|
||||||
|
# The statement between the begin ... end define a SINGLE forwarding
|
||||||
|
# rule. They belong together, do NOT split them. If you create multiple
|
||||||
|
# forwarding rules, duplicate the whole block!
|
||||||
|
# Remote Logging (we use TCP for reliable delivery)
|
||||||
|
#
|
||||||
|
# An on-disk queue is created for this action. If the remote host is
|
||||||
|
# down, messages are spooled to disk and sent when it is up again.
|
||||||
|
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
|
||||||
|
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
|
||||||
|
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
|
||||||
|
#$ActionQueueType LinkedList # run asynchronously
|
||||||
|
#$ActionResumeRetryCount -1 # infinite retries if host is down
|
||||||
|
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
|
||||||
|
#*.* @@remote-host:514
|
||||||
|
# ### end of the forwarding rule ###
|
1
etc/rsyslog.d/listen.conf
Normal file
1
etc/rsyslog.d/listen.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
$SystemLogSocketName /dev/log
|
129
etc/supervisord.conf
Normal file
129
etc/supervisord.conf
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
; Sample supervisor config file.
|
||||||
|
|
||||||
|
[unix_http_server]
|
||||||
|
file=/var/run/supervisor/supervisor.sock ; (the path to the socket file)
|
||||||
|
;chmod=0700 ; sockef file mode (default 0700)
|
||||||
|
;chown=nobody:nogroup ; socket file uid:gid owner
|
||||||
|
;username=user ; (default is no username (open server))
|
||||||
|
;password=123 ; (default is no password (open server))
|
||||||
|
|
||||||
|
;[inet_http_server] ; inet (TCP) server disabled by default
|
||||||
|
;port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
|
||||||
|
;username=user ; (default is no username (open server))
|
||||||
|
;password=123 ; (default is no password (open server))
|
||||||
|
|
||||||
|
[supervisord]
|
||||||
|
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
|
||||||
|
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
|
||||||
|
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
|
||||||
|
loglevel=info ; (log level;default info; others: debug,warn,trace)
|
||||||
|
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
|
||||||
|
nodaemon=true ; (start in foreground if true;default false)
|
||||||
|
minfds=1024 ; (min. avail startup file descriptors;default 1024)
|
||||||
|
minprocs=200 ; (min. avail process descriptors;default 200)
|
||||||
|
;umask=022 ; (process file creation umask;default 022)
|
||||||
|
;user=chrism ; (default is current user, required if root)
|
||||||
|
;identifier=supervisor ; (supervisord identifier, default is 'supervisor')
|
||||||
|
;directory=/tmp ; (default is not to cd during start)
|
||||||
|
;nocleanup=true ; (don't clean up tempfiles at start;default false)
|
||||||
|
;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP)
|
||||||
|
;environment=KEY=value ; (key value pairs to add to environment)
|
||||||
|
;strip_ansi=false ; (strip ansi escape codes in logs; def. false)
|
||||||
|
|
||||||
|
; the below section must remain in the config file for RPC
|
||||||
|
; (supervisorctl/web interface) to work, additional interfaces may be
|
||||||
|
; added by defining them in separate rpcinterface: sections
|
||||||
|
[rpcinterface:supervisor]
|
||||||
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||||
|
|
||||||
|
[supervisorctl]
|
||||||
|
serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
|
||||||
|
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
|
||||||
|
;username=chris ; should be same as http_username if set
|
||||||
|
;password=123 ; should be same as http_password if set
|
||||||
|
;prompt=mysupervisor ; cmd line prompt (default "supervisor")
|
||||||
|
;history_file=~/.sc_history ; use readline history if available
|
||||||
|
|
||||||
|
; The below sample program section shows all possible program subsection values,
|
||||||
|
; create one or more 'real' program: sections to be able to control them under
|
||||||
|
; supervisor.
|
||||||
|
|
||||||
|
;[program:theprogramname]
|
||||||
|
;command=/bin/cat ; the program (relative uses PATH, can take args)
|
||||||
|
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||||
|
;numprocs=1 ; number of processes copies to start (def 1)
|
||||||
|
;directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||||
|
;umask=022 ; umask for process (default None)
|
||||||
|
;priority=999 ; the relative start priority (default 999)
|
||||||
|
;autostart=true ; start at supervisord start (default: true)
|
||||||
|
;autorestart=true ; retstart at unexpected quit (default: true)
|
||||||
|
;startsecs=10 ; number of secs prog must stay running (def. 1)
|
||||||
|
;startretries=3 ; max # of serial start failures (default 3)
|
||||||
|
;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
|
||||||
|
;stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||||
|
;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||||
|
;user=chrism ; setuid to this UNIX account to run the program
|
||||||
|
;redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||||
|
;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||||
|
;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||||
|
;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
|
||||||
|
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||||
|
;stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||||
|
;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||||
|
;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||||
|
;stderr_logfile_backups=10 ; # of stderr logfile backups (default 10)
|
||||||
|
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
|
||||||
|
;stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||||
|
;environment=A=1,B=2 ; process environment additions (def no adds)
|
||||||
|
;serverurl=AUTO ; override serverurl computation (childutils)
|
||||||
|
|
||||||
|
; The below sample eventlistener section shows all possible
|
||||||
|
; eventlistener subsection values, create one or more 'real'
|
||||||
|
; eventlistener: sections to be able to handle event notifications
|
||||||
|
; sent by supervisor.
|
||||||
|
|
||||||
|
;[eventlistener:theeventlistenername]
|
||||||
|
;command=/bin/eventlistener ; the program (relative uses PATH, can take args)
|
||||||
|
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
|
||||||
|
;numprocs=1 ; number of processes copies to start (def 1)
|
||||||
|
;events=EVENT ; event notif. types to subscribe to (req'd)
|
||||||
|
;buffer_size=10 ; event buffer queue size (default 10)
|
||||||
|
;directory=/tmp ; directory to cwd to before exec (def no cwd)
|
||||||
|
;umask=022 ; umask for process (default None)
|
||||||
|
;priority=-1 ; the relative start priority (default -1)
|
||||||
|
;autostart=true ; start at supervisord start (default: true)
|
||||||
|
;autorestart=unexpected ; restart at unexpected quit (default: unexpected)
|
||||||
|
;startsecs=10 ; number of secs prog must stay running (def. 1)
|
||||||
|
;startretries=3 ; max # of serial start failures (default 3)
|
||||||
|
;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
|
||||||
|
;stopsignal=QUIT ; signal used to kill process (default TERM)
|
||||||
|
;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
|
||||||
|
;user=chrism ; setuid to this UNIX account to run the program
|
||||||
|
;redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
||||||
|
;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
|
||||||
|
;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||||
|
;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
|
||||||
|
;stdout_events_enabled=false ; emit events on stdout writes (default false)
|
||||||
|
;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
|
||||||
|
;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
|
||||||
|
;stderr_logfile_backups ; # of stderr logfile backups (default 10)
|
||||||
|
;stderr_events_enabled=false ; emit events on stderr writes (default false)
|
||||||
|
;environment=A=1,B=2 ; process environment additions
|
||||||
|
;serverurl=AUTO ; override serverurl computation (childutils)
|
||||||
|
|
||||||
|
; The below sample group section shows all possible group values,
|
||||||
|
; create one or more 'real' group: sections to create "heterogeneous"
|
||||||
|
; process groups.
|
||||||
|
|
||||||
|
;[group:thegroupname]
|
||||||
|
;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
|
||||||
|
;priority=999 ; the relative start priority (default 999)
|
||||||
|
|
||||||
|
; The [include] section can just contain the "files" setting. This
|
||||||
|
; setting can list multiple files (separated by whitespace or
|
||||||
|
; newlines). It can also contain wildcards. The filenames are
|
||||||
|
; interpreted as relative to this file. Included files *cannot*
|
||||||
|
; include files themselves.
|
||||||
|
|
||||||
|
[include]
|
||||||
|
files = supervisord.d/*.ini
|
@ -1,7 +1,5 @@
|
|||||||
[program:postfix]
|
[program:postfix]
|
||||||
process_name = master
|
process_name = master
|
||||||
command=/usr/sbin/postfix -c /etc/postfix start
|
command=/usr/sbin/postfix -v -v -c /etc/postfix start
|
||||||
stdout_logfile=/var/log/supervisor/%(program_name)s.log
|
|
||||||
stderr_logfile=/var/log/supervisor/%(program_name)s.log
|
|
||||||
startsecs=0
|
startsecs=0
|
||||||
autorestart=false
|
autorestart=false
|
||||||
|
4
etc/supervisord.d/readlog.ini
Normal file
4
etc/supervisord.d/readlog.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[program:readlog]
|
||||||
|
command=/usr/bin/tail -f /var/log/maillog
|
||||||
|
stdout_logfile=/dev/fd/1
|
||||||
|
stdout_logfile_maxbytes=0
|
2
etc/supervisord.d/rsyslog.ini
Normal file
2
etc/supervisord.d/rsyslog.ini
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[program:rsyslog]
|
||||||
|
command=/usr/sbin/rsyslogd -n
|
Loading…
x
Reference in New Issue
Block a user