Zabbix 6.0 иероглифы zabbix_get
Команда zabbix_get на сервере Zabbix возвращает иероглифы.
Например:
root@zabbix:/# zabbix_get -s 192.168.5.18 -k system.run["ipconfig"]
▒▒▒▒ன▒▒ ▒▒⮪▒▒▒ IP ▒▒▒ Windows
▒▒▒▒▒▒ Ethernet Ethernet:
DNS-▒▒▒䨪▒ ▒▒▒▒▒▒祭▒▒ . . . . . :
IPv4-▒▒▒▒. . . . . . . . . . . . : 192.168.5.18
▒▒᪠ ▒▒▒▒▒ . . . . . . . . . . : 255.255.255.0
▒᭮▒▒▒▒ ▒▒. . . . . . . . . : 192.168.5.1
▒㭭▒▒▒▒ ▒▒▒▒▒▒ isatap.{315490EA-E5FA-4E28-A1C5-4D4243B12098}:
▒▒▒▒ﭨ▒ ▒।▒. . . . . . . . : ▒।▒ ▒▒।▒▒ ▒▒▒▒▒▒㯭▒.
DNS-▒▒▒䨪▒ ▒▒▒▒▒▒祭▒▒ . . . . . :
root@zabbix:/#
192.168.5.18 - компьютер с ОС Windows 10. Подскажите как это можно исправить, спасибо.
Дополнение!
На 192.168.5.18 в cmd выставил кодировку 65001 (шрифт "Lucida Console"). Это UTF-8. А на Zabbix сервере команда "zabbix_get -s 192.168.5.18 -k system.run["chcp"]" сообщает, что кодировка 866. Почему так?
Ответы (2 шт):
Ура! Я решил проблему. Нашел ответ на англоязычной версии данного форума: https://stackoverflow.com/questions/57131654/using-utf-8-encoding-chcp-65001-in-command-prompt-windows-powershell-window
Начиная (по крайней мере) с Windows 10 версии 1903 у вас есть возможность установить языковой стандарт системы ( язык для программ, не поддерживающих Unicode ) на UTF-8 , но на момент написания этой статьи эта функция все еще находится в стадии бета -тестирования .
Я дополню вашу проблему своей и готовым решением.
Моя проблема: win server 2012, В конструкции "zabbix.exe->cmd.exe->Powershell.exe" cmd почему-то работала с кодировкой UTF-16LE и в мониторинге zabbix вместо кириллицы были знаки вопроса????, когда, как powershell точно всё делал в UTF-8.
В итоге, я переделал в конфиге строку 1 в строку 2 (добавил "@chcp 65001>nul &&"):
- UserParameter=get.gost-pcidss.csv, powershell.exe -encodedCommand Yw....
- UserParameter=get.gost-pcidss.csv,@chcp 65001>nul && powershell.exe -encodedCommand Yw....
И, разумеется, в закодированной команде скрипт начинался с текста "chcp 65001;" Надеюсь кому-то помог.