...
Code Block | ||||
---|---|---|---|---|
| ||||
OMD[mysite]:~$ cmk -v --convert-rrds --delete-rrds RRD8040 RRD8040: HOST: RRD8040 ERROR: 'NoneType' object has no attribute 'text' |
How to debug
...
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
...
Info | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Let's modify the command to receive more debug output:
|
...
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
...
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
...
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 |
...
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: unclosed token: line 114, 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: unclosed token: line 114, 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: unclosed token: line 114, 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: unclosed token: line 114, column 0 OMD[mysite]:~$ |
How to debug
...
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 like the problem is in row 114 with a missing '>'. Lets check the xml file
And here we go. Row 114 seems to be uncomplete. The file should now look like this:
If you now run cmk-update-config -vv --debug again, there should be no error |