NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: inspirit on May 29, 2012, 12:12:19 PM

Title: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on May 29, 2012, 12:12:19 PM
Проблема появилась именно после обновления.

База данных и сервер разнесены физически по разным серверам.

Смысл в том что когда выбираешь какой нибудь predefined graph котрый работает с DCI которые приходят от какого нибудь агента. То в первый момент вылетает ошибка - Unable to retrieve collected data: Database failure.

Потом или нажимаешь - F5 или по refresh time графики появляются по одному.

По данным snmp - графики рисуются нормально.

Обновление агента до версии 1.2.0 не помогло. Как отловить причину подобного поведения?
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on May 29, 2012, 12:26:02 PM
Если перезапускать сервер. То некоторое время ~  минут 30 - 1 час - все работает нормально. А потом опять эта проблема.

В логах вот что пишет в момент проблемы.

[29-May-2012 13:22:52] SQL query failed (Query = "SELECT idata_timestamp,idata_value FROM idata_211856 WHERE item_id=? AND idata_timestamp>=? AND idata_timestamp<=? ORDER BY idata_timestamp DESC LIMIT 200000"): MySQL server has gone away

Что бы это значило?


Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on May 29, 2012, 01:46:34 PM
Подтверждаю, проблема с графиками присутствует.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on May 29, 2012, 02:41:57 PM
Аналогично на 1.2.0 часто ловлю "MySQL server has gone away"
Мускуль тюнил по всякому. Не спасает.
Решает только рестарт netxmsd.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Victor Kirhenshtein on May 29, 2012, 11:11:51 PM
А в логах mysql'а можно что-то найти? NetXMS сервер использует пул соединений с сервером - может ли быть так, что на сервере стоит маленький idle time для соединений?
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on May 30, 2012, 10:37:09 AM
Я не админ БД, поэтому крайне тупой вопрос:
Где и как это посмотреть? mysql не ведет свой лог в текстовом виде...(хотя может это особенности настройки)...
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Alex Kirhenshtein on May 30, 2012, 11:12:17 AM
Путь к файлу лога можно посмотреть таким SQL запросом: mysql> show global variables like 'log_error';
+---------------+--------------------------+
| Variable_name | Value                    |
+---------------+--------------------------+
| log_error     | /var/log/mysql/error.log |
+---------------+--------------------------+
1 row in set (0.00 sec)


Проверьте параметр log_warnings: mysql> show global variables like 'log_warnings';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 1     |
+---------------+-------+
1 row in set (0.00 sec)


Если значение меньше двух, то поменяйте:mysql> set global log_warnings = 2;
Query OK, 0 rows affected (0.00 sec)


После чего перезапустите netxmsd и повторите ошибку. Рестарт mysql не требуется.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on May 30, 2012, 12:29:16 PM
Виктор, я таймауты по всякому менял. и увеличивал сильно и сокращал.
Результат тот же.
В логах мускуля чисто, влогах netxmsd описанное выше.

Сейчас попробую еще ворнингов в логе мускуля повключать...
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on May 31, 2012, 03:47:20 PM
Сделал все, что писали раньше, но результата нет...
в логах ошибок mysql-пусто, в логах NetXMS-ловим те-же ошибки.
в логах запросов mysql вылазиет вот это:

120531 16:43:11       4 Prepare     [1512] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=? AND idata_timestamp>=? AND idata_timestamp<=? ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Execute     [1512] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=122 AND idata_timestamp>=1338464782 AND idata_timestamp<=1338468382 ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Prepare     [1513] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=? AND idata_timestamp>=? AND idata_timestamp<=? ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Execute     [1513] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=123 AND idata_timestamp>=1338464782 AND idata_timestamp<=1338468382 ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Prepare     [1514] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=? AND idata_timestamp>=? AND idata_timestamp<=? ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Execute     [1514] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=197 AND idata_timestamp>=1338464782 AND idata_timestamp<=1338468382 ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Prepare     [1515] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=? AND idata_timestamp>=? AND idata_timestamp<=? ORDER BY idata_timestamp DESC LIMIT 200000
                      4 Execute     [1515] SELECT idata_timestamp,idata_value FROM idata_131 WHERE item_id=196 AND idata_timestamp>=1338464782 AND idata_timestamp<=1338468382 ORDER BY idata_timestamp DESC LIMIT 200000
120531 16:43:14       3 Prepare     [64244] SELECT var_value FROM config WHERE var_name=?
                      3 Execute     [64244] SELECT var_value FROM config WHERE var_name='CapabilityExpirationTime'

Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on June 04, 2012, 08:55:09 AM
Никому не удалось побороть эту проблему?
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on June 04, 2012, 11:36:33 AM
Пока нет. Логи выглядят нормально. Данные в базу тоже пишутся нормально. Непонятно куда копать.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Victor Kirhenshtein on June 04, 2012, 12:09:10 PM
Я внес некоторые изменения в MySQL драйвер. Посмотрим, поможет или нет. Сегодня вечером сделаю сборку.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on June 04, 2012, 12:14:53 PM
ок, ждем..
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on June 05, 2012, 01:02:21 PM
MySQL наконец-то что-то сказал в логах на это:

120605  5:22:09 [Warning] Aborted connection 26096 to db: 'netxms' user: 'netxms' host: '127.0.0.1' (Got timeout reading communication packets)
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Victor Kirhenshtein on June 06, 2012, 12:02:31 AM
Сделал версию 1.2.1. Если я правильно определил в чем проблема, то должно заработать. :)
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on June 06, 2012, 11:46:21 AM
Не собирается.

Making all in lmsensors
make[5]: Entering directory `/root/netxms-1.2.1/src/agent/subagents/lmsensors'
  CXX    main.lo
main.cpp: In function 'bool getSensorValue(char*, char*, double*)':
main.cpp:57: error: cannot convert 'sensors_chip_name*' to 'int*' for argument '1' to 'const sensors_chip_name* sensors_get_detected_chips(int*)'
main.cpp:58: error: expected initializer before '*' token
main.cpp:61: error: 'feature' was not declared in this scope
main.cpp:61: error: 'sensors_get_features' was not declared in this scope
main.cpp:73: error: 'sensors_subfeature_type' was not declared in this scope
main.cpp:73: error: expected `;' before 'types'
main.cpp:74: error: 'types' was not declared in this scope
main.cpp:74: error: 'SENSORS_SUBFEATURE_UNKNOWN' was not declared in this scope
main.cpp:76: error: 'SENSORS_FEATURE_TEMP' was not declared in this scope
main.cpp:77: error: 'SENSORS_SUBFEATURE_TEMP_INPUT' was not declared in this scope
main.cpp:79: error: 'SENSORS_FEATURE_IN' was not declared in this scope
main.cpp:80: error: 'SENSORS_SUBFEATURE_IN_INPUT' was not declared in this scope
main.cpp:82: error: 'SENSORS_FEATURE_FAN' was not declared in this scope
main.cpp:83: error: 'SENSORS_SUBFEATURE_FAN_INPUT' was not declared in this scope
main.cpp:85: error: 'SENSORS_FEATURE_VID' was not declared in this scope
main.cpp:86: error: 'SENSORS_SUBFEATURE_VID' was not declared in this scope
main.cpp:88: error: 'SENSORS_FEATURE_POWER' was not declared in this scope
main.cpp:94: error: 'SENSORS_SUBFEATURE_POWER_INPUT' was not declared in this scope
main.cpp:95: error: 'SENSORS_SUBFEATURE_POWER_AVERAGE' was not declared in this scope
main.cpp:97: error: 'SENSORS_FEATURE_ENERGY' was not declared in this scope
main.cpp:98: error: 'SENSORS_SUBFEATURE_ENERGY_INPUT' was not declared in this scope
main.cpp:100: error: 'SENSORS_FEATURE_CURR' was not declared in this scope
main.cpp:101: error: 'SENSORS_SUBFEATURE_CURR_INPUT' was not declared in this scope
main.cpp:105: error: expected initializer before '*' token
main.cpp:106: error: 'subFeature' was not declared in this scope
main.cpp:107: error: 'sensors_get_subfeature' was not declared in this scope
main.cpp:109: error: 'subFeature' was not declared in this scope
main.cpp:111: error: 'sensors_get_value' was not declared in this scope
main.cpp:113: error: 'SENSORS_FEATURE_TEMP' was not declared in this scope
main.cpp:124: error: 'sensors_free_chip_name' was not declared in this scope
make[5]: *** [main.lo] Error 1
make[5]: Leaving directory `/root/netxms-1.2.1/src/agent/subagents/lmsensors'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/root/netxms-1.2.1/src/agent/subagents'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/netxms-1.2.1/src/agent'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/netxms-1.2.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/netxms-1.2.1'
make: *** [all] Error 2

Стоит Centos 5.2
lm_sensors-2.10.7-9.el5
lm_sensors-devel-2.10.7-9.el5

Это виртуалка, так что никаких сенсоров там нет :)
что делать?

Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Alex Kirhenshtein on June 06, 2012, 12:10:09 PM
Код написан под lm_sensors-3, но вот configure не проверяет версию - только наличие.
Постараюсь сегодня починить.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Victor Kirhenshtein on June 06, 2012, 12:13:29 PM
Можно попробовать деинсталлировать lm_sensors или только lm_sensors-devel-2.10.7-9.el5, раз они все равно на виртуалке не нужны.
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on June 06, 2012, 12:30:34 PM
Спасибо, Виктор.
Обновляемся ))
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: kozlov_ao on June 06, 2012, 12:48:35 PM
нее.. я до вечера подожду. :) машина боевая.
Сразу вопрос (сорри за офтоп). Под Unix появился lmsensors, а под винду ниче вразумительного не придумалии случаем? :)
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on June 06, 2012, 01:47:03 PM
Обновились. Пока живет. :)
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: inspirit on June 07, 2012, 10:47:27 AM
Живет стабильно. Спасибо за оперативность :)
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on June 07, 2012, 11:21:54 AM
Подтверждаю. Живет.
Спасибо.

PS: другая засада теперь, консоль под макось 1.2.1 отсутствует  ;D
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: Alex Kirhenshtein on June 07, 2012, 03:39:12 PM
Выложил консоль: https://www.netxms.org/download/nxmc/nxmc-1.2.1.dmg
Title: Re: Ошибки после обновления с 1.0.7 до 1.2.0
Post by: blacat on June 08, 2012, 01:32:54 PM
Alex, благодарю почтеннейше!  :)