Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Probably, the filesystem ran full during the conversion. The only solution is to delete these files and run the conversion again!


'

...

ASCII' codec can't decode characters 

Code Block
languagebash
themeRDark
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

...

Let's modify the command to receive more debug output:

OMD[
rrd
mysite]:~$ cmk -vv --debug --convert-rrds localhost
...
  Urlaubstüüüüüüge (PNP)...
    - Metric1..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 422, in convert_rrds_of_host
    convert_pnp_rrds(hostname, existing_rrds)
  File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 441, in convert_pnp_rrds
    cmk.utils.pnp_cleanup(servicedesc), target_rrdconf)
  File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 472, in convert_pnp_rrds_of
    result = convert_pnp_rrd(old_rrd_path, new_rrd_path, old_ds_name, rrdconf)
  File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 497, in convert_pnp_rrd
    old_rrdconf = get_old_rrd_config(old_rrd_path, old_ds_name)
  File "/omd/sites/rrd/lib/python/cmk_base/cee/rrd.py", line 789, in get_old_rrd_config
    old_config_raw = rrdtool.info([rrd_file_path])
TypeError: Element 0 in argument 0 must be str
Code Block
languagebash
themeRDark
collapsetrue


Note

And here we go: The issue

are

is the "ü" characters in the service name. This only affects Checkmk 1.6. With Checkmk >2.0 we changed the behavior of non-ASCII Services names (Werk #13711)


Solutions:

  • If it's related to a builtin Check → please open a ticket via the customer portal
  • If it's a

...

  • customization → You need to change the service description of the service, do a rediscovery, and move the old pnp4nagios files to the new ones
  • The easiest way is to con

'NoneType' object has no attribute 'replace'

Code Block
languagebash
themeRDark
OMD[cmk]:~$ cmk -v --convert-rrds RRD-a
fr010-n001:
 ...
 ...
 ...
  STP Topology Changes (PNP)...
  HOST: RRD-a
      ERROR: 'NoneType' object has no attribute 'replace'



xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 5, column 91

...