opensuse 42.2 systemd varnishlog.service fails to start after system reboot
Admin Beckspaced
admin at beckspaced.com
Wed Aug 9 16:46:42 CEST 2017
Hello Varnish Community,
I'm running an openSUSE 42.2 server with varnish 5.1.2
My problem is that varnishlog.service always fails starting after a
system reboot.
cx40:~ # systemctl status varnishlog.service
● varnishlog.service - Varnish log generator
Loaded: loaded (/etc/systemd/system/varnishlog.service; enabled;
vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2017-08-09 16:30:47
CEST; 1min 7s ago
Process: 1162 ExecStart=/usr/sbin/varnishncsa $VARNISHLOG_PARAMS -P
/var/run/varnishlog.pid (code=exited, status=1/FAILURE)
Main PID: 1162 (code=exited, status=1/FAILURE)
Aug 09 16:30:42 cx40 systemd[1]: Started Varnish log generator.
Aug 09 16:30:42 cx40 varnishncsa[1162]: Cannot open log - retrying for 5
seconds
Aug 09 16:30:47 cx40 varnishncsa[1162]: Abandoned VSM file (Varnish not
running?) /var/cache/varnish/cx40/_.vsm
Aug 09 16:30:47 cx40 systemd[1]: varnishlog.service: Main process
exited, code=exited, status=1/FAILURE
Aug 09 16:30:47 cx40 systemd[1]: varnishlog.service: Unit entered failed
state.
Aug 09 16:30:47 cx40 systemd[1]: varnishlog.service: Failed with result
'exit-code'.
If I look at the varnish.service it is reported running
cx40:~ # systemctl status varnish.service
● varnish.service - Varnish HTTP accelerator/reverse proxy
Loaded: loaded (/usr/lib/systemd/system/varnish.service; enabled;
vendor preset: disabled)
Active: active (running) since Wed 2017-08-09 16:30:48 CEST; 1min
41s ago
Main PID: 1579 (varnishd)
Tasks: 218 (limit: 512)
CGroup: /system.slice/varnish.service
├─1579 /usr/sbin/varnishd -j unix,user=varnish -f
/etc/varnish/main.vcl -a :80 -T localhost:6082 -s default=malloc,2G -s
static=file,/var/cache/varnish,5G -P /var/run/varnishd.pid -F
└─1672 /usr/sbin/varnishd -j unix,user=varnish -f
/etc/varnish/main.vcl -a :80 -T localhost:6082 -s default=malloc,2G -s
static=file,/var/cache/varnish,5G -P /var/run/varnishd.pid -F
Aug 09 16:30:48 cx40 systemd[1]: Started Varnish HTTP
accelerator/reverse proxy.
Aug 09 16:30:49 cx40 varnishd[1579]: Platform:
Linux,4.4.79-18.23-default,x86_64,-junix,-smalloc,-sfile,-smalloc,-hcritbit
Aug 09 16:30:49 cx40 varnishd[1579]: Debug: Platform:
Linux,4.4.79-18.23-default,x86_64,-junix,-smalloc,-sfile,-smalloc,-hcritbit
Aug 09 16:30:49 cx40 varnishd[1579]: Child (1672) Started
Aug 09 16:30:49 cx40 varnishd[1579]: Debug: Child (1672) Started
Aug 09 16:30:49 cx40 varnishd[1579]: Child (1672) said Child starts
Aug 09 16:30:49 cx40 varnishd[1579]: Child (1672) said SMF.static
mmap'ed 5368709120 bytes of 5368709120
Aug 09 16:30:49 cx40 varnishd[1579]: Info: Child (1672) said Child starts
Aug 09 16:30:49 cx40 varnishd[1579]: Info: Child (1672) said SMF.static
mmap'ed 5368709120 bytes of 5368709120
If I start the varnishlog.service manually there's no problem at all
cx40:~ # systemctl start varnishlog.service
cx40:~ # systemctl status varnishlog.service
● varnishlog.service - Varnish log generator
Loaded: loaded (/etc/systemd/system/varnishlog.service; enabled;
vendor preset: disabled)
Active: active (running) since Wed 2017-08-09 16:32:53 CEST; 4s ago
Main PID: 3439 (varnishncsa)
Tasks: 1 (limit: 512)
CGroup: /system.slice/varnishlog.service
└─3439 /usr/sbin/varnishncsa -f
/etc/varnish/varnishncsa-log-format-string -a -w
/var/log/varnish/varnish.log -P /var/run/varnishlog.pid
Aug 09 16:32:53 cx40 systemd[1]: Started Varnish log generator.
For me it looks like that varnishlog.service is waiting for
varnish.service to start and the varnish.service seems to take a bit
long to start up?
Is there a systemd service option to wait for a few seconds before
starting varnishlog.service
something like a delayed start of the service?
I also override the default varnishlog.service in
/usr/lib/systemd/system/varnishlog.service
with my own version in /etc/systemd/system/varnishlog.service
I do this because I need the [service] option WorkingDirectory
/etc/systemd/system/varnishlog.service
[Unit]
Description=Varnish log generator
Requires=varnish.service
#After= is not required
[Service]
WorkingDirectory=/var/log/varnish
EnvironmentFile=/etc/sysconfig/varnish
PIDFile=/var/run/varnishlog.pid
ExecStart=/usr/sbin/varnishncsa $VARNISHLOG_PARAMS -P
/var/run/varnishlog.pid
[Install]
WantedBy=multi-user.target
The $VARNISHLOG_PARAMS are defined in /etc/sysconfig/varnish
VARNISHLOG_PARAMS="-f /etc/varnish/varnishncsa-log-format-string -a -w
/var/log/varnish/varnish.log"
and the format string is defined in
/etc/varnish/varnishncsa-log-format-string
%{VCL_Log:myhost}x %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"
All is working fine, except varnishlog.service won't properly start
after a system reboot ;)
Any help is more than welcome ...
Thanks, greetings & best wishes
Becki
More information about the varnish-misc
mailing list