...
Code Block | ||||
---|---|---|---|---|
| ||||
OMD[mysite]:~$ cmk -v --convert-rrds --delete-rrds RRD8040 RRD8040: HOST: RRD8040 ERROR: 'NoneType' object has no attribute 'text' |
How to debug that
Info | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Let's modify the command to receive more debug output:
To find the corrupted files, you can grep for "NAGIOS_AUTH_HOSTNAME" , save the result to a list and compare this list with all xml files
If I check each of these files, the files are looking really different. So either the files are corrupt, or they are not in the right format:
Probably, the filesystem ran full during the conversion. The only solution is to delete these files and run the conversion again! |
...
Code Block | ||||
---|---|---|---|---|
| ||||
OMD[mysite]:~$ cmk --convert-rrds localhost Traceback (most recent call last): File "/omd/sites/rrd/bin/cmk", line 94, in <module> exit_status = modes.call(mode_name, mode_args, opts, args) File "/omd/sites/rrd/lib/python/cmk_base/modes/__init__.py", line 72, in call return mode.handler_function(*handler_args) File "/omd/sites/rrd/lib/python/cmk_base/modes/cee.py", line 147, in mode_convert_rrds rrd.do_convert_rrds(*args) File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 413, in do_convert_rrds convert_rrds_of_host(hostname) File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 428, in convert_rrds_of_host console.error(" %sERROR: %s%s\n" % (tty.red + tty.bold, e, tty.normal)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 70-75: ordinal not in range(128) |
How to debug that
Info | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Let's modify the command to receive more debug output:
|
'NoneType' object has no attribute 'replace'
...
Code Block | ||||
---|---|---|---|---|
| ||||
OMD[cmk]:~$ cmk --debug -vv --convert-rrds RRD-a RRD-a: Traceback (most recent call last): File "/omd/sites/cmk/bin/cmk", line 94, in <module> exit_status = modes.call(mode_name, mode_args, opts, args) File "/omd/sites/cmk/lib/python/cmk_base/modes/__init__.py", line 72, in call return mode.handler_function(*handler_args) File "/omd/sites/cmk/lib/python/cmk_base/modes/cee.py", line 147, in mode_convert_rrds rrd.do_convert_rrds(*args) File "/omd/sites/cmk/lib/python/cmk_base/cee/rrd.py", line 413, in do_convert_rrds convert_rrds_of_host(hostname) File "/omd/sites/cmk/lib/python/cmk_base/cee/rrd.py", line 420, in convert_rrds_of_host existing_rrds = find_host_rrd_services(hostname) File "/omd/sites/cmk/lib/python/cmk_base/cee/rrd.py", line 711, in find_host_rrd_services for service in find_pnp_rrds(hostname): File "/omd/sites/cmk/lib/python/cmk_base/cee/rrd.py", line 729, in find_pnp_rrds xmlinfo = parse_pnp_xml_file(host_dir + "/" + xml_file) File "/omd/sites/cmk/lib/python/cmk_base/cee/rrd.py", line 760, in parse_pnp_xml_file root = ET.parse(xml_path).getroot() File "/omd/sites/cmk/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse tree.parse(source, parser) File "/omd/sites/cmk/lib/python2.7/xml/etree/ElementTree.py", line 656, in parse parser.feed(data) File "/omd/sites/cmk/lib/python2.7/xml/etree/ElementTree.py", line 1659, in feed self._raiseerror(v) File "/omd/sites/cmk/lib/python2.7/xml/etree/ElementTree.py", line 1523, in _raiseerror raise err xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 5, column 91 |
...
How to debug that
Info | |||||||
---|---|---|---|---|---|---|---|
|
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Loading autochecks from /omd/sites/mysite/var/check_mk/autochecks/MYHOST.mk + "Migrating fs_used name" failed Traceback (most recent call last): File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1700, in close self.parser.Parse("", 1) # end of data xml.parsers.expat.ExpatError: no element found: line 1, column 0 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/omd/sites/mysite/lib/python3/cmk/update_config.py", line 158, in run step_func() File "/omd/sites/mysite/lib/python3/cmk/update_config.py", line 199, in _update_fs_used_name cmk.update_rrd_fs_names.update() File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 186, in update update_service_info(config_cache, get_hostnames(config_cache)) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 176, in update_service_info update_files(hostname, service.description, service.item, 'pnp4nagios')) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 84, in update_files metrics = get_metrics(filepath, source) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 74, in get_metrics root = ET.parse(filepath).getroot() File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse tree.parse(source, parser) File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 602, in parse self._root = parser.close() File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1702, in close self._raiseerror(v) File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1602, in _raiseerror raise err File "<string>", line None xml.etree.ElementTree.ParseError: no element found: line 1, column 0 Traceback (most recent call last): File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1700, in close self.parser.Parse("", 1) # end of data xml.parsers.expat.ExpatError: no element found: line 1, column 0 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/omd/sites/mysite/bin/cmk-update-config", line 12, in <module> sys.exit(main(sys.argv[1:])) File "/omd/sites/mysite/lib/python3/cmk/update_config.py", line 1213, in main has_errors = UpdateConfig(logger, arguments).run() File "/omd/sites/mysite/lib/python3/cmk/update_config.py", line 158, in run step_func() File "/omd/sites/mysite/lib/python3/cmk/update_config.py", line 199, in _update_fs_used_name cmk.update_rrd_fs_names.update() File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 186, in update update_service_info(config_cache, get_hostnames(config_cache)) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 176, in update_service_info update_files(hostname, service.description, service.item, 'pnp4nagios')) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 84, in update_files metrics = get_metrics(filepath, source) File "/omd/sites/mysite/lib/python3/cmk/update_rrd_fs_names.py", line 74, in get_metrics root = ET.parse(filepath).getroot() File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse tree.parse(source, parser) File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 602, in parse self._root = parser.close() File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1702, in close self._raiseerror(v) File "/omd/sites/mysite/lib/python3.8/xml/etree/ElementTree.py", line 1602, in _raiseerror raise err xml.etree.ElementTree.ParseError: no element found: line 1, column 0 |
How to debug that
Info | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
In the first line of the cmk-update-config -vv --debug output there is already a hint to the corresponding host:
Please fetch that name and remove the .mk suffix. Now you have the Hostname. In my case it's MYHOST. Now you can use xmllint to debug that:
It seems that there is one xml file with no correpsonding rrd file and this xml file is also empty. Please remove that file and run cmk-update-config -vv --debug again |
...