Ad Widget

Collapse

Кодировка в пользовательских графиках

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sentinel7
    Junior Member
    • Aug 2013
    • 21

    #1

    Кодировка в пользовательских графиках

    Всем доброго!
    Полазил по форуму, но аналогий не нашел, поэтому просьба не кричать, что темы уже были, а подсказать ссылку или помочь советом. Буду рад любой помощи.

    Что имеем:
    OS: CentOS release 6.4 (Final)
    Zabbix: Zabbix 2.0.4 with Frontend
    SQL: MySQL 5.1.69

    Проблема: В пользовательских графиках сетевые интерфейсы (и только они) выводятся в нечитабельном виде.
    Все остальное на русском языке работает и отображается без каких-либо проблем.
    Выглядит так:
    Network traffic on Ђ¤ ЇвҐа ¬ ЈЁбва «м*®© бҐвЁ ўЁавг «м*®© ¬ иЁ*л (Њ ©Єа®б®дв)

    Что уже сделано:
    База изначально в кодировке latin_1. Добавил в my.cnf:
    ---------------------------
    [client]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    collation_server=utf8_general_ci
    init_connect="SET collation_connection=utf8_general_ci"
    init_connect="SET NAMES utf8"
    skip-character-set-client-handshake
    symbolic-links=0
    [mysql]
    default-character-set=utf8
    [mysqldump]
    default-character-set=utf8
    ---------------------------
    mysql>status
    Server characterset: utf8
    Db characterset: utf8
    Client characterset: utf8
    Conn. characterset: utf8

    mysql> show variables like '%collat%';
    +----------------------+-----------------+
    | Variable_name | Value |
    +----------------------+-----------------+
    | collation_connection | utf8_general_ci |
    | collation_database | utf8_general_ci |
    | collation_server | utf8_general_ci |
    +----------------------+-----------------+

    mysql> show variables like 'char%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+

    mysql> show variables like 'init%';
    +---------------+----------------+
    | Variable_name | Value |
    +---------------+----------------+
    | init_connect | SET NAMES utf8 |
    | init_file | |
    | init_slave | |
    +---------------+----------------+

    Проблему это не решило. Запрос в базу из столбца 'graphs' возвращает те же каракули, что наталкивает на мысль, что в таком виде оно уже туда и кладется. Получается, что проблема на стороне zabbix-agent'а?
    Подскажите, пожалуйста, в какую сторону копать.

    Update: Похоже, что проблема существует только на виртуальных серверах с сетевыми адаптерами на русском языке и конкретно эти данные в базе хранятся в ANSI-кодировке. Если запросом (SELECT * FROM graphs вывести список названий интерфейсов и скопировать, например, в AkelPad строку "Network traffic on Ђ¤*ЇвҐа ¬*ЈЁбва*«м*®© бҐвЁ ўЁавг*«м*®© ¬*иЁ*л" - то при смене шрифта на Terminal получим читабельную "Network traffic on Адаптер магистральной сети виртуальной машины (Майкрософт)". Что можно сделать с этим? На стороне агента, например, чтобы передача этих данных осуществлялась в базу в другой кодировке? Или это проблема конкретных таблиц базы и решение - только конвертация?
    Last edited by Sentinel7; 21-08-2013, 07:39.
  • Sentinel7
    Junior Member
    • Aug 2013
    • 21

    #2
    Уже кое-что..
    Пока разбор полетов со следующими постами:
    https://support.zabbix.com/browse/ZBX-5358 - сам баг
    https://www.zabbix.com/forum/showthread.php?p=105632 - net.if.discovery
    https://www.zabbix.com/forum/showthread.php?t=38704 - виртуалки с русскими названиями сетевых интерфесов.
    Подсказали на тридах самих багов. Судя по всему, поправлено сие пока только в 2.0.3rc2, 2.0.6rc1 и 2.1.3 (trunk).

    -Update-
    Решение:
    Проблему с кодировкой решила замена zabbix_agentd_x64.exe на v2.0.5rc1 (revision 1) 64-bit. Была v2.0.4 (revision 31980).
    Брал в аттачах из первой ссылки на баг ZBX-5358.
    Теперь значения сетевых интерфейсов ложатся в базу в корректной кодировке.
    Last edited by Sentinel7; 21-08-2013, 13:27.

    Comment

    Working...