Ad Widget

Collapse

net.if.discovery и кириллица

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • orynkanov
    Junior Member
    • Jul 2012
    • 5

    #1

    net.if.discovery и кириллица

    Здравствуйте!
    При автообнаружении сетевых карт агент передает данные в кодировке CP866 с win2008 rus. База mysql в кодировке utf8. Соответственно в веб интерфейсе каракули показываются и значений по трафику нет. Пробовал в реестре записать ключ FriendlyName сщ значением на латинице, но не помогло Как победить без установки mui?
  • orynkanov
    Junior Member
    • Jul 2012
    • 5

    #2
    временное решение

    сам отвечаю
    получилось сделать так - запустил regedit от пользователя система (psexec -I -S cmd.exe) и переименовал во всем реестре Сетевое подключение на Network connection. Потом перепривязал шаблон и сетевые интерфейсы появились со значениями. И перезагрузил хост.
    Last edited by orynkanov; 19-07-2012, 19:15.

    Comment

    • zalex_ua
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Oct 2009
      • 1286

      #3
      Originally posted by orynkanov
      При автообнаружении сетевых карт агент передает данные в кодировке cp866 с win2008 rus.
      Вы уверены ? Я знаю что агент все конвертит в utf8 перед отправкой серверу.

      А какая вощбще версия агента у вас ?
      И каким ключем вы получаете список карт?

      Comment

      • orynkanov
        Junior Member
        • Jul 2012
        • 5

        #4
        система, на которой работает агент - win 2208 r2 x64 rus
        версия агента - Zabbix get v2.0.0 (revision 27675) (21 May 2012) x64
        с линуксовой консоли (кодировка utf8) получаю данные от агента через zabbix_get и мне на консоль выдаются каракули... меняю локаль на cp866 и запускаю zabbix_get - получаю нормальный текст с кириллицей. База тоже в utf8.
        Получаю список так - zabbix_get -s 192.168.1.20 -k "net.if.discovery"

        Comment

        • fixxxer78
          Junior Member
          • Jul 2012
          • 7

          #5
          Originally posted by orynkanov
          система, на которой работает агент - win 2208 r2 x64 rus
          версия агента - Zabbix get v2.0.0 (revision 27675) (21 May 2012) x64
          с линуксовой консоли (кодировка utf8) получаю данные от агента через zabbix_get и мне на консоль выдаются каракули... меняю локаль на cp866 и запускаю zabbix_get - получаю нормальный текст с кириллицей. База тоже в utf8.
          Получаю список так - zabbix_get -s 192.168.1.20 -k "net.if.discovery"
          Почти те же самые проблемы на агенте 2.0.2rc1 и Windows XP 32bit, только ответ приходит в cp1251:
          Code:
          zabbix_get -s 192.168.3.128 -k "net.if.discovery" | iconv -f cp1251 -t utf8
          {
          	"data":[
          		{
          			"{#IFNAME}":"Red Hat VirtIO Ethernet Adapter - Минипорт планировщика пакетов"},
          		{
          			"{#IFNAME}":"MS TCP Loopback interface"}]}
          В Веб-интерфейсе это безобразие показывается как
          Code:
          Network interface discovery: Outgoing network traffic on Red Hat VirtIO Ethernet Adapter - ???????? ???????????? ???????
          net.if.out[Red Hat VirtIO Ethernet Adapter - ???????? ???????????? ???????]
          и статус у него "Unsupported".

          Comment

          • fixxxer78
            Junior Member
            • Jul 2012
            • 7

            #6
            Fix

            А проблема похоже в том, что в функции NET_IF_DISCOVERY забыли перекодировать pIfRow.bDescr в UTF8. Во всех остальных функциях pIfRow.bDescr возвращается через zbx_acp_to_unicode и zbx_unicode_to_utf8, а в NET_IF_DISCOVERY - как есть. Добавление перекодировки проблему решает.
            Attached Files

            Comment

            • fixxxer78
              Junior Member
              • Jul 2012
              • 7

              #7
              Originally posted by fixxxer78
              А проблема похоже в том, что в функции NET_IF_DISCOVERY забыли перекодировать pIfRow.bDescr в UTF8. Во всех остальных функциях pIfRow.bDescr возвращается через zbx_acp_to_unicode и zbx_unicode_to_utf8, а в NET_IF_DISCOVERY - как есть. Добавление перекодировки проблему решает.
              ...но только для WinXp. Как уже писал orynkanov, Win2008R2 отдает pIfRow.bDescr в cp866. Но по крайней мере, статус у такого айтема вполне supported и данные собираются, только название нечитаемое. То же качается и net.if.list - названия также нечитаемые.

              Нет ли какого-нибудь универсального решения, или нужно делать различные костыли для разных версий Windows?...

              Comment

              • dotneft
                Senior Member
                • Nov 2008
                • 699

                #8
                Поздравляю всех! Сегодня проблема была решена для 2.0.3

                Comment

                • a.tihonov
                  Junior Member
                  • Oct 2012
                  • 24

                  #9
                  Проблема не решена в 2.0.3

                  Не вводите людей в заблуждение, проблема в 2.0.3 не решена. Обновился с 2.0.2 - проблема та же net.if Discovery - не пережевывает интерфейсы с содержанием русских букв или слов.


                  Мой конфиг my.cnf

                  Code:
                  [client]
                  port = 3306
                  socket = /var/lib/mysql/mysql.sock
                  default-character-set=utf8
                  
                  
                  [mysqld]
                  datadir=/var/lib/mysql
                  socket=/var/lib/mysql/mysql.sock
                  user=mysql
                  
                  query_cache_size=128M
                  join_buffer_size=8M
                  thread_cache_size=8
                  table_cache=128
                  query_cache_limit=128M
                  join_buffer_size=32M
                  innodb_buffer_pool_size=256M
                  
                  init_connect='SET collation_connection = utf8_general_ci'
                  init_connect='SET NAMES utf8'
                  default-character-set=utf8
                  character-set-server = utf8
                  collation-server = utf8_general_ci
                  
                  
                  
                  # Disabling symbolic-links is recommended to prevent assorted security risks
                  symbolic-links=0
                  
                  [mysql]
                  default-character-set=utf8
                  
                  
                  [mysqld_safe]
                  log-error=/var/log/mysqld.log
                  pid-file=/var/run/mysqld/mysqld.pid
                  База и таблицы созданы строго utf-8, utf-8_general_ci

                  Единственное что исправилось это вопросы в русской версии фронтенда и все.


                  Наваял тут скриптик что бы конвертить в UTF-8, выложу тут может кому поможет, точно исправит баги с русской версией, а Discovery так и будет глючить.


                  Code:
                  #!/bin/bash
                  cmd=" mysql -u root -pchange_this"
                  $cmd -e "show databases;" | grep -v information_schema |sed 's/\|//g' | sed -e '1d' | while read db
                  do
                      $cmd $db -e "show tables;" | grep -v information_schema |sed 's/\|//g' | sed -e '1d' | while read table
                  do
                  $cmd $db -e "ALTER TABLE $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;"
                  done
                  done

                  Comment

                  • dotneft
                    Senior Member
                    • Nov 2008
                    • 699

                    #10
                    Ага, не решена, переоткрыли задачу)

                    Comment

                    • lagorue
                      Member
                      • Jul 2011
                      • 36

                      #11
                      Решили проблему?

                      Comment

                      • zalex_ua
                        Senior Member
                        Zabbix Certified Trainer
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • Oct 2009
                        • 1286

                        #12
                        Originally posted by lagorue
                        Решили проблему?
                        Боги вас услышали, есть шанс что исправят в ближайшее время !

                        Comment

                        • lagorue
                          Member
                          • Jul 2011
                          • 36

                          #13
                          О боги спасибо Вам за снисхождение .
                          Подскажите как можно узнать об обновлений?

                          Comment

                          • zalex_ua
                            Senior Member
                            Zabbix Certified Trainer
                            Zabbix Certified SpecialistZabbix Certified Professional
                            • Oct 2009
                            • 1286

                            #14
                            Originally posted by lagorue
                            О боги спасибо Вам за снисхождение .
                            Спасибо не ВАМ , и ИМ

                            Originally posted by lagorue
                            Подскажите как можно узнать об обновлений?
                            Зарегистрируйтесь в Жире и потом сможете щелкнув там в тикете на кнопку "Watching (2)" получать уведомления о изменениях.

                            Comment

                            • lagorue
                              Member
                              • Jul 2011
                              • 36

                              #15
                              Originally posted by zalex_ua
                              Зарегистрируйтесь в Жире и потом сможете щелкнув там в тикете на кнопку "watching (2)" получать уведомления о изменениях.
                              Спасибо Вам!

                              Comment

                              Working...