Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - karmael

#1
Вы не поверите , но старые, но мало. т.е. они не блокирую прохождение других sql запросов (не знаю, скорей всего после сборки с новым pgsql.cpp)
нынешний лог в полном составе (т.е. больше не растет и ошибок больше нет) ошибки генерит только при старте сервера и выглядит вот так :


[12-Feb-2010 09:34:18] Log file opened
[12-Feb-2010 09:34:18] Platform subagent "/usr/local/netxms/lib/libnsm_linux.so" successfully loaded
[12-Feb-2010 09:34:18] Database driver "/usr/local/netxms/lib/libnxddr_pgsql.so" loaded and initialized successfully
[12-Feb-2010 09:35:00] Listening for SNMP traps on UDP socket 0.0.0.0:162
[12-Feb-2010 09:35:00] NetXMS Server started
[12-Feb-2010 09:35:00] Listening for client connections on TCP socket 0.0.0.0:4701
[12-Feb-2010 09:38:03] SQL query failed (Query = "UPDATE object_properties SET name='Подключение по л<D0>',status=0,is_deleted=0,inherit_access_rights=1,last_modified=1265956683,status_calc_alg=0,status_prop_alg=0,status_fixed_val=1,status_shift=0,status_translation='01020304',status_single_threshold=75,status_thresholds='503C2814',comments='',is_system=0,location_type=0,latitude='0.000000',longitude='0.000000' WHERE object_id=1374"): ERROR:  unterminated quoted string at or near "'Подключение по л"
LINE 1: UPDATE object_properties SET name='Подключение по л
                                          ^
[12-Feb-2010 09:38:03] SQL query failed (Query = "SELECT id FROM interfaces WHERE id=1374"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "INSERT INTO interfaces (id,ip_addr,ip_netmask,node_id,if_type,if_index,mac_addr,synthetic_mask,required_polls) VALUES (1374,'192.168.5.12','255.255.255.0',1103,6,65539,'00304866C4E3',0,0)"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "DELETE FROM acl WHERE object_id=1374"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "SELECT object_id FROM object_properties WHERE object_id=1638"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "SELECT id FROM interfaces WHERE id=1638"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "INSERT INTO interfaces (id,ip_addr,ip_netmask,node_id,if_type,if_index,mac_addr,synthetic_mask,required_polls) VALUES (1638,'192.168.2.4','255.255.255.0',373,6,65539,'003005989DE8',0,0)"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[12-Feb-2010 09:38:03] SQL query failed (Query = "DELETE FROM acl WHERE object_id=1638"): ERROR:  current transaction is aborted, commands ignored until end of transaction block



#2
Спасибо огромное. Настройки стали сохраняться, в логах ошибки присутствуют, но как  понял работе не мешают  ;D
#3
Кодировка в базе - UT8
проверить смогу только завтра с утра увы, по результатам - отпишусь.
Спасибо Вам за оперативную помощь.
#4
 теперь вот такая ошибка :

11-Feb-2010 15:39:25] Log file opened
[11-Feb-2010 15:39:25] Platform subagent "/usr/local/netxms/lib/libnsm_linux.so" successfully loaded
[11-Feb-2010 15:39:25] Database driver "/usr/local/netxms/lib/libnxddr_pgsql.so" loaded and initialized successfully
[11-Feb-2010 15:39:33] Listening for SNMP traps on UDP socket 0.0.0.0:162
[11-Feb-2010 15:39:33] NetXMS Server started
[11-Feb-2010 15:39:33] Listening for client connections on TCP socket 0.0.0.0:4701
[11-Feb-2010 15:42:33] SQL query failed (Query = "UPDATE object_properties SET name='Подключение по л▒',status=0,is_deleted=0,inherit_access_rights=1,last_modified=1265892116,status_calc_alg=0,status_prop_alg=0,status_fixed_val=1,status_shift=0,status_translation='01020304',status_single_threshold=75,status_thresholds='503C2814',comments='',is_system=0,location_type=0,latitude='0.000000',longitude='0.000000' WHERE object_id=1374"): ERROR:  unterminated quoted string at or near "'Подключение по л"
LINE 1: UPDATE object_properties SET name='Подключение по л

                                          ^
[11-Feb-2010 15:42:33] SQL query failed (Query = "SELECT id FROM interfaces WHERE id=1374"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[11-Feb-2010 15:42:33] SQL query failed (Query = "INSERT INTO interfaces (id,ip_addr,ip_netmask,node_id,if_type,if_index,mac_addr,synthetic_mask,required_polls) VALUES (1374,'192.168.5.12','255.255.255.0',1103,6,65539,'00304866C4E3',0,0)"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[11-Feb-2010 15:42:33] SQL query failed (Query = "DELETE FROM acl WHERE object_id=1374"): ERROR:  current transaction is aborted, commands ignored until end of transaction block
[11-Feb-2010 15:42:33] SQL query failed (Query = "SELECT object_id FROM object_properties WHERE object_id=1531"): ERROR:  current transaction is aborted, commands ignored until end
#5
версия линукса и postgres :

[root@monitor local]# /usr/local/pgsql/bin/postgres --version
postgres (PostgreSQL) 8.3.3
[root@monitor local]# uname -a
Linux monitor.int.rapida.ru 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008 i686 i686 i386 GNU/Linux
[root@monitor local]#



файл лога прикреплен. Ошибка возникает в самом первом запросе, сразу после старта сервера. т.е. первая строчка в логе.

#6
пересобрал с Вашим файлом netobj.cpp - проблема сохранилась. вот кусок лога pg_sql:

LOG:  received smart shutdown request
LOG:  autovacuum launcher shutting down
LOG:  shutting down
LOG:  database system is shut down
LOG:  database system was shut down at 2010-02-11 10:47:49 MSK
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections
ERROR:  unterminated quoted string at or near "'N 00" at character 328
STATEMENT:  UPDATE object_properties SET name='Entire Network',status=4,is_deleted=0,inherit_access_rights=1,last_modified=1265874505,status_calc_alg=0,status_prop_alg=0,status_fixed_val=1,status_shift=0,status_translation='01020304',status_single_threshold=75,status_thresholds='503C2814',comments='',is_system=0,location_type=0,latitude='N 00

ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM acl WHERE object_id=1
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  SELECT object_id FROM object_properties WHERE object_id=2
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM container_members WHERE container_id=2
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM acl WHERE object_id=2
#7
Виктор, вроде нашел в чем проблема, точней первую ошибку после которой он начинает пробрасывать запросы.
Не хватает кавычки в первом UPDATE.
вот кусок лога:


LOG:  database system was interrupted; last known up at 2010-02-08 16:12:21 MSK
LOG:  database system was not properly shut down; automatic recovery in progress
LOG:  redo starts at E6/F0E62E40
LOG:  record with zero length at E6/F1611F24
LOG:  redo done at E6/F1611EE4
LOG:  last completed transaction was at log time 2010-02-08 16:12:12.672469+03
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections
>>>>>>>>>>>>>>> ERROR:  unterminated quoted string at or near "'N 00" at character 328 #вот в этом месте
STATEMENT:  UPDATE object_properties SET name='Entire Network',status=4,is_deleted=0,inherit_access_rights=1,last_modified=1265634909,status_calc_alg=0,status_prop_alg=0,status_fix
ed_val=1,status_shift=0,status_translation='01020304',status_single_threshold=75,status_thresholds='503C2814',comments='',is_system=0,location_type=0,latitude='N 00[/b]
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM acl WHERE object_id=1
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  SELECT object_id FROM object_properties WHERE object_id=2
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM container_members WHERE container_id=2
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM acl WHERE object_id=2
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  SELECT object_id FROM object_properties WHERE object_id=11
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  SELECT id FROM templates WHERE id=11
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  INSERT INTO templates (id,version,enable_auto_apply,apply_filter) VALUES (11,65536,0,'#00')
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  DELETE FROM dct_node_map WHERE template_id=11
ERROR:  current transaction is aborted, commands ignored until end of transaction block


как исправить сие ?
#8
в логах netxms - все нормально, никаких сообщений об ошибках. Зато  в логах postgresql - следующее:

edit:
в логе netxms.log увидел вот такую штуку :

Inconsistent database: ServiceRoot object has reference to non-existing child object 1309

сделал nxdbmgr check - прошло без ошибок.

[root@monitor ~]# /usr/local/netxms/bin/nxdbmgr check
NetXMS Database Manager Version 0.2.31

Configuration file OK
Checking database:
Database is locked by server 192.168.3.5 [monitor.int.rapida.ru Linux Release 2.6.25-14.fc9.i686]
Do you wish to force database unlock? (Y/N) y
Database lock removed
* Checking node objects...                                              [PASSED]
* Checking interface objects...                                         [PASSED]
* Checking network service objects...                                   [PASSED]
* Checking cluster objects...                                           [PASSED]
* Checking template to node mapping...                                  [PASSED]
* Checking object properties...                                         [PASSED]
* Checking event processing policy...                                   [PASSED]
* Checking collected data...                                            [PASSED]
Database doesn't contain any errors
Database check completed




Зато  в логах postgresql - следующее:

STATEMENT:  SELECT id FROM nodes WHERE id=1242
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  INSERT INTO nodes (id,primary_ip,node_flags,snmp_version,community,status_poll_type,agent_port,auth_method,secret,snmp_oid,proxy_node,node_type,agent_version,platform_name,uname,poller_node_id,zone_guid,snmp_proxy,required_polls,use_ifxtable,usm_auth_password,usm_priv_password,usm_methods) VALUES (1242,'192.168.3.31',517,1,'public',0,4700,0,'#00','.1.3.6.1.4.1.9.1.217',0,0,'#00','#00','Cisco Internetwork Operating System Software  IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 12.0(5.2)XU, MAINTENANCE INTERIM SOFTWARE Copyright (c) 1986-2000 by cisco Systems, Inc. Compiled Mon 17-Jul-00 17:35 by ayounes',0,0,0,0,0,'#00','#00',0)
ERROR:  current transaction is aborted, commands ignored until end of transaction block


Ошибок конечно на порядок больше, и при каждом обращении клиента к netxmsd - лезет нечто подобное.
гуглил ошибку в гуглях - вменяемого ответа на ошибку : ERROR:  current transaction is aborted, commands ignored until end of transaction block так и не нашел. Может быть есть специфика в том как netxms пишет в базу ? или все таки уже у постресов спрашивать про ошибку?
#9
Спасибо, я конечно попробую, но в настройках сервера стоит, что commit в базу раз в 60 сек, однако у меня ситуация более интересная.

DCI были настроены в пятницу, по тех причинам сервера перезагружались ночью в воскресенье. После этого последнее настроенные DCI - пропали.
т.ч. есть сомнения в том, что дело в этом, но я все равно отпишусь по результатам.

-- with best regards,
Alexander Kleyev.

p.s. > хм, у меня была идея как раз в том, чтобы сначала правильно погасить базу, чтобы все commitы прошли, но видимо идея не работает, т.к. результат тот же.
Ибо при перезагрузке сервера - руками послали SIGTERM netxmsd , базу не трогали, перегружали уже целиком сервер, т.е. делали в том порядке, который Вы рекомендовали.
#10
День добрый, коллеги.
У меня опять наверное глупый вопрос, но ситуация такая:
Делаю DCI на все что можно и нужно. Все прекрасно работает до момента перезапуска netxms.
После старта пропадают все сделанные DCI  :-\ 
стартую\стоплю вот таким скриптом:


#! /bin/sh
#
# /etc/init.d/netxms
#
### BEGIN INIT INFO
# Provides:      netxms
# Required-Start: $local_fs $network sshd
# Required-Stop:
# Default-Start:  3 5
# Default-Stop:
# Description:    Provides netxms control
### END INIT INFO

case "$1" in
        start)
                echo "whaiting for sql base start, 30 sec around."
        su postgres --session-command="/usr/local/pgsql/bin/pg_ctl -D /opt/pgsql/data start"
                sleep 20
                echo "netxmsd starting up..."
                /usr/local/netxms/bin/netxmsd -c /usr/local/netxms/etc/netxmsd.conf -D 0 -d
                /usr/local/netxms/bin/nxagentd -d -c /usr/local/netxms/etc/nxagentd.conf
                ;;
        stop)
        su postgres --session-command "/usr/local/pgsql/bin/pg_ctl -D /opt/pgsql/data stop"
                        killall TERM nxagentd nxhttpd netxmsd
                ;;
        restart)
                $0 stop
                echo "5 second pause before restart. . ."
                sleep 5
                $0 start
                ;;
        *)
        echo "Usage: $0 {start|stop|restart}"
    exit 1
    esac
   exit 0


Что я делаю не так ? Может быть есть где то описанная более-менее процедура правильной остановки ?

ПО:

БД - postgresql
netxms - 0.2.31


Заранее спасибо.
#11
Общие вопросы / Re: Scripting Language (NXSL)
February 05, 2010, 08:44:32 AM
Quote from: Victor Kirhenshtein on February 04, 2010, 01:32:05 PM
Так вообще-то не должно быть. А какой тип данных стоит у DCI? Должен быть unsigned integer - тогда он будет правильно обрабатывать значения, боль шие чем 2 в степени 31, и переходы счетчика через 0.

Спасибо Виктор! дело оказалось как Вы и предполагали - в не правильном типе данных. Спасибо еще раз за наводку.
#12
Общие вопросы / Scripting Language (NXSL)
February 03, 2010, 03:02:28 PM
Здравствуйте коллеги!
У меня достаточно скромный а местами и просто тупой вопрос :)
в общем ситуация следующая. прописал в Data Collect все порты у циски. сиречь
от .1.3.6.1.2.1.2.2.1.10.10001 до .1.3.6.1.2.1.2.2.1.10.10024, так вот, но почему то выдает отрицательные величины?
т.е. можно наверно написать некий скрипт который бы брал значения min , max , делил бы его на время и получалось бы
все таки положительное число. Но наверно как то можно это обойти и без этого?