configurabe node matching policy in syslog server
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 11 Sep 2014 15:13:02 +0000 (18:13 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 11 Sep 2014 15:13:02 +0000 (18:13 +0300)
ChangeLog
doc/internal/checklists/AddingNewConfigParameter.txt [new file with mode: 0644]
include/netxmsdb.h
sql/setup.in
src/server/core/syslogd.cpp
src/server/tools/nxdbmgr/upgrade.cpp

index 2999e99..2031adf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 *
 
 - New DCI source: NXSL script executed on server
+- Configurable node matching policy for built-in syslog server (controlled by SyslogNodeMatchingPolicy configuration parameter)
 - Management console:
     - Can show alarms for multiple selected objects
     - Fixed non-working ordering in event list in alarm details view
diff --git a/doc/internal/checklists/AddingNewConfigParameter.txt b/doc/internal/checklists/AddingNewConfigParameter.txt
new file mode 100644 (file)
index 0000000..4891b4a
--- /dev/null
@@ -0,0 +1,8 @@
+Adding new server configuration parameter
+=========================================
+
+1. Add INSERT query to setup.in
+
+2. Add database upgrade procedure with CreateConfigParam call
+
+3. Update documentation (wiki and/or sphynx)
index 01cf07f..20e911e 100644 (file)
@@ -23,6 +23,6 @@
 #ifndef _netxmsdb_h
 #define _netxmsdb_h
 
-#define DB_FORMAT_VERSION   336
+#define DB_FORMAT_VERSION   337
 
 #endif
index d5f671e..769e086 100644 (file)
@@ -147,6 +147,7 @@ INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('SyncInterval','60',1,1);
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('SyncNodeNamesWithDNS','0',1,0);
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('SyslogListenPort','514',1,1);
+INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('SyslogNodeMatchingPolicy','0',1,1);
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('SyslogRetentionTime','90',1,0);
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('ThresholdRepeatInterval','0',1,1);
 INSERT INTO config (var_name,var_value,is_visible,need_server_restart) VALUES ('TileServerURL','http://tile.openstreetmap.org/',1,0);
index 7c79810..7c4b075 100644 (file)
@@ -558,6 +558,8 @@ THREAD_RESULT THREAD_CALL SyslogDaemon(void *pArg)
    fd_set rdfs;
    struct timeval tv;
 
+   s_nodeMatchingPolicy = (NodeMatchingPolicy)ConfigReadInt(_T("SyslogNodeMatchingPolicy"), SOURCE_IP_THEN_HOSTNAME);
+
    // Determine first available message id
    hResult = DBSelect(g_hCoreDB, _T("SELECT max(msg_id) FROM syslog"));
    if (hResult != NULL)
index b1e25a6..91e3353 100644 (file)
@@ -388,6 +388,16 @@ static BOOL RecreateTData(const TCHAR *className, bool multipleTables, bool inde
 }
 
 /**
+ * Upgrade from V336 to V337
+ */
+static BOOL H_UpgradeFromV336(int currVersion, int newVersion)
+{
+   CHK_EXEC(CreateConfigParam(_T("SyslogNodeMatchingPolicy"), _T("0"), 1, 1));
+   CHK_EXEC(SQLQuery(_T("UPDATE metadata SET var_value='337' WHERE var_name='SchemaVersion'")));
+   return TRUE;
+}
+
+/**
  * Upgrade from V335 to V336
  */
 static BOOL H_UpgradeFromV335(int currVersion, int newVersion)
@@ -494,10 +504,7 @@ static BOOL H_UpgradeFromV328(int currVersion, int newVersion)
  */
 static BOOL H_UpgradeFromV327(int currVersion, int newVersion)
 {
-   if (!CreateConfigParam(_T("ResolveDNSToIPOnStatusPoll"), _T("0"), 1, 1))
-   if (!g_bIgnoreErrors)
-      return FALSE;
-
+   CHK_EXEC(CreateConfigParam(_T("ResolveDNSToIPOnStatusPoll"), _T("0"), 1, 1));
    CHK_EXEC(SQLQuery(_T("UPDATE metadata SET var_value='328' WHERE var_name='SchemaVersion'")));
    return TRUE;
 }
@@ -8131,6 +8138,7 @@ static struct
    { 333, 334, H_UpgradeFromV333 },
    { 334, 335, H_UpgradeFromV334 },
    { 335, 336, H_UpgradeFromV335 },
+   { 336, 337, H_UpgradeFromV336 },
    { 0, 0, NULL }
 };