Symptoms
- vsan-health service not starting : "An error occurred while starting service 'vsan-health'"
- vSAN related logs will not capture the actual error.
- vMon log will also give any hint on the failure.
- Checking vmware-vsan-health-runtime.log.stderr gives the following trace
Starting service process with pid: 542.
Traceback (most recent call last):
File "/usr/lib/vmware-vpx/vsan-health/VsanMgmtServer.py", line 382, in <module>
SetupLogging(gCmdOptions, logdir)
File "/usr/lib/vmware-vpx/vsan-health/VsanMgmtServer.py", line 194, in SetupLogging
Logger.InitLogging(logDir)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 295, in InitLogging
SetupLoggers(loggerConfFile, logDir)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 273, in SetupLoggers
configInFile = UpdateFormatterHandlerPath(f)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 231, in UpdateFormatterHandlerPath
config = json.load(configFile)
File "/usr/lib/python3.5/json/__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/usr/lib/vmware-vpx/vsan-health/VsanMgmtServer.py", line 382, in <module>
SetupLogging(gCmdOptions, logdir)
File "/usr/lib/vmware-vpx/vsan-health/VsanMgmtServer.py", line 194, in SetupLogging
Logger.InitLogging(logDir)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 295, in InitLogging
SetupLoggers(loggerConfFile, logDir)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 273, in SetupLoggers
configInFile = UpdateFormatterHandlerPath(f)
File "/usr/lib/vmware-vpx/vsan-health/logger/Logger.py", line 231, in UpdateFormatterHandlerPath
config = json.load(configFile)
File "/usr/lib/python3.5/json/__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Cause
This issue can happen if the logger.conf is corrupted
Impact / Risks
- VAMI based backups will fail since the service is stopped.
- vSAN monitoring information would not be available.
Resolution
To resolve the issue.
1. Change Directory: cd /etc/vmware-vsan-health
2. Move the file logger.conf to another location.
3. Once done, try restarting the service :
1. Change Directory: cd /etc/vmware-vsan-health
2. Move the file logger.conf to another location.
mv logger.conf /var/tmp/logger.conf
3. Once done, try restarting the service :
vmon-cli -r vsan-health
Comments
Post a Comment