Log Rotate service not working as expected in vCenter 8.0.3
search cancel

Log Rotate service not working as expected in vCenter 8.0.3

book

Article ID: 426380

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When you using 3rd party monitoring tool you get alert that Log Rotate service isn't running.

 

Checking status of service with following command you get similar reply 

 

systemctl status logrotate.service
● logrotate.service - Rotate log files
     Loaded: loaded (/usr/lib/systemd/system/logrotate.service; static)
     Active: inactive (dead) since DAY XXXX-XX-XX XX:XX:XX UTC; Xh ago

 

Further checking service with command journalctl -u logrotate you see similar output

Date VCSA-FQDN systemd[1]: Starting Rotate log files...
Date VCSA-FQDN logrotate[3389985]: error: state file /var/lib/logrotate.status is already locked
Date VCSA-FQDN logrotate[3389985]: logrotate does not support parallel execution on the same set of logfiles.
Date VCSA-FQDN systemd[1]: logrotate.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED
Date VCSA-FQDN systemd[1]: logrotate.service: Failed with result 'exit-code'.
Date VCSA-FQDN systemd[1]: Failed to start Rotate log files.

 

 

 

 

Environment

VCSA 8.0.3

Cause

In vCenter version 8.0u3 and above, there are two instances of logrotate running:


1. systemd -> logrotate.timer -> logrotate.service
2. crond -> logrotate.service

In earlier versions, only cron was used. Both instances are triggered at one-hour intervals. The process that acquires the lock continues, while the other fails with the following errors:


... state file /var/lib/logrotate.status is already locked
... logrotate does not support parallel execution on the same set of logfiles.

This behavior is normal and can be ignored.

Resolution

As this is fixed in later version (9.x) you can disable service with following command 

systemctl stop logrotate.timer
systemctl disable logrotate.timer
systemctl stop logrotate.service