1ALTER TABLE acknowledges ALTER COLUMN acknowledgeid SET WITH DEFAULT NULL 2/ 3REORG TABLE acknowledges 4/ 5ALTER TABLE acknowledges ALTER COLUMN userid SET WITH DEFAULT NULL 6/ 7REORG TABLE acknowledges 8/ 9ALTER TABLE acknowledges ALTER COLUMN eventid SET WITH DEFAULT NULL 10/ 11REORG TABLE acknowledges 12/ 13DELETE FROM acknowledges WHERE NOT userid IN (SELECT userid FROM users) 14/ 15DELETE FROM acknowledges WHERE NOT eventid IN (SELECT eventid FROM events) 16/ 17ALTER TABLE acknowledges ADD CONSTRAINT c_acknowledges_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 18/ 19ALTER TABLE acknowledges ADD CONSTRAINT c_acknowledges_2 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE 20/ 21ALTER TABLE actions ALTER COLUMN actionid SET WITH DEFAULT NULL 22/ 23REORG TABLE actions 24/ 25UPDATE actions SET esc_period=3600 WHERE eventsource=0 AND esc_period=0 26/ 27ALTER TABLE alerts ALTER COLUMN alertid SET WITH DEFAULT NULL 28/ 29REORG TABLE alerts 30/ 31ALTER TABLE alerts ALTER COLUMN actionid SET WITH DEFAULT NULL 32/ 33REORG TABLE alerts 34/ 35ALTER TABLE alerts ALTER COLUMN eventid SET WITH DEFAULT NULL 36/ 37REORG TABLE alerts 38/ 39ALTER TABLE alerts ALTER COLUMN userid SET WITH DEFAULT NULL 40/ 41REORG TABLE alerts 42/ 43ALTER TABLE alerts ALTER COLUMN userid DROP NOT NULL 44/ 45REORG TABLE alerts 46/ 47ALTER TABLE alerts ALTER COLUMN mediatypeid SET WITH DEFAULT NULL 48/ 49REORG TABLE alerts 50/ 51ALTER TABLE alerts ALTER COLUMN mediatypeid DROP NOT NULL 52/ 53REORG TABLE alerts 54/ 55UPDATE alerts SET userid=NULL WHERE userid=0 56/ 57UPDATE alerts SET mediatypeid=NULL WHERE mediatypeid=0 58/ 59DELETE FROM alerts WHERE NOT actionid IN (SELECT actionid FROM actions) 60/ 61DELETE FROM alerts WHERE NOT eventid IN (SELECT eventid FROM events) 62/ 63DELETE FROM alerts WHERE NOT userid IN (SELECT userid FROM users) 64/ 65DELETE FROM alerts WHERE NOT mediatypeid IN (SELECT mediatypeid FROM media_type) 66/ 67ALTER TABLE alerts ADD CONSTRAINT c_alerts_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE 68/ 69ALTER TABLE alerts ADD CONSTRAINT c_alerts_2 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE 70/ 71ALTER TABLE alerts ADD CONSTRAINT c_alerts_3 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 72/ 73ALTER TABLE alerts ADD CONSTRAINT c_alerts_4 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE 74/ 75ALTER TABLE applications ALTER COLUMN applicationid SET WITH DEFAULT NULL 76/ 77REORG TABLE applications 78/ 79ALTER TABLE applications ALTER COLUMN hostid SET WITH DEFAULT NULL 80/ 81REORG TABLE applications 82/ 83ALTER TABLE applications ALTER COLUMN templateid SET WITH DEFAULT NULL 84/ 85REORG TABLE applications 86/ 87ALTER TABLE applications ALTER COLUMN templateid DROP NOT NULL 88/ 89REORG TABLE applications 90/ 91DELETE FROM applications WHERE NOT hostid IN (SELECT hostid FROM hosts) 92/ 93UPDATE applications SET templateid=NULL WHERE templateid=0 94/ 95UPDATE applications SET templateid=NULL WHERE NOT templateid IS NULL AND NOT templateid IN (SELECT applicationid FROM applications) 96/ 97ALTER TABLE applications ADD CONSTRAINT c_applications_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 98/ 99ALTER TABLE applications ADD CONSTRAINT c_applications_2 FOREIGN KEY (templateid) REFERENCES applications (applicationid) ON DELETE CASCADE 100/ 101ALTER TABLE auditlog_details ALTER COLUMN auditdetailid SET WITH DEFAULT NULL 102/ 103REORG TABLE auditlog_details 104/ 105ALTER TABLE auditlog_details ALTER COLUMN auditid SET WITH DEFAULT NULL 106/ 107REORG TABLE auditlog_details 108/ 109DELETE FROM auditlog_details WHERE NOT auditid IN (SELECT auditid FROM auditlog) 110/ 111ALTER TABLE auditlog_details ADD CONSTRAINT c_auditlog_details_1 FOREIGN KEY (auditid) REFERENCES auditlog (auditid) ON DELETE CASCADE 112/ 113ALTER TABLE auditlog ALTER COLUMN auditid SET WITH DEFAULT NULL 114/ 115REORG TABLE auditlog 116/ 117ALTER TABLE auditlog ALTER COLUMN userid SET WITH DEFAULT NULL 118/ 119REORG TABLE auditlog 120/ 121DELETE FROM auditlog WHERE NOT userid IN (SELECT userid FROM users) 122/ 123ALTER TABLE auditlog ADD CONSTRAINT c_auditlog_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 124/ 125DROP INDEX autoreg_host_1 126/ 127REORG TABLE autoreg_host 128/ 129CREATE INDEX autoreg_host_1 ON autoreg_host (proxy_hostid,host) 130/ 131REORG TABLE autoreg_host 132/ 133ALTER TABLE autoreg_host ALTER COLUMN autoreg_hostid SET WITH DEFAULT NULL 134/ 135REORG TABLE autoreg_host 136/ 137ALTER TABLE autoreg_host ALTER COLUMN proxy_hostid SET WITH DEFAULT NULL 138/ 139REORG TABLE autoreg_host 140/ 141ALTER TABLE autoreg_host ALTER COLUMN proxy_hostid DROP NOT NULL 142/ 143REORG TABLE autoreg_host 144/ 145ALTER TABLE autoreg_host ADD listen_ip varchar(39) WITH DEFAULT '' NOT NULL 146/ 147REORG TABLE autoreg_host 148/ 149ALTER TABLE autoreg_host ADD listen_port integer WITH DEFAULT '0' NOT NULL 150/ 151REORG TABLE autoreg_host 152/ 153ALTER TABLE autoreg_host ADD listen_dns varchar(64) WITH DEFAULT '' NOT NULL 154/ 155REORG TABLE autoreg_host 156/ 157UPDATE autoreg_host SET proxy_hostid=NULL WHERE proxy_hostid=0 158/ 159DELETE FROM autoreg_host WHERE proxy_hostid IS NOT NULL AND proxy_hostid NOT IN (SELECT hostid FROM hosts) 160/ 161ALTER TABLE autoreg_host ADD CONSTRAINT c_autoreg_host_1 FOREIGN KEY (proxy_hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 162/ 163ALTER TABLE conditions ALTER COLUMN conditionid SET WITH DEFAULT NULL 164/ 165REORG TABLE conditions 166/ 167ALTER TABLE conditions ALTER COLUMN actionid SET WITH DEFAULT NULL 168/ 169REORG TABLE conditions 170/ 171DELETE FROM conditions WHERE NOT actionid IN (SELECT actionid FROM actions) 172/ 173ALTER TABLE conditions ADD CONSTRAINT c_conditions_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE 174/ 175ALTER TABLE config ALTER COLUMN configid SET WITH DEFAULT NULL 176/ 177REORG TABLE config 178/ 179ALTER TABLE config ALTER COLUMN alert_usrgrpid SET WITH DEFAULT NULL 180/ 181REORG TABLE config 182/ 183ALTER TABLE config ALTER COLUMN alert_usrgrpid DROP NOT NULL 184/ 185REORG TABLE config 186/ 187ALTER TABLE config ALTER COLUMN discovery_groupid SET WITH DEFAULT NULL 188/ 189REORG TABLE config 190/ 191ALTER TABLE config ALTER COLUMN default_theme SET WITH DEFAULT 'originalblue' 192/ 193REORG TABLE config 194/ 195ALTER TABLE config ADD severity_color_0 varchar(6) WITH DEFAULT 'DBDBDB' NOT NULL 196/ 197REORG TABLE config 198/ 199ALTER TABLE config ADD severity_color_1 varchar(6) WITH DEFAULT 'D6F6FF' NOT NULL 200/ 201REORG TABLE config 202/ 203ALTER TABLE config ADD severity_color_2 varchar(6) WITH DEFAULT 'FFF6A5' NOT NULL 204/ 205REORG TABLE config 206/ 207ALTER TABLE config ADD severity_color_3 varchar(6) WITH DEFAULT 'FFB689' NOT NULL 208/ 209REORG TABLE config 210/ 211ALTER TABLE config ADD severity_color_4 varchar(6) WITH DEFAULT 'FF9999' NOT NULL 212/ 213REORG TABLE config 214/ 215ALTER TABLE config ADD severity_color_5 varchar(6) WITH DEFAULT 'FF3838' NOT NULL 216/ 217REORG TABLE config 218/ 219ALTER TABLE config ADD severity_name_0 varchar(32) WITH DEFAULT 'Not classified' NOT NULL 220/ 221REORG TABLE config 222/ 223ALTER TABLE config ADD severity_name_1 varchar(32) WITH DEFAULT 'Information' NOT NULL 224/ 225REORG TABLE config 226/ 227ALTER TABLE config ADD severity_name_2 varchar(32) WITH DEFAULT 'Warning' NOT NULL 228/ 229REORG TABLE config 230/ 231ALTER TABLE config ADD severity_name_3 varchar(32) WITH DEFAULT 'Average' NOT NULL 232/ 233REORG TABLE config 234/ 235ALTER TABLE config ADD severity_name_4 varchar(32) WITH DEFAULT 'High' NOT NULL 236/ 237REORG TABLE config 238/ 239ALTER TABLE config ADD severity_name_5 varchar(32) WITH DEFAULT 'Disaster' NOT NULL 240/ 241REORG TABLE config 242/ 243ALTER TABLE config ADD ok_period integer WITH DEFAULT '1800' NOT NULL 244/ 245REORG TABLE config 246/ 247ALTER TABLE config ADD blink_period integer WITH DEFAULT '1800' NOT NULL 248/ 249REORG TABLE config 250/ 251ALTER TABLE config ADD problem_unack_color varchar(6) WITH DEFAULT 'DC0000' NOT NULL 252/ 253REORG TABLE config 254/ 255ALTER TABLE config ADD problem_ack_color varchar(6) WITH DEFAULT 'DC0000' NOT NULL 256/ 257REORG TABLE config 258/ 259ALTER TABLE config ADD ok_unack_color varchar(6) WITH DEFAULT '00AA00' NOT NULL 260/ 261REORG TABLE config 262/ 263ALTER TABLE config ADD ok_ack_color varchar(6) WITH DEFAULT '00AA00' NOT NULL 264/ 265REORG TABLE config 266/ 267ALTER TABLE config ADD problem_unack_style integer WITH DEFAULT '1' NOT NULL 268/ 269REORG TABLE config 270/ 271ALTER TABLE config ADD problem_ack_style integer WITH DEFAULT '1' NOT NULL 272/ 273REORG TABLE config 274/ 275ALTER TABLE config ADD ok_unack_style integer WITH DEFAULT '1' NOT NULL 276/ 277REORG TABLE config 278/ 279ALTER TABLE config ADD ok_ack_style integer WITH DEFAULT '1' NOT NULL 280/ 281REORG TABLE config 282/ 283ALTER TABLE config ADD snmptrap_logging integer WITH DEFAULT '1' NOT NULL 284/ 285REORG TABLE config 286/ 287ALTER TABLE config ADD server_check_interval integer WITH DEFAULT '60' NOT NULL 288/ 289REORG TABLE config 290/ 291UPDATE config SET alert_usrgrpid=NULL WHERE NOT alert_usrgrpid IN (SELECT usrgrpid FROM usrgrp) 292/ 293UPDATE config SET discovery_groupid=(SELECT MIN(groupid) FROM groups) WHERE NOT discovery_groupid IN (SELECT groupid FROM groups) 294/ 295 296UPDATE config SET default_theme='darkblue' WHERE default_theme='css_bb.css' 297/ 298UPDATE config SET default_theme='originalblue' WHERE default_theme IN ('css_ob.css', 'default.css') 299/ 300UPDATE config SET default_theme='darkorange' WHERE default_theme='css_od.css' 301/ 302 303ALTER TABLE config ADD CONSTRAINT c_config_1 FOREIGN KEY (alert_usrgrpid) REFERENCES usrgrp (usrgrpid) 304/ 305ALTER TABLE config ADD CONSTRAINT c_config_2 FOREIGN KEY (discovery_groupid) REFERENCES groups (groupid) 306/ 307-- See drules.sql 308ALTER TABLE dhosts ALTER COLUMN dhostid SET WITH DEFAULT NULL 309/ 310REORG TABLE dhosts 311/ 312ALTER TABLE dhosts ALTER COLUMN druleid SET WITH DEFAULT NULL 313/ 314REORG TABLE dhosts 315/ 316DELETE FROM dhosts WHERE NOT druleid IN (SELECT druleid FROM drules) 317/ 318ALTER TABLE dhosts ADD CONSTRAINT c_dhosts_1 FOREIGN KEY (druleid) REFERENCES drules (druleid) ON DELETE CASCADE 319/ 320ALTER TABLE dchecks ALTER COLUMN dcheckid SET WITH DEFAULT NULL 321/ 322REORG TABLE dchecks 323/ 324ALTER TABLE dchecks ALTER COLUMN druleid SET WITH DEFAULT NULL 325/ 326REORG TABLE dchecks 327/ 328ALTER TABLE dchecks ALTER COLUMN key_ SET WITH DEFAULT '' 329/ 330REORG TABLE dchecks 331/ 332ALTER TABLE dchecks ALTER COLUMN snmp_community SET WITH DEFAULT '' 333/ 334REORG TABLE dchecks 335/ 336ALTER TABLE dchecks ADD uniq integer DEFAULT '0' NOT NULL 337/ 338REORG TABLE dchecks 339/ 340DELETE FROM dchecks WHERE NOT druleid IN (SELECT druleid FROM drules) 341/ 342ALTER TABLE dchecks ADD CONSTRAINT c_dchecks_1 FOREIGN KEY (druleid) REFERENCES drules (druleid) ON DELETE CASCADE 343/ 344UPDATE dchecks SET uniq=1 WHERE dcheckid IN (SELECT unique_dcheckid FROM drules) 345/ 346ALTER TABLE drules ALTER COLUMN druleid SET WITH DEFAULT NULL 347/ 348REORG TABLE drules 349/ 350ALTER TABLE drules ALTER COLUMN proxy_hostid SET WITH DEFAULT NULL 351/ 352REORG TABLE drules 353/ 354ALTER TABLE drules ALTER COLUMN proxy_hostid DROP NOT NULL 355/ 356REORG TABLE drules 357/ 358ALTER TABLE drules ALTER COLUMN delay SET WITH DEFAULT '3600' 359/ 360REORG TABLE drules 361/ 362ALTER TABLE drules DROP COLUMN unique_dcheckid 363/ 364REORG TABLE drules 365/ 366UPDATE drules SET proxy_hostid=NULL WHERE NOT proxy_hostid IN (SELECT hostid FROM hosts) 367/ 368ALTER TABLE drules ADD CONSTRAINT c_drules_1 FOREIGN KEY (proxy_hostid) REFERENCES hosts (hostid) 369/ 370ALTER TABLE dservices ALTER COLUMN dserviceid SET WITH DEFAULT NULL 371/ 372REORG TABLE dservices 373/ 374ALTER TABLE dservices ALTER COLUMN dhostid SET WITH DEFAULT NULL 375/ 376REORG TABLE dservices 377/ 378ALTER TABLE dservices ALTER COLUMN dcheckid SET WITH DEFAULT NULL 379/ 380REORG TABLE dservices 381/ 382ALTER TABLE dservices ALTER COLUMN key_ SET WITH DEFAULT '' 383/ 384REORG TABLE dservices 385/ 386ALTER TABLE dservices ALTER COLUMN value SET WITH DEFAULT '' 387/ 388REORG TABLE dservices 389/ 390ALTER TABLE dservices ADD dns varchar(64) WITH DEFAULT '' NOT NULL 391/ 392REORG TABLE dservices 393/ 394DELETE FROM dservices WHERE NOT dhostid IN (SELECT dhostid FROM dhosts) 395/ 396DELETE FROM dservices WHERE NOT dcheckid IN (SELECT dcheckid FROM dchecks) 397/ 398ALTER TABLE dservices ADD CONSTRAINT c_dservices_1 FOREIGN KEY (dhostid) REFERENCES dhosts (dhostid) ON DELETE CASCADE 399/ 400ALTER TABLE dservices ADD CONSTRAINT c_dservices_2 FOREIGN KEY (dcheckid) REFERENCES dchecks (dcheckid) ON DELETE CASCADE 401/ 402ALTER TABLE escalations ALTER COLUMN escalationid SET WITH DEFAULT NULL 403/ 404REORG TABLE escalations 405/ 406ALTER TABLE escalations ALTER COLUMN actionid SET WITH DEFAULT NULL 407/ 408REORG TABLE escalations 409/ 410ALTER TABLE escalations ALTER COLUMN triggerid SET WITH DEFAULT NULL 411/ 412REORG TABLE escalations 413/ 414ALTER TABLE escalations ALTER COLUMN triggerid DROP NOT NULL 415/ 416REORG TABLE escalations 417/ 418ALTER TABLE escalations ALTER COLUMN eventid SET WITH DEFAULT NULL 419/ 420REORG TABLE escalations 421/ 422ALTER TABLE escalations ALTER COLUMN eventid DROP NOT NULL 423/ 424REORG TABLE escalations 425/ 426ALTER TABLE escalations ALTER COLUMN r_eventid SET WITH DEFAULT NULL 427/ 428REORG TABLE escalations 429/ 430ALTER TABLE escalations ALTER COLUMN r_eventid DROP NOT NULL 431/ 432REORG TABLE escalations 433/ 434DROP INDEX escalations_2 435/ 436 437-- 0: ESCALATION_STATUS_ACTIVE 438-- 1: ESCALATION_STATUS_RECOVERY 439-- 2: ESCALATION_STATUS_SLEEP 440-- 4: ESCALATION_STATUS_SUPERSEDED_ACTIVE 441-- 5: ESCALATION_STATUS_SUPERSEDED_RECOVERY 442UPDATE escalations SET status=0 WHERE status in (1,4,5) 443/ 444 445CREATE SEQUENCE escalations_seq AS bigint 446/ 447 448CREATE PROCEDURE zbx_convert_escalations() 449LANGUAGE SQL 450BEGIN 451 DECLARE max_escalationid bigint; 452 DECLARE m_done integer DEFAULT 0; 453 DECLARE m_not_found CONDITION FOR SQLSTATE '02000'; 454 DECLARE m_cur CURSOR FOR (SELECT MAX(escalationid) FROM escalations); 455 DECLARE CONTINUE HANDLER FOR m_not_found SET m_done = 1; 456 457 OPEN m_cur; 458 459 m_loop: LOOP 460 FETCH m_cur INTO max_escalationid; 461 462 IF m_done = 1 THEN 463 LEAVE m_loop; 464 END IF; 465 466 BEGIN 467 DECLARE v_actionid bigint; 468 DECLARE v_triggerid bigint; 469 DECLARE v_r_eventid bigint; 470 DECLARE e_done integer DEFAULT 0; 471 DECLARE e_not_found CONDITION FOR SQLSTATE '02000'; 472 DECLARE e_cur CURSOR FOR ( 473 SELECT actionid, triggerid, r_eventid 474 FROM escalations 475 WHERE status = 0 476 AND eventid IS NOT NULL 477 AND r_eventid IS NOT NULL); 478 DECLARE CONTINUE HANDLER FOR e_not_found SET e_done = 1; 479 480 OPEN e_cur; 481 482 e_loop: LOOP 483 FETCH e_cur INTO v_actionid, v_triggerid, v_r_eventid; 484 485 IF e_done = 1 THEN 486 LEAVE e_loop; 487 END IF; 488 489 INSERT INTO escalations (escalationid, actionid, triggerid, r_eventid) VALUES 490 (max_escalationid + (NEXTVAL FOR escalations_seq), v_actionid, v_triggerid, v_r_eventid); 491 END LOOP e_loop; 492 493 CLOSE e_cur; 494 END; 495 END LOOP m_loop; 496 497 CLOSE m_cur; 498END 499/ 500 501CALL zbx_convert_escalations 502/ 503 504DROP PROCEDURE zbx_convert_escalations 505/ 506 507DROP SEQUENCE escalations_seq 508/ 509 510UPDATE escalations SET r_eventid = NULL WHERE eventid IS NOT NULL AND r_eventid IS NOT NULL 511/ 512-- See triggers.sql 513ALTER TABLE expressions ALTER COLUMN expressionid SET WITH DEFAULT NULL 514/ 515REORG TABLE expressions 516/ 517ALTER TABLE expressions ALTER COLUMN regexpid SET WITH DEFAULT NULL 518/ 519REORG TABLE expressions 520/ 521DELETE FROM expressions WHERE NOT regexpid IN (SELECT regexpid FROM regexps) 522/ 523ALTER TABLE expressions ADD CONSTRAINT c_expressions_1 FOREIGN KEY (regexpid) REFERENCES regexps (regexpid) ON DELETE CASCADE 524/ 525ALTER TABLE functions ALTER COLUMN functionid SET WITH DEFAULT NULL 526/ 527REORG TABLE functions 528/ 529ALTER TABLE functions ALTER COLUMN itemid SET WITH DEFAULT NULL 530/ 531REORG TABLE functions 532/ 533ALTER TABLE functions ALTER COLUMN triggerid SET WITH DEFAULT NULL 534/ 535REORG TABLE functions 536/ 537ALTER TABLE functions DROP COLUMN lastvalue 538/ 539REORG TABLE functions 540/ 541DELETE FROM functions WHERE NOT itemid IN (SELECT itemid FROM items) 542/ 543DELETE FROM functions WHERE NOT triggerid IN (SELECT triggerid FROM triggers) 544/ 545ALTER TABLE functions ADD CONSTRAINT c_functions_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 546/ 547ALTER TABLE functions ADD CONSTRAINT c_functions_2 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE 548/ 549ALTER TABLE globalmacro ALTER COLUMN globalmacroid SET WITH DEFAULT NULL 550/ 551REORG TABLE globalmacro 552/ 553CREATE TABLE globalvars ( 554 globalvarid bigint NOT NULL, 555 snmp_lastsize integer WITH DEFAULT '0' NOT NULL, 556 PRIMARY KEY (globalvarid) 557) 558/ 559CREATE TABLE graph_discovery ( 560 graphdiscoveryid bigint NOT NULL, 561 graphid bigint NOT NULL, 562 parent_graphid bigint NOT NULL, 563 name varchar(128) WITH DEFAULT '' NOT NULL, 564 PRIMARY KEY (graphdiscoveryid) 565) 566/ 567CREATE UNIQUE INDEX graph_discovery_1 on graph_discovery (graphid,parent_graphid) 568/ 569ALTER TABLE graph_discovery ADD CONSTRAINT c_graph_discovery_1 FOREIGN KEY (graphid) REFERENCES graphs (graphid) ON DELETE CASCADE 570/ 571ALTER TABLE graph_discovery ADD CONSTRAINT c_graph_discovery_2 FOREIGN KEY (parent_graphid) REFERENCES graphs (graphid) ON DELETE CASCADE 572/ 573ALTER TABLE graphs_items ALTER COLUMN gitemid SET WITH DEFAULT NULL 574/ 575REORG TABLE graphs_items 576/ 577ALTER TABLE graphs_items ALTER COLUMN graphid SET WITH DEFAULT NULL 578/ 579REORG TABLE graphs_items 580/ 581ALTER TABLE graphs_items ALTER COLUMN itemid SET WITH DEFAULT NULL 582/ 583REORG TABLE graphs_items 584/ 585ALTER TABLE graphs_items DROP COLUMN periods_cnt 586/ 587REORG TABLE graphs_items 588/ 589UPDATE graphs_items SET type=0 WHERE type=1 590/ 591DELETE FROM graphs_items WHERE NOT graphid IN (SELECT graphid FROM graphs) 592/ 593DELETE FROM graphs_items WHERE NOT itemid IN (SELECT itemid FROM items) 594/ 595ALTER TABLE graphs_items ADD CONSTRAINT c_graphs_items_1 FOREIGN KEY (graphid) REFERENCES graphs (graphid) ON DELETE CASCADE 596/ 597ALTER TABLE graphs_items ADD CONSTRAINT c_graphs_items_2 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 598/ 599ALTER TABLE graphs ALTER COLUMN graphid SET WITH DEFAULT NULL 600/ 601REORG TABLE graphs 602/ 603ALTER TABLE graphs ALTER COLUMN templateid SET WITH DEFAULT NULL 604/ 605REORG TABLE graphs 606/ 607ALTER TABLE graphs ALTER COLUMN templateid DROP NOT NULL 608/ 609REORG TABLE graphs 610/ 611ALTER TABLE graphs ALTER COLUMN ymin_itemid SET WITH DEFAULT NULL 612/ 613REORG TABLE graphs 614/ 615ALTER TABLE graphs ALTER COLUMN ymin_itemid DROP NOT NULL 616/ 617REORG TABLE graphs 618/ 619ALTER TABLE graphs ALTER COLUMN ymax_itemid SET WITH DEFAULT NULL 620/ 621REORG TABLE graphs 622/ 623ALTER TABLE graphs ALTER COLUMN ymax_itemid DROP NOT NULL 624/ 625REORG TABLE graphs 626/ 627ALTER TABLE graphs ALTER COLUMN show_legend SET DEFAULT 1 628/ 629REORG TABLE graphs 630/ 631ALTER TABLE graphs ADD flags integer WITH DEFAULT '0' NOT NULL 632/ 633REORG TABLE graphs 634/ 635UPDATE graphs SET show_legend=1 WHERE graphtype IN (0, 1) 636/ 637UPDATE graphs SET templateid=NULL WHERE templateid=0 638/ 639UPDATE graphs SET templateid=NULL WHERE templateid IS NOT NULL AND templateid NOT IN (SELECT graphid FROM graphs) 640/ 641UPDATE graphs SET ymin_itemid=NULL WHERE ymin_itemid=0 OR ymin_itemid NOT IN (SELECT itemid FROM items) 642/ 643UPDATE graphs SET ymax_itemid=NULL WHERE ymax_itemid=0 OR ymax_itemid NOT IN (SELECT itemid FROM items) 644/ 645UPDATE graphs SET ymin_type=0 WHERE ymin_type=2 AND ymin_itemid=NULL 646/ 647UPDATE graphs SET ymax_type=0 WHERE ymax_type=2 AND ymax_itemid=NULL 648/ 649ALTER TABLE graphs ADD CONSTRAINT c_graphs_1 FOREIGN KEY (templateid) REFERENCES graphs (graphid) ON DELETE CASCADE 650/ 651ALTER TABLE graphs ADD CONSTRAINT c_graphs_2 FOREIGN KEY (ymin_itemid) REFERENCES items (itemid) 652/ 653ALTER TABLE graphs ADD CONSTRAINT c_graphs_3 FOREIGN KEY (ymax_itemid) REFERENCES items (itemid) 654/ 655ALTER TABLE graph_theme ALTER COLUMN graphthemeid SET WITH DEFAULT NULL 656/ 657REORG TABLE graph_theme 658/ 659ALTER TABLE graph_theme ALTER COLUMN noneworktimecolor SET DEFAULT 'CCCCCC' 660/ 661REORG TABLE graph_theme 662/ 663ALTER TABLE graph_theme RENAME COLUMN noneworktimecolor TO nonworktimecolor 664/ 665REORG TABLE graph_theme 666/ 667UPDATE graph_theme SET theme = 'darkblue' WHERE theme = 'css_bb.css' 668/ 669UPDATE graph_theme SET theme = 'originalblue' WHERE theme = 'css_ob.css' 670/ 671-- Insert new graph theme 672INSERT INTO graph_theme (graphthemeid, description, theme, backgroundcolor, graphcolor, graphbordercolor, gridcolor, 673 maingridcolor, gridbordercolor, textcolor, highlightcolor, leftpercentilecolor, rightpercentilecolor, 674 nonworktimecolor, gridview, legendview) 675SELECT (SELECT MAX(graphthemeid) FROM graph_theme) + 1 AS graphthemeid, 'Dark orange' AS description, 'darkorange' AS theme, 676 '333333' AS backgroundcolor, '0A0A0A' AS graphcolor, '888888' AS graphbordercolor, '222222' AS gridcolor, 677 '4F4F4F' AS maingridcolor, 'EFEFEF' AS gridbordercolor, 'DFDFDF' AS textcolor, 'FF5500' AS highlightcolor, 678 'FF5500' AS leftpercentilecolor, 'FF1111' AS rightpercentilecolor, '1F1F1F' AS nonworktimecolor, 1 AS gridview, 679 1 AS legendview 680FROM dual WHERE EXISTS (SELECT NULL FROM graph_theme) 681/ 682INSERT INTO graph_theme (graphthemeid, description, theme, backgroundcolor, graphcolor, graphbordercolor, gridcolor, 683 maingridcolor, gridbordercolor, textcolor, highlightcolor, leftpercentilecolor, rightpercentilecolor, 684 nonworktimecolor, gridview, legendview) 685SELECT (SELECT MAX(graphthemeid) FROM graph_theme) + 1 AS graphthemeid, 'Classic' AS description, 'classic' AS theme, 686 'F0F0F0' AS backgroundcolor, 'FFFFFF' AS graphcolor, '333333' AS graphbordercolor, 'CCCCCC' AS gridcolor, 687 'AAAAAA' AS maingridcolor, '000000' AS gridbordercolor, '222222' AS textcolor, 'AA4444' AS highlightcolor, 688 '11CC11' AS leftpercentilecolor, 'CC1111' AS rightpercentilecolor, 'E0E0E0' AS nonworktimecolor, 1 AS gridview, 689 1 AS legendview 690FROM dual WHERE EXISTS (SELECT NULL FROM graph_theme) 691/ 692DELETE FROM ids WHERE table_name = 'graph_theme' 693/ 694ALTER TABLE groups ALTER COLUMN groupid SET WITH DEFAULT NULL 695/ 696REORG TABLE groups 697/ 698DROP TABLE help_items 699/ 700 701CREATE TABLE help_items ( 702 itemtype integer WITH DEFAULT '0' NOT NULL, 703 key_ varchar(255) WITH DEFAULT '' NOT NULL, 704 description varchar(255) WITH DEFAULT '' NOT NULL, 705 PRIMARY KEY (itemtype,key_) 706) 707/ 708 709INSERT INTO help_items (itemtype,key_,description) values ('0','agent.ping','Check the agent usability. Always return 1. Can be used as a TCP ping.') 710/ 711INSERT INTO help_items (itemtype,key_,description) values ('0','agent.version','Version of zabbix_agent(d) running on monitored host. String value. Example of returned value: 1.1') 712/ 713INSERT INTO help_items (itemtype,key_,description) values ('0','kernel.maxfiles','Maximum number of opened files supported by OS.') 714/ 715INSERT INTO help_items (itemtype,key_,description) values ('0','kernel.maxproc','Maximum number of processes supported by OS.') 716/ 717INSERT INTO help_items (itemtype,key_,description) values ('0','net.dns.record[<ip>,name,<type>,<timeout>,<count>]','Performs a DNS query. On success returns a character string with the required type of information.') 718/ 719INSERT INTO help_items (itemtype,key_,description) values ('0','net.dns[<ip>,name,<type>,<timeout>,<count>]','Checks if DNS service is up. 0 - DNS is down (server did not respond or DNS resolution failed), 1 - DNS is up.') 720/ 721INSERT INTO help_items (itemtype,key_,description) values ('0','net.if.collisions[if]','Out-of-window collision. Collisions count.') 722/ 723INSERT INTO help_items (itemtype,key_,description) values ('0','net.if.in[if,<mode>]','Network interface input statistic. Integer value. If mode is missing bytes is used.') 724/ 725INSERT INTO help_items (itemtype,key_,description) values ('0','net.if.list','List of network interfaces. Text value.') 726/ 727INSERT INTO help_items (itemtype,key_,description) values ('0','net.if.out[if,<mode>]','Network interface output statistic. Integer value. If mode is missing bytes is used.') 728/ 729INSERT INTO help_items (itemtype,key_,description) values ('0','net.if.total[if,<mode>]','Sum of network interface incoming and outgoing statistics. Integer value. Mode - one of bytes (default), packets, errors or dropped') 730/ 731INSERT INTO help_items (itemtype,key_,description) values ('0','net.tcp.listen[port]','Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state.') 732/ 733INSERT INTO help_items (itemtype,key_,description) values ('0','net.tcp.port[<ip>,port]','Check, if it is possible to make TCP connection to the port number. 0 - cannot connect, 1 - can connect. IP address is optional. If ip is missing, 127.0.0.1 is used. Example: net.tcp.port[,80]') 734/ 735INSERT INTO help_items (itemtype,key_,description) values ('0','net.tcp.service.perf[service,<ip>,<port>]','Check performance of service "service". 0 - service is down, sec - number of seconds spent on connection to the service. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used.') 736/ 737INSERT INTO help_items (itemtype,key_,description) values ('0','net.tcp.service[service,<ip>,<port>]','Check if service is available. 0 - service is down, 1 - service is running. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used. Example: net.tcp.service[ftp,,45].') 738/ 739INSERT INTO help_items (itemtype,key_,description) values ('0','perf_counter[counter,<interval>]','Value of any performance counter, where "counter" parameter is the counter path and "interval" parameter is a number of last seconds, for which the agent returns an average value.') 740/ 741INSERT INTO help_items (itemtype,key_,description) values ('0','proc.mem[<name>,<user>,<mode>,<cmdline>]','Memory used by process with name name running under user user. Memory used by processes. Process name, user and mode is optional. If name or user is missing all processes will be calculated. If mode is missing sum is used. Example: proc.mem[,root]') 742/ 743INSERT INTO help_items (itemtype,key_,description) values ('0','proc.num[<name>,<user>,<state>,<cmdline>]','Number of processes with name name running under user user having state state. Process name, user and state are optional. Examples: proc.num[,mysql]; proc.num[apache2,www-data]; proc.num[,oracle,sleep,oracleZABBIX]') 744/ 745INSERT INTO help_items (itemtype,key_,description) values ('0','proc_info[<process>,<attribute>,<type>]','Different information about specific process(es)') 746/ 747INSERT INTO help_items (itemtype,key_,description) values ('0','service_state[service]','State of service. 0 - running, 1 - paused, 2 - start pending, 3 - pause pending, 4 - continue pending, 5 - stop pending, 6 - stopped, 7 - unknown, 255 - no such service') 748/ 749INSERT INTO help_items (itemtype,key_,description) values ('0','system.boottime','Timestamp of system boot.') 750/ 751INSERT INTO help_items (itemtype,key_,description) values ('0','system.cpu.intr','Device interrupts.') 752/ 753INSERT INTO help_items (itemtype,key_,description) values ('0','system.cpu.load[<cpu>,<mode>]','CPU(s) load. Processor load. The cpu and mode are optional. If cpu is missing all is used. If mode is missing avg1 is used. Note that this is not percentage.') 754/ 755INSERT INTO help_items (itemtype,key_,description) values ('0','system.cpu.num','Number of available proccessors.') 756/ 757INSERT INTO help_items (itemtype,key_,description) values ('0','system.cpu.switches','Context switches.') 758/ 759INSERT INTO help_items (itemtype,key_,description) values ('0','system.cpu.util[<cpu>,<type>,<mode>]','CPU(s) utilisation. Processor load in percents. The cpu, type and mode are optional. If cpu is missing all is used. If type is missing user is used. If mode is missing avg1 is used.') 760/ 761INSERT INTO help_items (itemtype,key_,description) values ('0','system.hostname[<type>]','Returns hostname (or NetBIOS name (by default) on Windows). String value. Example of returned value: www.zabbix.com') 762/ 763INSERT INTO help_items (itemtype,key_,description) values ('0','system.hw.chassis[<info>]','Chassis info - returns full info by default') 764/ 765INSERT INTO help_items (itemtype,key_,description) values ('0','system.hw.cpu[<cpu>,<info>]','CPU info - lists full info for all CPUs by default') 766/ 767INSERT INTO help_items (itemtype,key_,description) values ('0','system.hw.devices[<type>]','Device list - lists PCI devices by default') 768/ 769INSERT INTO help_items (itemtype,key_,description) values ('0','system.hw.macaddr[<interface>,<format>]','MAC address - lists all MAC addresses with interface names by default') 770/ 771INSERT INTO help_items (itemtype,key_,description) values ('0','system.localtime','System local time. Time in seconds.') 772/ 773INSERT INTO help_items (itemtype,key_,description) values ('0','system.run[command,<mode>]','Run specified command on the host.') 774/ 775INSERT INTO help_items (itemtype,key_,description) values ('0','system.stat[resource,<type>]','Virtual memory statistics.') 776/ 777INSERT INTO help_items (itemtype,key_,description) values ('0','system.sw.arch','Software architecture') 778/ 779INSERT INTO help_items (itemtype,key_,description) values ('0','system.sw.os[<info>]','Current OS - returns full info by default') 780/ 781INSERT INTO help_items (itemtype,key_,description) values ('0','system.sw.packages[<package>,<manager>,<format>]','Software package list - lists all packages for all supported package managers by default') 782/ 783INSERT INTO help_items (itemtype,key_,description) values ('0','system.swap.in[<swap>,<type>]','Swap in. If type is count - swapins is returned. If type is pages - pages swapped in is returned. If swap is missing all is used.') 784/ 785INSERT INTO help_items (itemtype,key_,description) values ('0','system.swap.out[<swap>,<type>]','Swap out. If type is count - swapouts is returned. If type is pages - pages swapped in is returned. If swap is missing all is used.') 786/ 787INSERT INTO help_items (itemtype,key_,description) values ('0','system.swap.size[<swap>,<mode>]','Swap space. Number of bytes. If swap is missing all is used. If mode is missing free is used.') 788/ 789INSERT INTO help_items (itemtype,key_,description) values ('0','system.uname','Returns detailed host information. String value') 790/ 791INSERT INTO help_items (itemtype,key_,description) values ('0','system.uptime','System uptime in seconds.') 792/ 793INSERT INTO help_items (itemtype,key_,description) values ('0','system.users.num','Number of users connected. Command who is used on agent side.') 794/ 795INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.dev.read[device,<type>,<mode>]','Device read statistics.') 796/ 797INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.dev.write[device,<type>,<mode>]','Device write statistics.') 798/ 799INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.cksum[file]','Calculate check sum of a given file. Check sum of the file calculate by standard algorithm used by UNIX utility cksum. Example: vfs.file.cksum[/etc/passwd]') 800/ 801INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.contents[file,<encoding>]','Get contents of a given file.') 802/ 803INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.exists[file]','Check if file exists. 0 - file does not exist, 1 - file exists') 804/ 805INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.md5sum[file]','Calculate MD5 check sum of a given file. String MD5 hash of the file. Can be used for files less than 64MB, unsupported otherwise. Example: vfs.file.md5sum[/usr/local/usr/local/etc/zabbix3_agentd.conf]') 806/ 807INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.regexp[file,regexp,<encoding>]','Find string in a file. Matched string') 808/ 809INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.regmatch[file,regexp,<encoding>]','Find string in a file. 0 - expression not found, 1 - found') 810/ 811INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.size[file]','Size of a given file. Size in bytes. File must have read permissions for user zabbix. Example: vfs.file.size[/var/log/syslog]') 812/ 813INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.file.time[file,<mode>]','File time information. Number of seconds.The mode is optional. If mode is missing modify is used.') 814/ 815INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.fs.inode[fs,<mode>]','Number of inodes for a given volume. If mode is missing total is used.') 816/ 817INSERT INTO help_items (itemtype,key_,description) values ('0','vfs.fs.size[fs,<mode>]','Calculate disk space for a given volume. Disk space in KB. If mode is missing total is used. In case of mounted volume, unused disk space for local file system is returned. Example: vfs.fs.size[/tmp,free].') 818/ 819INSERT INTO help_items (itemtype,key_,description) values ('0','vm.memory.size[<mode>]','Amount of memory size in bytes. If mode is missing total is used.') 820/ 821INSERT INTO help_items (itemtype,key_,description) values ('0','web.page.get[host,<path>,<port>]','Get content of web page. Default path is /') 822/ 823INSERT INTO help_items (itemtype,key_,description) values ('0','web.page.perf[host,<path>,<port>]','Get timing of loading full web page. Default path is /') 824/ 825INSERT INTO help_items (itemtype,key_,description) values ('0','web.page.regexp[host,<path>,<port>,<regexp>,<length>]','Get first occurrence of regexp in web page. Default path is /') 826/ 827INSERT INTO help_items (itemtype,key_,description) values ('3','icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]','Returns percentage of lost ICMP ping packets.') 828/ 829INSERT INTO help_items (itemtype,key_,description) values ('3','icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]','Returns ICMP ping response time in seconds. Example: 0.02') 830/ 831INSERT INTO help_items (itemtype,key_,description) values ('3','icmpping[<target>,<packets>,<interval>,<size>,<timeout>]','Checks if server is accessible by ICMP ping. 0 - ICMP ping fails. 1 - ICMP ping successful. One of zabbix_server processes performs ICMP pings once per PingerFrequency seconds.') 832/ 833INSERT INTO help_items (itemtype,key_,description) values ('3','net.tcp.service.perf[service,<ip>,<port>]','Check performance of service. 0 - service is down, sec - number of seconds spent on connection to the service. If <ip> is missing, IP or DNS name is taken from host definition. If <port> is missing, default service port is used.') 834/ 835INSERT INTO help_items (itemtype,key_,description) values ('3','net.tcp.service[service,<ip>,<port>]','Check if service is available. 0 - service is down, 1 - service is running. If <ip> is missing, IP or DNS name is taken from host definition. If <port> is missing, default service port is used.') 836/ 837INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[boottime]','Startup time of Zabbix server, Unix timestamp.') 838/ 839INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[history]','Number of values stored in table HISTORY.') 840/ 841INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[history_log]','Number of values stored in table HISTORY_LOG.') 842/ 843INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[history_str]','Number of values stored in table HISTORY_STR.') 844/ 845INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[history_text]','Number of values stored in table HISTORY_TEXT.') 846/ 847INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[history_uint]','Number of values stored in table HISTORY_UINT.') 848/ 849INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[host,<type>,available]','Returns availability of a particular type of checks on the host. Value of this item corresponds to availability icons in the host list. Valid types are: agent, snmp, ipmi, jmx.') 850/ 851INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[items]','Number of items in Zabbix database.') 852/ 853INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[items_unsupported]','Number of unsupported items in Zabbix database.') 854/ 855INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[java,,<param>]','Returns information associated with Zabbix Java gateway. Valid params are: ping, version.') 856/ 857INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[process,<type>,<num>,<state>]','Time a particular Zabbix process or a group of processes (identified by <type> and <num>) spent in <state> in percentage.') 858/ 859INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[proxy,<name>,<param>]','Time of proxy last access. Name - proxy name. Param - lastaccess. Unix timestamp.') 860/ 861INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[queue,<from>,<to>]','Number of items in the queue which are delayed by from to to seconds, inclusive.') 862/ 863INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[requiredperformance]','Required performance of the Zabbix server, in new values per second expected.') 864/ 865INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[rcache,<cache>,<mode>]','Configuration cache statistics. Cache - buffer (modes: pfree, total, used, free).') 866/ 867INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[trends]','Number of values stored in table TRENDS.') 868/ 869INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[trends_uint]','Number of values stored in table TRENDS_UINT.') 870/ 871INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[triggers]','Number of triggers in Zabbix database.') 872/ 873INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[uptime]','Uptime of Zabbix server process in seconds.') 874/ 875INSERT INTO help_items (itemtype,key_,description) values ('5','zabbix[wcache,<cache>,<mode>]','Data cache statistics. Cache - one of values (modes: all, float, uint, str, log, text), history (modes: pfree, total, used, free), trend (modes: pfree, total, used, free), text (modes: pfree, total, used, free).') 876/ 877INSERT INTO help_items (itemtype,key_,description) values ('7','agent.ping','Check the agent usability. Always return 1. Can be used as a TCP ping.') 878/ 879INSERT INTO help_items (itemtype,key_,description) values ('7','agent.version','Version of zabbix_agent(d) running on monitored host. String value. Example of returned value: 1.1') 880/ 881INSERT INTO help_items (itemtype,key_,description) values ('7','eventlog[logtype,<pattern>,<severity>,<source>,<eventid>,<maxlines>,<mode>]','Monitoring of Windows event logs. pattern, severity, eventid - regular expressions') 882/ 883INSERT INTO help_items (itemtype,key_,description) values ('7','kernel.maxfiles','Maximum number of opened files supported by OS.') 884/ 885INSERT INTO help_items (itemtype,key_,description) values ('7','kernel.maxproc','Maximum number of processes supported by OS.') 886/ 887INSERT INTO help_items (itemtype,key_,description) values ('7','logrt[file_format,<pattern>,<encoding>,<maxlines>,<mode>]','Monitoring of log file with rotation. fileformat - [path][regexp], pattern - regular expression') 888/ 889INSERT INTO help_items (itemtype,key_,description) values ('7','log[file,<pattern>,<encoding>,<maxlines>,<mode>]','Monitoring of log file. pattern - regular expression') 890/ 891INSERT INTO help_items (itemtype,key_,description) values ('7','net.dns.record[<ip>,name,<type>,<timeout>,<count>]','Performs a DNS query. On success returns a character string with the required type of information.') 892/ 893INSERT INTO help_items (itemtype,key_,description) values ('7','net.dns[<ip>,name,<type>,<timeout>,<count>]','Checks if DNS service is up. 0 - DNS is down (server did not respond or DNS resolution failed), 1 - DNS is up.') 894/ 895INSERT INTO help_items (itemtype,key_,description) values ('7','net.if.collisions[if]','Out-of-window collision. Collisions count.') 896/ 897INSERT INTO help_items (itemtype,key_,description) values ('7','net.if.in[if,<mode>]','Network interface input statistic. Integer value. If mode is missing bytes is used.') 898/ 899INSERT INTO help_items (itemtype,key_,description) values ('7','net.if.list','List of network interfaces. Text value.') 900/ 901INSERT INTO help_items (itemtype,key_,description) values ('7','net.if.out[if,<mode>]','Network interface output statistic. Integer value. If mode is missing bytes is used.') 902/ 903INSERT INTO help_items (itemtype,key_,description) values ('7','net.if.total[if,<mode>]','Sum of network interface incoming and outgoing statistics. Integer value. Mode - one of bytes (default), packets, errors or dropped') 904/ 905INSERT INTO help_items (itemtype,key_,description) values ('7','net.tcp.listen[port]','Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state.') 906/ 907INSERT INTO help_items (itemtype,key_,description) values ('7','net.tcp.port[<ip>,port]','Check, if it is possible to make TCP connection to the port number. 0 - cannot connect, 1 - can connect. IP address is optional. If ip is missing, 127.0.0.1 is used. Example: net.tcp.port[,80]') 908/ 909INSERT INTO help_items (itemtype,key_,description) values ('7','net.tcp.service.perf[service,<ip>,<port>]','Check performance of service "service". 0 - service is down, sec - number of seconds spent on connection to the service. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used.') 910/ 911INSERT INTO help_items (itemtype,key_,description) values ('7','net.tcp.service[service,<ip>,<port>]','Check if service is available. 0 - service is down, 1 - service is running. If ip is missing 127.0.0.1 is used. If port number is missing, default service port is used. Example: net.tcp.service[ftp,,45].') 912/ 913INSERT INTO help_items (itemtype,key_,description) values ('7','perf_counter[counter,<interval>]','Value of any performance counter, where "counter" parameter is the counter path and "interval" parameter is a number of last seconds, for which the agent returns an average value.') 914/ 915INSERT INTO help_items (itemtype,key_,description) values ('7','proc.mem[<name>,<user>,<mode>,<cmdline>]','Memory used by process with name name running under user user. Memory used by processes. Process name, user and mode is optional. If name or user is missing all processes will be calculated. If mode is missing sum is used. Example: proc.mem[,root]') 916/ 917INSERT INTO help_items (itemtype,key_,description) values ('7','proc.num[<name>,<user>,<state>,<cmdline>]','Number of processes with name name running under user user having state state. Process name, user and state are optional. Examples: proc.num[,mysql]; proc.num[apache2,www-data]; proc.num[,oracle,sleep,oracleZABBIX]') 918/ 919INSERT INTO help_items (itemtype,key_,description) values ('7','proc_info[<process>,<attribute>,<type>]','Different information about specific process(es)') 920/ 921INSERT INTO help_items (itemtype,key_,description) values ('7','service_state[service]','State of service. 0 - running, 1 - paused, 2 - start pending, 3 - pause pending, 4 - continue pending, 5 - stop pending, 6 - stopped, 7 - unknown, 255 - no such service') 922/ 923INSERT INTO help_items (itemtype,key_,description) values ('7','system.boottime','Timestamp of system boot.') 924/ 925INSERT INTO help_items (itemtype,key_,description) values ('7','system.cpu.intr','Device interrupts.') 926/ 927INSERT INTO help_items (itemtype,key_,description) values ('7','system.cpu.load[<cpu>,<mode>]','CPU(s) load. Processor load. The cpu and mode are optional. If cpu is missing all is used. If mode is missing avg1 is used. Note that this is not percentage.') 928/ 929INSERT INTO help_items (itemtype,key_,description) values ('7','system.cpu.num','Number of available proccessors.') 930/ 931INSERT INTO help_items (itemtype,key_,description) values ('7','system.cpu.switches','Context switches.') 932/ 933INSERT INTO help_items (itemtype,key_,description) values ('7','system.cpu.util[<cpu>,<type>,<mode>]','CPU(s) utilisation. Processor load in percents. The cpu, type and mode are optional. If cpu is missing all is used. If type is missing user is used. If mode is missing avg1 is used.') 934/ 935INSERT INTO help_items (itemtype,key_,description) values ('7','system.hostname[<type>]','Returns hostname (or NetBIOS name (by default) on Windows). String value. Example of returned value: www.zabbix.com') 936/ 937INSERT INTO help_items (itemtype,key_,description) values ('7','system.hw.chassis[<info>]','Chassis info - returns full info by default') 938/ 939INSERT INTO help_items (itemtype,key_,description) values ('7','system.hw.cpu[<cpu>,<info>]','CPU info - lists full info for all CPUs by default') 940/ 941INSERT INTO help_items (itemtype,key_,description) values ('7','system.hw.devices[<type>]','Device list - lists PCI devices by default') 942/ 943INSERT INTO help_items (itemtype,key_,description) values ('7','system.hw.macaddr[<interface>,<format>]','MAC address - lists all MAC addresses with interface names by default') 944/ 945INSERT INTO help_items (itemtype,key_,description) values ('7','system.localtime','System local time. Time in seconds.') 946/ 947INSERT INTO help_items (itemtype,key_,description) values ('7','system.run[command,<mode>]','Run specified command on the host.') 948/ 949INSERT INTO help_items (itemtype,key_,description) values ('7','system.stat[resource,<type>]','Virtual memory statistics.') 950/ 951INSERT INTO help_items (itemtype,key_,description) values ('7','system.sw.arch','Software architecture') 952/ 953INSERT INTO help_items (itemtype,key_,description) values ('7','system.sw.os[<info>]','Current OS - returns full info by default') 954/ 955INSERT INTO help_items (itemtype,key_,description) values ('7','system.sw.packages[<package>,<manager>,<format>]','Software package list - lists all packages for all supported package managers by default') 956/ 957INSERT INTO help_items (itemtype,key_,description) values ('7','system.swap.in[<swap>,<type>]','Swap in. If type is count - swapins is returned. If type is pages - pages swapped in is returned. If swap is missing all is used.') 958/ 959INSERT INTO help_items (itemtype,key_,description) values ('7','system.swap.out[<swap>,<type>]','Swap out. If type is count - swapouts is returned. If type is pages - pages swapped in is returned. If swap is missing all is used.') 960/ 961INSERT INTO help_items (itemtype,key_,description) values ('7','system.swap.size[<swap>,<mode>]','Swap space. Number of bytes. If swap is missing all is used. If mode is missing free is used.') 962/ 963INSERT INTO help_items (itemtype,key_,description) values ('7','system.uname','Returns detailed host information. String value') 964/ 965INSERT INTO help_items (itemtype,key_,description) values ('7','system.uptime','System uptime in seconds.') 966/ 967INSERT INTO help_items (itemtype,key_,description) values ('7','system.users.num','Number of users connected. Command who is used on agent side.') 968/ 969INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.dev.read[device,<type>,<mode>]','Device read statistics.') 970/ 971INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.dev.write[device,<type>,<mode>]','Device write statistics.') 972/ 973INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.cksum[file]','Calculate check sum of a given file. Check sum of the file calculate by standard algorithm used by UNIX utility cksum. Example: vfs.file.cksum[/etc/passwd]') 974/ 975INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.contents[file,<encoding>]','Get contents of a given file.') 976/ 977INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.exists[file]','Check if file exists. 0 - file does not exist, 1 - file exists') 978/ 979INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.md5sum[file]','Calculate MD5 check sum of a given file. String MD5 hash of the file. Can be used for files less than 64MB, unsupported otherwise. Example: vfs.file.md5sum[/usr/local/usr/local/etc/zabbix3_agentd.conf]') 980/ 981INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.regexp[file,regexp,<encoding>]','Find string in a file. Matched string') 982/ 983INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.regmatch[file,regexp,<encoding>]','Find string in a file. 0 - expression not found, 1 - found') 984/ 985INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.size[file]','Size of a given file. Size in bytes. File must have read permissions for user zabbix. Example: vfs.file.size[/var/log/syslog]') 986/ 987INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.file.time[file,<mode>]','File time information. Number of seconds.The mode is optional. If mode is missing modify is used.') 988/ 989INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.fs.inode[fs,<mode>]','Number of inodes for a given volume. If mode is missing total is used.') 990/ 991INSERT INTO help_items (itemtype,key_,description) values ('7','vfs.fs.size[fs,<mode>]','Calculate disk space for a given volume. Disk space in KB. If mode is missing total is used. In case of mounted volume, unused disk space for local file system is returned. Example: vfs.fs.size[/tmp,free].') 992/ 993INSERT INTO help_items (itemtype,key_,description) values ('7','vm.memory.size[<mode>]','Amount of memory size in bytes. If mode is missing total is used.') 994/ 995INSERT INTO help_items (itemtype,key_,description) values ('7','web.page.get[host,<path>,<port>]','Get content of web page. Default path is /') 996/ 997INSERT INTO help_items (itemtype,key_,description) values ('7','web.page.perf[host,<path>,<port>]','Get timing of loading full web page. Default path is /') 998/ 999INSERT INTO help_items (itemtype,key_,description) values ('7','web.page.regexp[host,<path>,<port>,<regexp>,<length>]','Get first occurrence of regexp in web page. Default path is /') 1000/ 1001INSERT INTO help_items (itemtype,key_,description) values ('8','grpfunc[<group>,<key>,<func>,<param>]','Aggregate checks do not require any agent running on a host being monitored. Zabbix server collects aggregate information by doing direct database queries. See Zabbix Manual.') 1002/ 1003INSERT INTO help_items (itemtype,key_,description) values ('17','snmptrap.fallback','Catches all SNMP traps from a corresponding address that were not catched by any of the snmptrap[] items for that interface.') 1004/ 1005INSERT INTO help_items (itemtype,key_,description) values ('17','snmptrap[<regex>]','Catches all SNMP traps from a corresponding address that match regex. Default regex is an empty string.') 1006/ 1007ALTER TABLE history_log ALTER COLUMN id SET WITH DEFAULT NULL 1008/ 1009REORG TABLE history_log 1010/ 1011ALTER TABLE history_log ALTER COLUMN itemid SET WITH DEFAULT NULL 1012/ 1013REORG TABLE history_log 1014/ 1015ALTER TABLE history_log ADD ns integer WITH DEFAULT '0' NOT NULL 1016/ 1017REORG TABLE history_log 1018/ 1019ALTER TABLE history ALTER COLUMN itemid SET WITH DEFAULT NULL 1020/ 1021REORG TABLE history 1022/ 1023ALTER TABLE history ADD ns integer WITH DEFAULT '0' NOT NULL 1024/ 1025REORG TABLE history 1026/ 1027ALTER TABLE history_str ALTER COLUMN itemid SET WITH DEFAULT NULL 1028/ 1029REORG TABLE history_str 1030/ 1031ALTER TABLE history_str ADD ns integer WITH DEFAULT '0' NOT NULL 1032/ 1033REORG TABLE history_str 1034/ 1035ALTER TABLE history_str_sync ALTER COLUMN itemid SET WITH DEFAULT NULL 1036/ 1037REORG TABLE history_str_sync 1038/ 1039ALTER TABLE history_str_sync ALTER COLUMN nodeid SET WITH DEFAULT NULL 1040/ 1041REORG TABLE history_str_sync 1042/ 1043ALTER TABLE history_str_sync ALTER COLUMN nodeid SET DATA TYPE integer 1044/ 1045REORG TABLE history_str_sync 1046/ 1047ALTER TABLE history_str_sync ADD ns integer WITH DEFAULT '0' NOT NULL 1048/ 1049REORG TABLE history_str_sync 1050/ 1051ALTER TABLE history_sync ALTER COLUMN itemid SET WITH DEFAULT NULL 1052/ 1053REORG TABLE history_sync 1054/ 1055ALTER TABLE history_sync ALTER COLUMN nodeid SET WITH DEFAULT NULL 1056/ 1057REORG TABLE history_sync 1058/ 1059ALTER TABLE history_sync ALTER COLUMN nodeid SET DATA TYPE integer 1060/ 1061REORG TABLE history_sync 1062/ 1063ALTER TABLE history_sync ADD ns integer WITH DEFAULT '0' NOT NULL 1064/ 1065REORG TABLE history_sync 1066/ 1067ALTER TABLE history_text ALTER COLUMN id SET WITH DEFAULT NULL 1068/ 1069REORG TABLE history_text 1070/ 1071ALTER TABLE history_text ALTER COLUMN itemid SET WITH DEFAULT NULL 1072/ 1073REORG TABLE history_text 1074/ 1075ALTER TABLE history_text ADD ns integer WITH DEFAULT '0' NOT NULL 1076/ 1077REORG TABLE history_text 1078/ 1079ALTER TABLE history_uint ALTER COLUMN itemid SET WITH DEFAULT NULL 1080/ 1081REORG TABLE history_uint 1082/ 1083ALTER TABLE history_uint ADD ns integer WITH DEFAULT '0' NOT NULL 1084/ 1085REORG TABLE history_uint 1086/ 1087ALTER TABLE history_uint_sync ALTER COLUMN itemid SET WITH DEFAULT NULL 1088/ 1089REORG TABLE history_uint_sync 1090/ 1091ALTER TABLE history_uint_sync ALTER COLUMN nodeid SET WITH DEFAULT NULL 1092/ 1093REORG TABLE history_uint_sync 1094/ 1095ALTER TABLE history_uint_sync ALTER COLUMN nodeid SET DATA TYPE integer 1096/ 1097REORG TABLE history_uint_sync 1098/ 1099ALTER TABLE history_uint_sync ADD ns integer WITH DEFAULT '0' NOT NULL 1100/ 1101REORG TABLE history_uint_sync 1102/ 1103DELETE FROM hosts_profiles WHERE NOT hostid IN (SELECT hostid FROM hosts) 1104/ 1105DELETE FROM hosts_profiles_ext WHERE NOT hostid IN (SELECT hostid FROM hosts) 1106/ 1107 1108CREATE TABLE host_inventory ( 1109 hostid bigint NOT NULL, 1110 inventory_mode integer WITH DEFAULT '0' NOT NULL, 1111 type varchar(64) WITH DEFAULT '' NOT NULL, 1112 type_full varchar(64) WITH DEFAULT '' NOT NULL, 1113 name varchar(64) WITH DEFAULT '' NOT NULL, 1114 alias varchar(64) WITH DEFAULT '' NOT NULL, 1115 os varchar(64) WITH DEFAULT '' NOT NULL, 1116 os_full varchar(255) WITH DEFAULT '' NOT NULL, 1117 os_short varchar(64) WITH DEFAULT '' NOT NULL, 1118 serialno_a varchar(64) WITH DEFAULT '' NOT NULL, 1119 serialno_b varchar(64) WITH DEFAULT '' NOT NULL, 1120 tag varchar(64) WITH DEFAULT '' NOT NULL, 1121 asset_tag varchar(64) WITH DEFAULT '' NOT NULL, 1122 macaddress_a varchar(64) WITH DEFAULT '' NOT NULL, 1123 macaddress_b varchar(64) WITH DEFAULT '' NOT NULL, 1124 hardware varchar(255) WITH DEFAULT '' NOT NULL, 1125 hardware_full varchar(2048) WITH DEFAULT '' NOT NULL, 1126 software varchar(255) WITH DEFAULT '' NOT NULL, 1127 software_full varchar(2048) WITH DEFAULT '' NOT NULL, 1128 software_app_a varchar(64) WITH DEFAULT '' NOT NULL, 1129 software_app_b varchar(64) WITH DEFAULT '' NOT NULL, 1130 software_app_c varchar(64) WITH DEFAULT '' NOT NULL, 1131 software_app_d varchar(64) WITH DEFAULT '' NOT NULL, 1132 software_app_e varchar(64) WITH DEFAULT '' NOT NULL, 1133 contact varchar(2048) WITH DEFAULT '' NOT NULL, 1134 location varchar(2048) WITH DEFAULT '' NOT NULL, 1135 location_lat varchar(16) WITH DEFAULT '' NOT NULL, 1136 location_lon varchar(16) WITH DEFAULT '' NOT NULL, 1137 notes varchar(2048) WITH DEFAULT '' NOT NULL, 1138 chassis varchar(64) WITH DEFAULT '' NOT NULL, 1139 model varchar(64) WITH DEFAULT '' NOT NULL, 1140 hw_arch varchar(32) WITH DEFAULT '' NOT NULL, 1141 vendor varchar(64) WITH DEFAULT '' NOT NULL, 1142 contract_number varchar(64) WITH DEFAULT '' NOT NULL, 1143 installer_name varchar(64) WITH DEFAULT '' NOT NULL, 1144 deployment_status varchar(64) WITH DEFAULT '' NOT NULL, 1145 url_a varchar(255) WITH DEFAULT '' NOT NULL, 1146 url_b varchar(255) WITH DEFAULT '' NOT NULL, 1147 url_c varchar(255) WITH DEFAULT '' NOT NULL, 1148 host_networks varchar(2048) WITH DEFAULT '' NOT NULL, 1149 host_netmask varchar(39) WITH DEFAULT '' NOT NULL, 1150 host_router varchar(39) WITH DEFAULT '' NOT NULL, 1151 oob_ip varchar(39) WITH DEFAULT '' NOT NULL, 1152 oob_netmask varchar(39) WITH DEFAULT '' NOT NULL, 1153 oob_router varchar(39) WITH DEFAULT '' NOT NULL, 1154 date_hw_purchase varchar(64) WITH DEFAULT '' NOT NULL, 1155 date_hw_install varchar(64) WITH DEFAULT '' NOT NULL, 1156 date_hw_expiry varchar(64) WITH DEFAULT '' NOT NULL, 1157 date_hw_decomm varchar(64) WITH DEFAULT '' NOT NULL, 1158 site_address_a varchar(128) WITH DEFAULT '' NOT NULL, 1159 site_address_b varchar(128) WITH DEFAULT '' NOT NULL, 1160 site_address_c varchar(128) WITH DEFAULT '' NOT NULL, 1161 site_city varchar(128) WITH DEFAULT '' NOT NULL, 1162 site_state varchar(64) WITH DEFAULT '' NOT NULL, 1163 site_country varchar(64) WITH DEFAULT '' NOT NULL, 1164 site_zip varchar(64) WITH DEFAULT '' NOT NULL, 1165 site_rack varchar(128) WITH DEFAULT '' NOT NULL, 1166 site_notes varchar(2048) WITH DEFAULT '' NOT NULL, 1167 poc_1_name varchar(128) WITH DEFAULT '' NOT NULL, 1168 poc_1_email varchar(128) WITH DEFAULT '' NOT NULL, 1169 poc_1_phone_a varchar(64) WITH DEFAULT '' NOT NULL, 1170 poc_1_phone_b varchar(64) WITH DEFAULT '' NOT NULL, 1171 poc_1_cell varchar(64) WITH DEFAULT '' NOT NULL, 1172 poc_1_screen varchar(64) WITH DEFAULT '' NOT NULL, 1173 poc_1_notes varchar(2048) WITH DEFAULT '' NOT NULL, 1174 poc_2_name varchar(128) WITH DEFAULT '' NOT NULL, 1175 poc_2_email varchar(128) WITH DEFAULT '' NOT NULL, 1176 poc_2_phone_a varchar(64) WITH DEFAULT '' NOT NULL, 1177 poc_2_phone_b varchar(64) WITH DEFAULT '' NOT NULL, 1178 poc_2_cell varchar(64) WITH DEFAULT '' NOT NULL, 1179 poc_2_screen varchar(64) WITH DEFAULT '' NOT NULL, 1180 poc_2_notes varchar(2048) WITH DEFAULT '' NOT NULL, 1181 PRIMARY KEY (hostid) 1182) 1183/ 1184ALTER TABLE host_inventory ADD CONSTRAINT c_host_inventory_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 1185/ 1186 1187-- create temporary t_host_inventory table 1188CREATE TABLE t_host_inventory ( 1189 hostid bigint, 1190 inventory_mode integer, 1191 type varchar(64), 1192 type_full varchar(64), 1193 name varchar(64), 1194 alias varchar(64), 1195 os varchar(64), 1196 os_full varchar(255), 1197 os_short varchar(64), 1198 serialno_a varchar(64), 1199 serialno_b varchar(64), 1200 tag varchar(64), 1201 asset_tag varchar(64), 1202 macaddress_a varchar(64), 1203 macaddress_b varchar(64), 1204 hardware varchar(255), 1205 hardware_full varchar(2048), 1206 software varchar(255), 1207 software_full varchar(2048), 1208 software_app_a varchar(64), 1209 software_app_b varchar(64), 1210 software_app_c varchar(64), 1211 software_app_d varchar(64), 1212 software_app_e varchar(64), 1213 contact varchar(2048), 1214 location varchar(2048), 1215 location_lat varchar(16), 1216 location_lon varchar(16), 1217 notes varchar(2048), 1218 chassis varchar(64), 1219 model varchar(64), 1220 hw_arch varchar(32), 1221 vendor varchar(64), 1222 contract_number varchar(64), 1223 installer_name varchar(64), 1224 deployment_status varchar(64), 1225 url_a varchar(255), 1226 url_b varchar(255), 1227 url_c varchar(255), 1228 host_networks varchar(2048), 1229 host_netmask varchar(39), 1230 host_router varchar(39), 1231 oob_ip varchar(39), 1232 oob_netmask varchar(39), 1233 oob_router varchar(39), 1234 date_hw_purchase varchar(64), 1235 date_hw_install varchar(64), 1236 date_hw_expiry varchar(64), 1237 date_hw_decomm varchar(64), 1238 site_address_a varchar(128), 1239 site_address_b varchar(128), 1240 site_address_c varchar(128), 1241 site_city varchar(128), 1242 site_state varchar(64), 1243 site_country varchar(64), 1244 site_zip varchar(64), 1245 site_rack varchar(128), 1246 site_notes varchar(2048), 1247 poc_1_name varchar(128), 1248 poc_1_email varchar(128), 1249 poc_1_phone_a varchar(64), 1250 poc_1_phone_b varchar(64), 1251 poc_1_cell varchar(64), 1252 poc_1_screen varchar(64), 1253 poc_1_notes varchar(2048), 1254 poc_2_name varchar(128), 1255 poc_2_email varchar(128), 1256 poc_2_phone_a varchar(64), 1257 poc_2_phone_b varchar(64), 1258 poc_2_cell varchar(64), 1259 poc_2_screen varchar(64), 1260 poc_2_notes varchar(2048), 1261 notes_ext varchar(2048) 1262) 1263/ 1264 1265-- select all profiles into temporary table 1266INSERT INTO t_host_inventory 1267 SELECT p.hostid,0,p.devicetype,ep.device_type,p.name,ep.device_alias,p.os,ep.device_os,ep.device_os_short, 1268 p.serialno,ep.device_serial,p.tag,ep.device_tag,p.macaddress,ep.ip_macaddress,ep.device_hardware, 1269 p.hardware,ep.device_software,p.software,ep.device_app_01,ep.device_app_02,ep.device_app_03, 1270 ep.device_app_04,ep.device_app_05,p.contact,p.location,'','',p.notes,ep.device_chassis,ep.device_model, 1271 ep.device_hw_arch,ep.device_vendor,ep.device_contract,ep.device_who,ep.device_status,ep.device_url_1, 1272 ep.device_url_2,ep.device_url_3,ep.device_networks,ep.ip_subnet_mask,ep.ip_router,ep.oob_ip, 1273 ep.oob_subnet_mask,ep.oob_router,ep.date_hw_buy,ep.date_hw_install,ep.date_hw_expiry,ep.date_hw_decomm, 1274 ep.site_street_1,ep.site_street_2,ep.site_street_3,ep.site_city,ep.site_state,ep.site_country, 1275 ep.site_zip,ep.site_rack,ep.site_notes,ep.poc_1_name,ep.poc_1_email,ep.poc_1_phone_1,ep.poc_1_phone_2, 1276 ep.poc_1_cell,ep.poc_1_screen,ep.poc_1_notes,ep.poc_2_name,ep.poc_2_email,ep.poc_2_phone_1, 1277 ep.poc_2_phone_2,ep.poc_2_cell,ep.poc_2_screen,ep.poc_2_notes,ep.device_notes 1278 FROM hosts_profiles p LEFT JOIN hosts_profiles_ext ep on p.hostid=ep.hostid 1279 UNION ALL 1280 SELECT ep.hostid,0,p.devicetype,ep.device_type,p.name,ep.device_alias,p.os,ep.device_os,ep.device_os_short, 1281 p.serialno,ep.device_serial,p.tag,ep.device_tag,p.macaddress,ep.ip_macaddress,ep.device_hardware, 1282 p.hardware,ep.device_software,p.software,ep.device_app_01,ep.device_app_02,ep.device_app_03, 1283 ep.device_app_04,ep.device_app_05,p.contact,p.location,'','',p.notes,ep.device_chassis,ep.device_model, 1284 ep.device_hw_arch,ep.device_vendor,ep.device_contract,ep.device_who,ep.device_status,ep.device_url_1, 1285 ep.device_url_2,ep.device_url_3,ep.device_networks,ep.ip_subnet_mask,ep.ip_router,ep.oob_ip, 1286 ep.oob_subnet_mask,ep.oob_router,ep.date_hw_buy,ep.date_hw_install,ep.date_hw_expiry,ep.date_hw_decomm, 1287 ep.site_street_1,ep.site_street_2,ep.site_street_3,ep.site_city,ep.site_state,ep.site_country, 1288 ep.site_zip,ep.site_rack,ep.site_notes,ep.poc_1_name,ep.poc_1_email,ep.poc_1_phone_1,ep.poc_1_phone_2, 1289 ep.poc_1_cell,ep.poc_1_screen,ep.poc_1_notes,ep.poc_2_name,ep.poc_2_email,ep.poc_2_phone_1, 1290 ep.poc_2_phone_2,ep.poc_2_cell,ep.poc_2_screen,ep.poc_2_notes,ep.device_notes 1291 FROM hosts_profiles p RIGHT JOIN hosts_profiles_ext ep on p.hostid=ep.hostid 1292 WHERE p.hostid IS NULL 1293/ 1294 1295UPDATE t_host_inventory SET type='' WHERE type IS NULL 1296/ 1297UPDATE t_host_inventory SET type_full='' WHERE type_full IS NULL 1298/ 1299UPDATE t_host_inventory SET name='' WHERE name IS NULL 1300/ 1301UPDATE t_host_inventory SET alias='' WHERE alias IS NULL 1302/ 1303UPDATE t_host_inventory SET os='' WHERE os IS NULL 1304/ 1305UPDATE t_host_inventory SET os_full='' WHERE os_full IS NULL 1306/ 1307UPDATE t_host_inventory SET os_short='' WHERE os_short IS NULL 1308/ 1309UPDATE t_host_inventory SET serialno_a='' WHERE serialno_a IS NULL 1310/ 1311UPDATE t_host_inventory SET serialno_b='' WHERE serialno_b IS NULL 1312/ 1313UPDATE t_host_inventory SET tag='' WHERE tag IS NULL 1314/ 1315UPDATE t_host_inventory SET asset_tag='' WHERE asset_tag IS NULL 1316/ 1317UPDATE t_host_inventory SET macaddress_a='' WHERE macaddress_a IS NULL 1318/ 1319UPDATE t_host_inventory SET macaddress_b='' WHERE macaddress_b IS NULL 1320/ 1321UPDATE t_host_inventory SET hardware='' WHERE hardware IS NULL 1322/ 1323UPDATE t_host_inventory SET hardware_full='' WHERE hardware_full IS NULL 1324/ 1325UPDATE t_host_inventory SET software='' WHERE software IS NULL 1326/ 1327UPDATE t_host_inventory SET software_full='' WHERE software_full IS NULL 1328/ 1329UPDATE t_host_inventory SET software_app_a='' WHERE software_app_a IS NULL 1330/ 1331UPDATE t_host_inventory SET software_app_b='' WHERE software_app_b IS NULL 1332/ 1333UPDATE t_host_inventory SET software_app_c='' WHERE software_app_c IS NULL 1334/ 1335UPDATE t_host_inventory SET software_app_d='' WHERE software_app_d IS NULL 1336/ 1337UPDATE t_host_inventory SET software_app_e='' WHERE software_app_e IS NULL 1338/ 1339UPDATE t_host_inventory SET contact='' WHERE contact IS NULL 1340/ 1341UPDATE t_host_inventory SET location='' WHERE location IS NULL 1342/ 1343UPDATE t_host_inventory SET location_lat='' WHERE location_lat IS NULL 1344/ 1345UPDATE t_host_inventory SET location_lon='' WHERE location_lon IS NULL 1346/ 1347UPDATE t_host_inventory SET notes='' WHERE notes IS NULL 1348/ 1349UPDATE t_host_inventory SET chassis='' WHERE chassis IS NULL 1350/ 1351UPDATE t_host_inventory SET model='' WHERE model IS NULL 1352/ 1353UPDATE t_host_inventory SET hw_arch='' WHERE hw_arch IS NULL 1354/ 1355UPDATE t_host_inventory SET vendor='' WHERE vendor IS NULL 1356/ 1357UPDATE t_host_inventory SET contract_number='' WHERE contract_number IS NULL 1358/ 1359UPDATE t_host_inventory SET installer_name='' WHERE installer_name IS NULL 1360/ 1361UPDATE t_host_inventory SET deployment_status='' WHERE deployment_status IS NULL 1362/ 1363UPDATE t_host_inventory SET url_a='' WHERE url_a IS NULL 1364/ 1365UPDATE t_host_inventory SET url_b='' WHERE url_b IS NULL 1366/ 1367UPDATE t_host_inventory SET url_c='' WHERE url_c IS NULL 1368/ 1369UPDATE t_host_inventory SET host_networks='' WHERE host_networks IS NULL 1370/ 1371UPDATE t_host_inventory SET host_netmask='' WHERE host_netmask IS NULL 1372/ 1373UPDATE t_host_inventory SET host_router='' WHERE host_router IS NULL 1374/ 1375UPDATE t_host_inventory SET oob_ip='' WHERE oob_ip IS NULL 1376/ 1377UPDATE t_host_inventory SET oob_netmask='' WHERE oob_netmask IS NULL 1378/ 1379UPDATE t_host_inventory SET oob_router='' WHERE oob_router IS NULL 1380/ 1381UPDATE t_host_inventory SET date_hw_purchase='' WHERE date_hw_purchase IS NULL 1382/ 1383UPDATE t_host_inventory SET date_hw_install='' WHERE date_hw_install IS NULL 1384/ 1385UPDATE t_host_inventory SET date_hw_expiry='' WHERE date_hw_expiry IS NULL 1386/ 1387UPDATE t_host_inventory SET date_hw_decomm='' WHERE date_hw_decomm IS NULL 1388/ 1389UPDATE t_host_inventory SET site_address_a='' WHERE site_address_a IS NULL 1390/ 1391UPDATE t_host_inventory SET site_address_b='' WHERE site_address_b IS NULL 1392/ 1393UPDATE t_host_inventory SET site_address_c='' WHERE site_address_c IS NULL 1394/ 1395UPDATE t_host_inventory SET site_city='' WHERE site_city IS NULL 1396/ 1397UPDATE t_host_inventory SET site_state='' WHERE site_state IS NULL 1398/ 1399UPDATE t_host_inventory SET site_country='' WHERE site_country IS NULL 1400/ 1401UPDATE t_host_inventory SET site_zip='' WHERE site_zip IS NULL 1402/ 1403UPDATE t_host_inventory SET site_rack='' WHERE site_rack IS NULL 1404/ 1405UPDATE t_host_inventory SET site_notes='' WHERE site_notes IS NULL 1406/ 1407UPDATE t_host_inventory SET poc_1_name='' WHERE poc_1_name IS NULL 1408/ 1409UPDATE t_host_inventory SET poc_1_email='' WHERE poc_1_email IS NULL 1410/ 1411UPDATE t_host_inventory SET poc_1_phone_a='' WHERE poc_1_phone_a IS NULL 1412/ 1413UPDATE t_host_inventory SET poc_1_phone_b='' WHERE poc_1_phone_b IS NULL 1414/ 1415UPDATE t_host_inventory SET poc_1_cell='' WHERE poc_1_cell IS NULL 1416/ 1417UPDATE t_host_inventory SET poc_1_screen='' WHERE poc_1_screen IS NULL 1418/ 1419UPDATE t_host_inventory SET poc_1_notes='' WHERE poc_1_notes IS NULL 1420/ 1421UPDATE t_host_inventory SET poc_2_name='' WHERE poc_2_name IS NULL 1422/ 1423UPDATE t_host_inventory SET poc_2_email='' WHERE poc_2_email IS NULL 1424/ 1425UPDATE t_host_inventory SET poc_2_phone_a='' WHERE poc_2_phone_a IS NULL 1426/ 1427UPDATE t_host_inventory SET poc_2_phone_b='' WHERE poc_2_phone_b IS NULL 1428/ 1429UPDATE t_host_inventory SET poc_2_cell='' WHERE poc_2_cell IS NULL 1430/ 1431UPDATE t_host_inventory SET poc_2_screen='' WHERE poc_2_screen IS NULL 1432/ 1433UPDATE t_host_inventory SET poc_2_notes='' WHERE poc_2_notes IS NULL 1434/ 1435 1436-- merge notes field 1437UPDATE t_host_inventory SET notes_ext='' WHERE notes_ext IS NULL 1438/ 1439UPDATE t_host_inventory SET notes=notes||CHR(13)||CHR(10)||notes_ext WHERE notes<>'' AND notes_ext<>'' 1440/ 1441UPDATE t_host_inventory SET notes=notes_ext WHERE notes='' 1442/ 1443ALTER TABLE t_host_inventory DROP COLUMN notes_ext 1444/ 1445REORG TABLE t_host_inventory 1446/ 1447 1448-- copy data from temporary table 1449INSERT INTO host_inventory SELECT * FROM t_host_inventory 1450/ 1451 1452DROP TABLE t_host_inventory 1453/ 1454DROP TABLE hosts_profiles 1455/ 1456DROP TABLE hosts_profiles_ext 1457/ 1458 1459DELETE FROM ids WHERE table_name IN ('hosts_profiles', 'hosts_profiles_ext') 1460/ 1461ALTER TABLE hostmacro ALTER COLUMN hostmacroid SET WITH DEFAULT NULL 1462/ 1463REORG TABLE hostmacro 1464/ 1465ALTER TABLE hostmacro ALTER COLUMN hostid SET WITH DEFAULT NULL 1466/ 1467REORG TABLE hostmacro 1468/ 1469DELETE FROM hostmacro WHERE NOT hostid IN (SELECT hostid FROM hosts) 1470/ 1471-- remove duplicates to allow unique index 1472DELETE FROM hostmacro 1473 WHERE hostmacroid IN ( 1474 SELECT hm1.hostmacroid 1475 FROM hostmacro hm1 1476 LEFT OUTER JOIN ( 1477 SELECT MIN(hm2.hostmacroid) AS hostmacroid 1478 FROM hostmacro hm2 1479 GROUP BY hm2.hostid,hm2.macro 1480 ) keep_rows ON 1481 hm1.hostmacroid=keep_rows.hostmacroid 1482 WHERE keep_rows.hostmacroid IS NULL 1483 ) 1484/ 1485DROP INDEX hostmacro_1 1486/ 1487CREATE UNIQUE INDEX hostmacro_1 ON hostmacro (hostid,macro) 1488/ 1489ALTER TABLE hostmacro ADD CONSTRAINT c_hostmacro_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 1490/ 1491ALTER TABLE hosts_groups ALTER COLUMN hostgroupid SET WITH DEFAULT NULL 1492/ 1493REORG TABLE hosts_groups 1494/ 1495ALTER TABLE hosts_groups ALTER COLUMN hostid SET WITH DEFAULT NULL 1496/ 1497REORG TABLE hosts_groups 1498/ 1499ALTER TABLE hosts_groups ALTER COLUMN groupid SET WITH DEFAULT NULL 1500/ 1501REORG TABLE hosts_groups 1502/ 1503DELETE FROM hosts_groups WHERE NOT hostid IN (SELECT hostid FROM hosts) 1504/ 1505DELETE FROM hosts_groups WHERE NOT groupid IN (SELECT groupid FROM groups) 1506/ 1507-- remove duplicates to allow unique index 1508DELETE FROM hosts_groups 1509 WHERE hostgroupid IN ( 1510 SELECT hg1.hostgroupid 1511 FROM hosts_groups hg1 1512 LEFT OUTER JOIN ( 1513 SELECT MIN(hg2.hostgroupid) AS hostgroupid 1514 FROM hosts_groups hg2 1515 GROUP BY hostid,groupid 1516 ) keep_rows ON 1517 hg1.hostgroupid=keep_rows.hostgroupid 1518 WHERE keep_rows.hostgroupid IS NULL 1519 ) 1520/ 1521DROP INDEX hosts_groups_1 1522/ 1523CREATE UNIQUE INDEX hosts_groups_1 ON hosts_groups (hostid,groupid) 1524/ 1525ALTER TABLE hosts_groups ADD CONSTRAINT c_hosts_groups_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 1526/ 1527ALTER TABLE hosts_groups ADD CONSTRAINT c_hosts_groups_2 FOREIGN KEY (groupid) REFERENCES groups (groupid) ON DELETE CASCADE 1528/ 1529-- See host_inventory.sql 1530-- See host_inventory.sql 1531---- Patching table `interfaces` 1532 1533CREATE TABLE interface ( 1534 interfaceid bigint NOT NULL, 1535 hostid bigint NOT NULL, 1536 main integer WITH DEFAULT '0' NOT NULL, 1537 type integer WITH DEFAULT '0' NOT NULL, 1538 useip integer WITH DEFAULT '1' NOT NULL, 1539 ip varchar(39) WITH DEFAULT '127.0.0.1' NOT NULL, 1540 dns varchar(64) WITH DEFAULT '' NOT NULL, 1541 port varchar(64) WITH DEFAULT '10050' NOT NULL, 1542 PRIMARY KEY (interfaceid) 1543) 1544/ 1545CREATE INDEX interface_1 on interface (hostid,type) 1546/ 1547CREATE INDEX interface_2 on interface (ip,dns) 1548/ 1549ALTER TABLE interface ADD CONSTRAINT c_interface_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 1550/ 1551 1552-- Passive proxy interface 1553INSERT INTO interface (interfaceid,hostid,main,type,ip,dns,useip,port) 1554 (SELECT (hostid - ((hostid / 100000000000)*100000000000)) * 3 + ((hostid / 100000000000)*100000000000), 1555 hostid,1,0,ip,dns,useip,port 1556 FROM hosts 1557 WHERE status IN (6)) 1558/ 1559 1560-- Zabbix Agent interface 1561INSERT INTO interface (interfaceid,hostid,main,type,ip,dns,useip,port) 1562 (SELECT (hostid - ((hostid / 100000000000)*100000000000)) * 3 + ((hostid / 100000000000)*100000000000), 1563 hostid,1,1,ip,dns,useip,port 1564 FROM hosts 1565 WHERE status IN (0,1)) 1566/ 1567 1568-- SNMP interface 1569INSERT INTO interface (interfaceid,hostid,main,type,ip,dns,useip,port) 1570 (SELECT (hostid - ((hostid / 100000000000)*100000000000)) * 3 + ((hostid / 100000000000)*100000000000) + 1, 1571 hostid,1,2,ip,dns,useip,'161' 1572 FROM hosts 1573 WHERE status IN (0,1) 1574 AND EXISTS (SELECT DISTINCT i.hostid FROM items i WHERE i.hostid=hosts.hostid and i.type IN (1,4,6))) 1575/ 1576 1577-- IPMI interface 1578INSERT INTO interface (interfaceid,hostid,main,type,ip,dns,useip,port) 1579 (SELECT (hostid - ((hostid / 100000000000)*100000000000)) * 3 + ((hostid / 100000000000)*100000000000) + 2, 1580 hostid,1,3,'',ipmi_ip,0,ipmi_port 1581 FROM hosts 1582 WHERE status IN (0,1) AND useipmi=1) 1583/ 1584 1585---- Patching table `items` 1586ALTER TABLE items RENAME COLUMN description TO name 1587/ 1588REORG TABLE items 1589/ 1590ALTER TABLE items ALTER COLUMN itemid SET WITH DEFAULT NULL 1591/ 1592REORG TABLE items 1593/ 1594ALTER TABLE items ALTER COLUMN hostid SET WITH DEFAULT NULL 1595/ 1596REORG TABLE items 1597/ 1598ALTER TABLE items ALTER COLUMN units SET DATA TYPE varchar(255) 1599/ 1600REORG TABLE items 1601/ 1602ALTER TABLE items ALTER COLUMN lastlogsize SET DATA TYPE bigint 1603/ 1604REORG TABLE items 1605/ 1606ALTER TABLE items ALTER COLUMN templateid SET WITH DEFAULT NULL 1607/ 1608REORG TABLE items 1609/ 1610ALTER TABLE items ALTER COLUMN templateid DROP NOT NULL 1611/ 1612REORG TABLE items 1613/ 1614ALTER TABLE items ALTER COLUMN valuemapid SET WITH DEFAULT NULL 1615/ 1616REORG TABLE items 1617/ 1618ALTER TABLE items ALTER COLUMN valuemapid DROP NOT NULL 1619/ 1620REORG TABLE items 1621/ 1622ALTER TABLE items ADD lastns integer NULL 1623/ 1624REORG TABLE items 1625/ 1626ALTER TABLE items ADD flags integer WITH DEFAULT '0' NOT NULL 1627/ 1628REORG TABLE items 1629/ 1630ALTER TABLE items ADD filter varchar(255) WITH DEFAULT '' NOT NULL 1631/ 1632REORG TABLE items 1633/ 1634ALTER TABLE items ADD interfaceid bigint NULL 1635/ 1636REORG TABLE items 1637/ 1638ALTER TABLE items ADD port varchar(64) WITH DEFAULT '' NOT NULL 1639/ 1640REORG TABLE items 1641/ 1642ALTER TABLE items ADD description varchar(2048) WITH DEFAULT '' NOT NULL 1643/ 1644REORG TABLE items 1645/ 1646ALTER TABLE items ADD inventory_link integer WITH DEFAULT '0' NOT NULL 1647/ 1648REORG TABLE items 1649/ 1650ALTER TABLE items ADD lifetime varchar(64) WITH DEFAULT '30' NOT NULL 1651/ 1652REORG TABLE items 1653/ 1654UPDATE items 1655 SET templateid=NULL 1656 WHERE templateid=0 1657 OR templateid NOT IN (SELECT itemid FROM items) 1658/ 1659UPDATE items 1660 SET valuemapid=NULL 1661 WHERE valuemapid=0 1662 OR valuemapid NOT IN (SELECT valuemapid from valuemaps) 1663/ 1664UPDATE items SET units='Bps' WHERE type=9 AND units='bps' 1665/ 1666DELETE FROM items WHERE hostid NOT IN (SELECT hostid FROM hosts) 1667/ 1668CREATE INDEX items_5 on items (valuemapid) 1669/ 1670ALTER TABLE items ADD CONSTRAINT c_items_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 1671/ 1672ALTER TABLE items ADD CONSTRAINT c_items_2 FOREIGN KEY (templateid) REFERENCES items (itemid) ON DELETE CASCADE 1673/ 1674ALTER TABLE items ADD CONSTRAINT c_items_3 FOREIGN KEY (valuemapid) REFERENCES valuemaps (valuemapid) 1675/ 1676ALTER TABLE items ADD CONSTRAINT c_items_4 FOREIGN KEY (interfaceid) REFERENCES interface (interfaceid) 1677/ 1678 1679UPDATE items SET port=snmp_port 1680/ 1681ALTER TABLE items DROP COLUMN snmp_port 1682/ 1683REORG TABLE items 1684/ 1685 1686-- host interface for non IPMI, SNMP and non templated items 1687UPDATE items 1688 SET interfaceid=(SELECT interfaceid FROM interface WHERE hostid=items.hostid AND main=1 AND type=1) 1689 WHERE EXISTS (SELECT hostid FROM hosts WHERE hosts.hostid=items.hostid AND hosts.status IN (0,1)) 1690 AND type IN (0,3,10,11,13,14) -- ZABBIX, SIMPLE, EXTERNAL, DB_MONITOR, SSH, TELNET 1691/ 1692 1693 1694-- host interface for SNMP and non templated items 1695UPDATE items 1696 SET interfaceid=(SELECT interfaceid FROM interface WHERE hostid=items.hostid AND main=1 AND type=2) 1697 WHERE EXISTS (SELECT hostid FROM hosts WHERE hosts.hostid=items.hostid AND hosts.status IN (0,1)) 1698 AND type IN (1,4,6) -- SNMPv1, SNMPv2c, SNMPv3 1699/ 1700 1701-- host interface for IPMI and non templated items 1702UPDATE items 1703 SET interfaceid=(SELECT interfaceid FROM interface WHERE hostid=items.hostid AND main=1 AND type=3) 1704 WHERE EXISTS(SELECT hostid FROM hosts WHERE hosts.hostid=items.hostid AND hosts.status IN (0,1)) 1705 AND type IN (12) -- IPMI 1706/ 1707 1708-- clear port number for non SNMP items 1709UPDATE items 1710 SET port='' 1711 WHERE type NOT IN (1,4,6) -- SNMPv1, SNMPv2c, SNMPv3 1712/ 1713 1714-- add a first parameter {HOST.CONN} for external checks 1715 1716UPDATE items 1717 SET key_ = SUBSTR(key_, 1, INSTR(key_, '[')) || '"{HOST.CONN}",' || SUBSTR(key_, INSTR(key_, '[') + 1) 1718 WHERE type IN (10) -- EXTERNAL 1719 AND INSTR(key_, '[') <> 0 1720/ 1721 1722UPDATE items 1723 SET key_ = key_ || '["{HOST.CONN}"]' 1724 WHERE type IN (10) -- EXTERNAL 1725 AND INSTR(key_, '[') = 0 1726/ 1727 1728-- convert simple check keys to a new form 1729 1730CREATE TABLE t_keys ( 1731 hostid bigint NOT NULL, 1732 key_ varchar(255) NOT NULL, 1733 PRIMARY KEY (hostid, key_) 1734) 1735/ 1736 1737CREATE FUNCTION zbx_convert_simple_checks(v_itemid bigint, v_hostid bigint, v_key varchar(255)) 1738RETURNS varchar(255) 1739LANGUAGE SQL 1740BEGIN 1741 DECLARE new_key varchar(255); 1742 DECLARE pos integer; 1743 1744 SET new_key = 'net.tcp.service'; 1745 SET pos = INSTR(v_key, '_perf'); 1746 IF 0 <> pos THEN 1747 SET new_key = new_key || '.perf'; 1748 SET v_key = SUBSTR(v_key, 1, pos - 1) || SUBSTR(v_key, pos + 5); 1749 END IF; 1750 SET new_key = new_key || '['; 1751 SET pos = INSTR(v_key, ','); 1752 IF 0 <> pos THEN 1753 SET new_key = new_key || '"' || SUBSTR(v_key, 1, pos - 1) || '"'; 1754 SET v_key = SUBSTR(v_key, pos + 1); 1755 ELSE 1756 SET new_key = new_key || '"' || v_key || '"'; 1757 SET v_key = ''; 1758 END IF; 1759 IF 0 <> LENGTH(v_key) THEN 1760 SET new_key = new_key || ',,"' || v_key || '"'; 1761 END IF; 1762 1763 WHILE 0 != (SELECT COUNT(*) FROM t_keys WHERE hostid = v_hostid AND key_ = new_key || ']') DO 1764 SET new_key = new_key || ' '; 1765 END WHILE; 1766 1767 RETURN new_key || ']'; 1768END 1769/ 1770 1771INSERT INTO t_keys 1772 SELECT hostid, key_ 1773 FROM items 1774 WHERE key_ LIKE 'net.tcp.service[%' 1775/ 1776 1777UPDATE items SET key_ = zbx_convert_simple_checks(itemid, hostid, key_) 1778 WHERE type IN (3) -- SIMPLE 1779 AND (key_ IN ('ftp','http','imap','ldap','nntp','ntp','pop','smtp','ssh', 1780 'ftp_perf','http_perf', 'imap_perf','ldap_perf','nntp_perf','ntp_perf','pop_perf', 1781 'smtp_perf','ssh_perf') 1782 OR key_ LIKE 'ftp,%' OR key_ LIKE 'http,%' OR key_ LIKE 'imap,%' OR key_ LIKE 'ldap,%' 1783 OR key_ LIKE 'nntp,%' OR key_ LIKE 'ntp,%' OR key_ LIKE 'pop,%' OR key_ LIKE 'smtp,%' 1784 OR key_ LIKE 'ssh,%' OR key_ LIKE 'tcp,%' 1785 OR key_ LIKE 'ftp_perf,%' OR key_ LIKE 'http_perf,%' OR key_ LIKE 'imap_perf,%' 1786 OR key_ LIKE 'ldap_perf,%' OR key_ LIKE 'nntp_perf,%' OR key_ LIKE 'ntp_perf,%' 1787 OR key_ LIKE 'pop_perf,%' OR key_ LIKE 'smtp_perf,%' OR key_ LIKE 'ssh_perf,%' 1788 OR key_ LIKE 'tcp_perf,%') 1789/ 1790 1791DROP TABLE t_keys 1792/ 1793 1794DROP FUNCTION zbx_convert_simple_checks 1795/ 1796 1797ROLLBACK 1798/ 1799 1800-- adding web.test.error[<web check>] items 1801 1802CREATE PROCEDURE zbx_add_web_test_error() 1803LANGUAGE SQL 1804BEGIN 1805 DECLARE httptest_nodeid INTEGER; 1806 DECLARE init_nodeid BIGINT; 1807 DECLARE min_nodeid BIGINT; 1808 DECLARE max_nodeid BIGINT; 1809 1810 DECLARE max_itemid BIGINT; 1811 DECLARE max_httptestitemid BIGINT; 1812 DECLARE max_itemappid BIGINT; 1813 1814 DECLARE node_done integer DEFAULT 0; 1815 DECLARE node_not_found CONDITION FOR SQLSTATE '02000'; 1816 DECLARE node_cursor CURSOR FOR (SELECT DISTINCT TRUNC(httptestid / 100000000000000) FROM httptest); 1817 DECLARE CONTINUE HANDLER FOR node_not_found SET node_done = 1; 1818 1819 OPEN node_cursor; 1820 1821 node_loop: LOOP 1822 FETCH node_cursor INTO httptest_nodeid; 1823 1824 IF node_done = 1 THEN 1825 LEAVE node_loop; 1826 END IF; 1827 1828 SET min_nodeid = httptest_nodeid * 100000000000000; 1829 SET max_nodeid = min_nodeid + 99999999999999; 1830 SET init_nodeid = (httptest_nodeid * 1000 + httptest_nodeid) * 100000000000; 1831 1832 SELECT MAX(itemid) INTO max_itemid FROM items WHERE itemid BETWEEN min_nodeid AND max_nodeid; 1833 IF max_itemid IS NULL THEN 1834 SET max_itemid = init_nodeid; 1835 END IF; 1836 EXECUTE IMMEDIATE 'CREATE SEQUENCE items_seq AS BIGINT MINVALUE ' || (max_itemid + 1); 1837 1838 SELECT MAX(httptestitemid) INTO max_httptestitemid FROM httptestitem WHERE httptestitemid BETWEEN min_nodeid AND max_nodeid; 1839 IF max_httptestitemid IS NULL THEN 1840 SET max_httptestitemid = init_nodeid; 1841 END IF; 1842 EXECUTE IMMEDIATE 'CREATE SEQUENCE httptestitem_seq AS BIGINT MINVALUE ' || (max_httptestitemid + 1); 1843 1844 SELECT MAX(itemappid) INTO max_itemappid FROM items_applications WHERE itemappid BETWEEN min_nodeid AND max_nodeid; 1845 IF max_itemappid IS NULL THEN 1846 SET max_itemappid = init_nodeid; 1847 END IF; 1848 EXECUTE IMMEDIATE 'CREATE SEQUENCE items_applications_seq AS BIGINT MINVALUE ' || (max_itemappid + 1); 1849 1850 EXECUTE IMMEDIATE 'INSERT INTO items (itemid, hostid, type, name, key_, value_type, units, delay, history, trends, status) 1851 SELECT (NEXT VALUE FOR items_seq), hostid, type, ''Last error message of scenario ''''$1'''''', ''web.test.error'' || SUBSTR(key_, POSSTR(key_, ''['')), 1, '''', delay, history, 0, status 1852 FROM items 1853 WHERE type = 9 1854 AND key_ LIKE ''web.test.fail%'' 1855 AND itemid BETWEEN ' || min_nodeid ||' AND ' || max_nodeid; 1856 1857 EXECUTE IMMEDIATE 'INSERT INTO httptestitem (httptestitemid, httptestid, itemid, type) 1858 SELECT (NEXT VALUE FOR httptestitem_seq), ht.httptestid, i.itemid, 4 1859 FROM httptest ht,applications a,items i 1860 WHERE ht.applicationid=a.applicationid 1861 AND a.hostid=i.hostid 1862 AND ''web.test.error['' || ht.name || '']'' = i.key_ 1863 AND itemid BETWEEN ' || min_nodeid ||' AND ' || max_nodeid; 1864 1865 EXECUTE IMMEDIATE 'INSERT INTO items_applications (itemappid, applicationid, itemid) 1866 SELECT (NEXT VALUE FOR items_applications_seq), ht.applicationid, hti.itemid 1867 FROM httptest ht, httptestitem hti 1868 WHERE ht.httptestid = hti.httptestid 1869 AND hti.type = 4 1870 AND itemid BETWEEN ' || min_nodeid ||' AND ' || max_nodeid; 1871 1872 EXECUTE IMMEDIATE 'DROP SEQUENCE items_seq'; 1873 EXECUTE IMMEDIATE 'DROP SEQUENCE httptestitem_seq'; 1874 EXECUTE IMMEDIATE 'DROP SEQUENCE items_applications_seq'; 1875 1876 END LOOP node_loop; 1877 1878 CLOSE node_cursor; 1879 1880END 1881/ 1882 1883CALL zbx_add_web_test_error 1884/ 1885 1886DROP PROCEDURE zbx_add_web_test_error 1887/ 1888 1889DELETE FROM ids WHERE table_name IN ('items', 'httptestitem', 'items_applications') 1890/ 1891 1892---- Patching table `hosts` 1893 1894ALTER TABLE hosts ALTER COLUMN hostid SET WITH DEFAULT NULL 1895/ 1896REORG TABLE hosts 1897/ 1898ALTER TABLE hosts ALTER COLUMN proxy_hostid SET WITH DEFAULT NULL 1899/ 1900REORG TABLE hosts 1901/ 1902ALTER TABLE hosts ALTER COLUMN proxy_hostid DROP NOT NULL 1903/ 1904REORG TABLE hosts 1905/ 1906ALTER TABLE hosts ALTER COLUMN maintenanceid SET WITH DEFAULT NULL 1907/ 1908REORG TABLE hosts 1909/ 1910ALTER TABLE hosts ALTER COLUMN maintenanceid DROP NOT NULL 1911/ 1912REORG TABLE hosts 1913/ 1914ALTER TABLE hosts DROP COLUMN ip 1915/ 1916REORG TABLE hosts 1917/ 1918ALTER TABLE hosts DROP COLUMN dns 1919/ 1920REORG TABLE hosts 1921/ 1922ALTER TABLE hosts DROP COLUMN port 1923/ 1924REORG TABLE hosts 1925/ 1926ALTER TABLE hosts DROP COLUMN useip 1927/ 1928REORG TABLE hosts 1929/ 1930ALTER TABLE hosts DROP COLUMN useipmi 1931/ 1932REORG TABLE hosts 1933/ 1934ALTER TABLE hosts DROP COLUMN ipmi_ip 1935/ 1936REORG TABLE hosts 1937/ 1938ALTER TABLE hosts DROP COLUMN ipmi_port 1939/ 1940REORG TABLE hosts 1941/ 1942ALTER TABLE hosts DROP COLUMN inbytes 1943/ 1944REORG TABLE hosts 1945/ 1946ALTER TABLE hosts DROP COLUMN outbytes 1947/ 1948REORG TABLE hosts 1949/ 1950ALTER TABLE hosts ADD jmx_disable_until integer WITH DEFAULT '0' NOT NULL 1951/ 1952REORG TABLE hosts 1953/ 1954ALTER TABLE hosts ADD jmx_available integer WITH DEFAULT '0' NOT NULL 1955/ 1956REORG TABLE hosts 1957/ 1958ALTER TABLE hosts ADD jmx_errors_from integer WITH DEFAULT '0' NOT NULL 1959/ 1960REORG TABLE hosts 1961/ 1962ALTER TABLE hosts ADD jmx_error varchar(128) WITH DEFAULT '' NOT NULL 1963/ 1964REORG TABLE hosts 1965/ 1966ALTER TABLE hosts ADD name varchar(64) WITH DEFAULT '' NOT NULL 1967/ 1968REORG TABLE hosts 1969/ 1970UPDATE hosts 1971 SET proxy_hostid=NULL 1972 WHERE proxy_hostid=0 1973 OR NOT EXISTS (SELECT 1 FROM hosts h WHERE h.hostid=hosts.proxy_hostid) 1974/ 1975UPDATE hosts 1976 SET maintenanceid=NULL, 1977 maintenance_status=0, 1978 maintenance_type=0, 1979 maintenance_from=0 1980 WHERE maintenanceid=0 1981 OR NOT EXISTS (SELECT 1 FROM maintenances m WHERE m.maintenanceid=hosts.maintenanceid) 1982/ 1983UPDATE hosts SET name=host WHERE status in (0,1,3) 1984/ 1985ALTER TABLE hosts ADD CONSTRAINT c_hosts_1 FOREIGN KEY (proxy_hostid) REFERENCES hosts (hostid) 1986/ 1987ALTER TABLE hosts ADD CONSTRAINT c_hosts_2 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) 1988/ 1989DELETE FROM hosts_templates WHERE hostid NOT IN (SELECT hostid FROM hosts) 1990/ 1991DELETE FROM hosts_templates WHERE templateid NOT IN (SELECT hostid FROM hosts) 1992/ 1993 1994CREATE TABLE t_hosts_templates ( 1995 hosttemplateid bigint NOT NULL, 1996 hostid bigint NOT NULL, 1997 templateid bigint NOT NULL 1998) 1999/ 2000 2001INSERT INTO t_hosts_templates (SELECT hosttemplateid, hostid, templateid FROM hosts_templates) 2002/ 2003 2004DROP TABLE hosts_templates 2005/ 2006 2007CREATE TABLE hosts_templates ( 2008 hosttemplateid bigint NOT NULL, 2009 hostid bigint NOT NULL, 2010 templateid bigint NOT NULL, 2011 PRIMARY KEY (hosttemplateid) 2012) 2013/ 2014CREATE UNIQUE INDEX hosts_templates_1 ON hosts_templates (hostid,templateid) 2015/ 2016CREATE INDEX hosts_templates_2 ON hosts_templates (templateid) 2017/ 2018ALTER TABLE hosts_templates ADD CONSTRAINT c_hosts_templates_1 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 2019/ 2020ALTER TABLE hosts_templates ADD CONSTRAINT c_hosts_templates_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid) ON DELETE CASCADE 2021/ 2022 2023INSERT INTO hosts_templates (SELECT hosttemplateid, hostid, templateid FROM t_hosts_templates) 2024/ 2025 2026DROP TABLE t_hosts_templates 2027/ 2028ALTER TABLE housekeeper ALTER COLUMN housekeeperid SET WITH DEFAULT NULL 2029/ 2030REORG TABLE housekeeper 2031/ 2032ALTER TABLE housekeeper ALTER COLUMN value SET WITH DEFAULT NULL 2033/ 2034REORG TABLE housekeeper 2035/ 2036ALTER TABLE httpstepitem ALTER COLUMN httpstepitemid SET WITH DEFAULT NULL 2037/ 2038REORG TABLE httpstepitem 2039/ 2040ALTER TABLE httpstepitem ALTER COLUMN httpstepid SET WITH DEFAULT NULL 2041/ 2042REORG TABLE httpstepitem 2043/ 2044ALTER TABLE httpstepitem ALTER COLUMN itemid SET WITH DEFAULT NULL 2045/ 2046REORG TABLE httpstepitem 2047/ 2048DELETE FROM httpstepitem WHERE NOT httpstepid IN (SELECT httpstepid FROM httpstep) 2049/ 2050DELETE FROM httpstepitem WHERE NOT itemid IN (SELECT itemid FROM items) 2051/ 2052ALTER TABLE httpstepitem ADD CONSTRAINT c_httpstepitem_1 FOREIGN KEY (httpstepid) REFERENCES httpstep (httpstepid) ON DELETE CASCADE 2053/ 2054ALTER TABLE httpstepitem ADD CONSTRAINT c_httpstepitem_2 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 2055/ 2056ALTER TABLE httpstep ALTER COLUMN httpstepid SET WITH DEFAULT NULL 2057/ 2058REORG TABLE httpstep 2059/ 2060ALTER TABLE httpstep ALTER COLUMN httptestid SET WITH DEFAULT NULL 2061/ 2062REORG TABLE httpstep 2063/ 2064DELETE FROM httpstep WHERE NOT httptestid IN (SELECT httptestid FROM httptest) 2065/ 2066ALTER TABLE httpstep ADD CONSTRAINT c_httpstep_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid) ON DELETE CASCADE 2067/ 2068ALTER TABLE httptestitem ALTER COLUMN httptestitemid SET WITH DEFAULT NULL 2069/ 2070REORG TABLE httptestitem 2071/ 2072ALTER TABLE httptestitem ALTER COLUMN httptestid SET WITH DEFAULT NULL 2073/ 2074REORG TABLE httptestitem 2075/ 2076ALTER TABLE httptestitem ALTER COLUMN itemid SET WITH DEFAULT NULL 2077/ 2078REORG TABLE httptestitem 2079/ 2080DELETE FROM httptestitem WHERE NOT httptestid IN (SELECT httptestid FROM httptest) 2081/ 2082DELETE FROM httptestitem WHERE NOT itemid IN (SELECT itemid FROM items) 2083/ 2084ALTER TABLE httptestitem ADD CONSTRAINT c_httptestitem_1 FOREIGN KEY (httptestid) REFERENCES httptest (httptestid) ON DELETE CASCADE 2085/ 2086ALTER TABLE httptestitem ADD CONSTRAINT c_httptestitem_2 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 2087/ 2088ALTER TABLE httptest ALTER COLUMN httptestid SET WITH DEFAULT NULL 2089/ 2090REORG TABLE httptest 2091/ 2092ALTER TABLE httptest ALTER COLUMN applicationid SET WITH DEFAULT NULL 2093/ 2094REORG TABLE httptest 2095/ 2096ALTER TABLE httptest DROP COLUMN lastcheck 2097/ 2098REORG TABLE httptest 2099/ 2100ALTER TABLE httptest DROP COLUMN curstate 2101/ 2102REORG TABLE httptest 2103/ 2104ALTER TABLE httptest DROP COLUMN curstep 2105/ 2106REORG TABLE httptest 2107/ 2108ALTER TABLE httptest DROP COLUMN lastfailedstep 2109/ 2110REORG TABLE httptest 2111/ 2112ALTER TABLE httptest DROP COLUMN time 2113/ 2114REORG TABLE httptest 2115/ 2116ALTER TABLE httptest DROP COLUMN error 2117/ 2118REORG TABLE httptest 2119/ 2120DELETE FROM httptest WHERE applicationid NOT IN (SELECT applicationid FROM applications) 2121/ 2122ALTER TABLE httptest ADD CONSTRAINT c_httptest_1 FOREIGN KEY (applicationid) REFERENCES applications (applicationid) ON DELETE CASCADE 2123/ 2124-- See icon_map.sql 2125CREATE TABLE icon_map ( 2126 iconmapid bigint NOT NULL, 2127 name varchar(64) WITH DEFAULT '' NOT NULL, 2128 default_iconid bigint NOT NULL, 2129 PRIMARY KEY (iconmapid) 2130) 2131/ 2132CREATE INDEX icon_map_1 ON icon_map (name) 2133/ 2134ALTER TABLE icon_map ADD CONSTRAINT c_icon_map_1 FOREIGN KEY (default_iconid) REFERENCES images (imageid) 2135/ 2136 2137CREATE TABLE icon_mapping ( 2138 iconmappingid bigint NOT NULL, 2139 iconmapid bigint NOT NULL, 2140 iconid bigint NOT NULL, 2141 inventory_link integer WITH DEFAULT '0' NOT NULL, 2142 expression varchar(64) WITH DEFAULT '' NOT NULL, 2143 sortorder integer WITH DEFAULT '0' NOT NULL, 2144 PRIMARY KEY (iconmappingid) 2145) 2146/ 2147CREATE INDEX icon_mapping_1 ON icon_mapping (iconmapid) 2148/ 2149ALTER TABLE icon_mapping ADD CONSTRAINT c_icon_mapping_1 FOREIGN KEY (iconmapid) REFERENCES icon_map (iconmapid) ON DELETE CASCADE 2150/ 2151ALTER TABLE icon_mapping ADD CONSTRAINT c_icon_mapping_2 FOREIGN KEY (iconid) REFERENCES images (imageid) 2152/ 2153ALTER TABLE ids ALTER COLUMN nodeid SET WITH DEFAULT NULL 2154/ 2155REORG TABLE ids 2156/ 2157ALTER TABLE ids ALTER COLUMN nextid SET WITH DEFAULT NULL 2158/ 2159REORG TABLE ids 2160/ 2161ALTER TABLE images ALTER COLUMN imageid SET WITH DEFAULT NULL 2162/ 2163REORG TABLE images 2164/ 2165CREATE TABLE item_discovery ( 2166 itemdiscoveryid bigint NOT NULL, 2167 itemid bigint NOT NULL, 2168 parent_itemid bigint NOT NULL, 2169 key_ varchar(255) WITH DEFAULT '' NOT NULL, 2170 lastcheck integer WITH DEFAULT '0' NOT NULL, 2171 ts_delete integer WITH DEFAULT '0' NOT NULL, 2172 PRIMARY KEY (itemdiscoveryid) 2173) 2174/ 2175CREATE UNIQUE INDEX item_discovery_1 on item_discovery (itemid,parent_itemid) 2176/ 2177ALTER TABLE item_discovery ADD CONSTRAINT c_item_discovery_1 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 2178/ 2179ALTER TABLE item_discovery ADD CONSTRAINT c_item_discovery_2 FOREIGN KEY (parent_itemid) REFERENCES items (itemid) ON DELETE CASCADE 2180/ 2181ALTER TABLE items_applications ALTER COLUMN itemappid SET WITH DEFAULT NULL 2182/ 2183REORG TABLE items_applications 2184/ 2185ALTER TABLE items_applications ALTER COLUMN applicationid SET WITH DEFAULT NULL 2186/ 2187REORG TABLE items_applications 2188/ 2189ALTER TABLE items_applications ALTER COLUMN itemid SET WITH DEFAULT NULL 2190/ 2191REORG TABLE items_applications 2192/ 2193DROP INDEX items_applications_1 2194/ 2195DELETE FROM items_applications WHERE applicationid NOT IN (SELECT applicationid FROM applications) 2196/ 2197DELETE FROM items_applications WHERE itemid NOT IN (SELECT itemid FROM items) 2198/ 2199CREATE UNIQUE INDEX items_applications_1 ON items_applications (applicationid,itemid) 2200/ 2201ALTER TABLE items_applications ADD CONSTRAINT c_items_applications_1 FOREIGN KEY (applicationid) REFERENCES applications (applicationid) ON DELETE CASCADE 2202/ 2203ALTER TABLE items_applications ADD CONSTRAINT c_items_applications_2 FOREIGN KEY (itemid) REFERENCES items (itemid) ON DELETE CASCADE 2204/ 2205-- See hosts.sql 2206ALTER TABLE maintenances_groups ALTER COLUMN maintenance_groupid SET WITH DEFAULT NULL 2207/ 2208REORG TABLE maintenances_groups 2209/ 2210ALTER TABLE maintenances_groups ALTER COLUMN maintenanceid SET WITH DEFAULT NULL 2211/ 2212REORG TABLE maintenances_groups 2213/ 2214ALTER TABLE maintenances_groups ALTER COLUMN groupid SET WITH DEFAULT NULL 2215/ 2216REORG TABLE maintenances_groups 2217/ 2218DROP INDEX maintenances_groups_1 2219/ 2220DELETE FROM maintenances_groups WHERE maintenanceid NOT IN (SELECT maintenanceid FROM maintenances) 2221/ 2222DELETE FROM maintenances_groups WHERE groupid NOT IN (SELECT groupid FROM groups) 2223/ 2224CREATE UNIQUE INDEX maintenances_groups_1 ON maintenances_groups (maintenanceid,groupid) 2225/ 2226ALTER TABLE maintenances_groups ADD CONSTRAINT c_maintenances_groups_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE 2227/ 2228ALTER TABLE maintenances_groups ADD CONSTRAINT c_maintenances_groups_2 FOREIGN KEY (groupid) REFERENCES groups (groupid) ON DELETE CASCADE 2229/ 2230ALTER TABLE maintenances_hosts ALTER COLUMN maintenance_hostid SET WITH DEFAULT NULL 2231/ 2232REORG TABLE maintenances_hosts 2233/ 2234ALTER TABLE maintenances_hosts ALTER COLUMN maintenanceid SET WITH DEFAULT NULL 2235/ 2236REORG TABLE maintenances_hosts 2237/ 2238ALTER TABLE maintenances_hosts ALTER COLUMN hostid SET WITH DEFAULT NULL 2239/ 2240REORG TABLE maintenances_hosts 2241/ 2242DROP INDEX maintenances_hosts_1 2243/ 2244DELETE FROM maintenances_hosts WHERE maintenanceid NOT IN (SELECT maintenanceid FROM maintenances) 2245/ 2246DELETE FROM maintenances_hosts WHERE hostid NOT IN (SELECT hostid FROM hosts) 2247/ 2248CREATE UNIQUE INDEX maintenances_hosts_1 ON maintenances_hosts (maintenanceid,hostid) 2249/ 2250ALTER TABLE maintenances_hosts ADD CONSTRAINT c_maintenances_hosts_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE 2251/ 2252ALTER TABLE maintenances_hosts ADD CONSTRAINT c_maintenances_hosts_2 FOREIGN KEY (hostid) REFERENCES hosts (hostid) ON DELETE CASCADE 2253/ 2254ALTER TABLE maintenances ALTER COLUMN maintenanceid SET WITH DEFAULT NULL 2255/ 2256REORG TABLE maintenances 2257/ 2258ALTER TABLE maintenances_windows ALTER COLUMN maintenance_timeperiodid SET WITH DEFAULT NULL 2259/ 2260REORG TABLE maintenances_windows 2261/ 2262ALTER TABLE maintenances_windows ALTER COLUMN maintenanceid SET WITH DEFAULT NULL 2263/ 2264REORG TABLE maintenances_windows 2265/ 2266ALTER TABLE maintenances_windows ALTER COLUMN timeperiodid SET WITH DEFAULT NULL 2267/ 2268REORG TABLE maintenances_windows 2269/ 2270DROP INDEX maintenances_windows_1 2271/ 2272DELETE FROM maintenances_windows WHERE maintenanceid NOT IN (SELECT maintenanceid FROM maintenances) 2273/ 2274DELETE FROM maintenances_windows WHERE timeperiodid NOT IN (SELECT timeperiodid FROM timeperiods) 2275/ 2276CREATE UNIQUE INDEX maintenances_windows_1 ON maintenances_windows (maintenanceid,timeperiodid) 2277/ 2278ALTER TABLE maintenances_windows ADD CONSTRAINT c_maintenances_windows_1 FOREIGN KEY (maintenanceid) REFERENCES maintenances (maintenanceid) ON DELETE CASCADE 2279/ 2280ALTER TABLE maintenances_windows ADD CONSTRAINT c_maintenances_windows_2 FOREIGN KEY (timeperiodid) REFERENCES timeperiods (timeperiodid) ON DELETE CASCADE 2281/ 2282ALTER TABLE mappings ALTER COLUMN mappingid SET WITH DEFAULT NULL 2283/ 2284REORG TABLE mappings 2285/ 2286ALTER TABLE mappings ALTER COLUMN valuemapid SET WITH DEFAULT NULL 2287/ 2288REORG TABLE mappings 2289/ 2290DELETE FROM mappings WHERE NOT valuemapid IN (SELECT valuemapid FROM valuemaps) 2291/ 2292ALTER TABLE mappings ADD CONSTRAINT c_mappings_1 FOREIGN KEY (valuemapid) REFERENCES valuemaps (valuemapid) ON DELETE CASCADE 2293/ 2294ALTER TABLE media ALTER COLUMN mediaid SET WITH DEFAULT NULL 2295/ 2296REORG TABLE media 2297/ 2298ALTER TABLE media ALTER COLUMN userid SET WITH DEFAULT NULL 2299/ 2300REORG TABLE media 2301/ 2302ALTER TABLE media ALTER COLUMN mediatypeid SET WITH DEFAULT NULL 2303/ 2304REORG TABLE media 2305/ 2306ALTER TABLE media ALTER COLUMN period SET DEFAULT '1-7,00:00-24:00' 2307/ 2308REORG TABLE media 2309/ 2310DELETE FROM media WHERE userid NOT IN (SELECT userid FROM users) 2311/ 2312DELETE FROM media WHERE mediatypeid NOT IN (SELECT mediatypeid FROM media_type) 2313/ 2314ALTER TABLE media ADD CONSTRAINT c_media_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 2315/ 2316ALTER TABLE media ADD CONSTRAINT c_media_2 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) ON DELETE CASCADE 2317/ 2318ALTER TABLE media_type ADD status integer WITH DEFAULT '0' NOT NULL 2319/ 2320REORG TABLE media_type 2321/ 2322ALTER TABLE media_type ALTER COLUMN mediatypeid SET WITH DEFAULT NULL 2323/ 2324REORG TABLE media_type 2325/ 2326CREATE PROCEDURE zbx_drop_indexes() 2327LANGUAGE SQL 2328BEGIN 2329 DECLARE idx_exists INTEGER; 2330 2331 SELECT COUNT(*) INTO idx_exists FROM SYSCAT.INDEXES WHERE INDNAME='NODE_CKSUM_1'; 2332 IF idx_exists > 0 THEN 2333 DROP INDEX NODE_CKSUM_1; 2334 END IF; 2335 2336 SELECT COUNT(*) INTO idx_exists FROM SYSCAT.INDEXES WHERE INDNAME='NODE_CKSUM_CKSUM_1'; 2337 IF idx_exists > 0 THEN 2338 DROP INDEX NODE_CKSUM_CKSUM_1; 2339 END IF; 2340END 2341/ 2342CALL zbx_drop_indexes() 2343/ 2344DROP PROCEDURE zbx_drop_indexes 2345/ 2346ALTER TABLE node_cksum ALTER COLUMN nodeid SET WITH DEFAULT NULL 2347/ 2348REORG TABLE node_cksum 2349/ 2350ALTER TABLE node_cksum ALTER COLUMN recordid SET WITH DEFAULT NULL 2351/ 2352REORG TABLE node_cksum 2353/ 2354DELETE FROM node_cksum WHERE NOT nodeid IN (SELECT nodeid FROM nodes) 2355/ 2356ALTER TABLE node_cksum ADD CONSTRAINT c_node_cksum_1 FOREIGN KEY (nodeid) REFERENCES nodes (nodeid) ON DELETE CASCADE 2357/ 2358ALTER TABLE nodes ALTER COLUMN nodeid SET WITH DEFAULT NULL 2359/ 2360REORG TABLE nodes 2361/ 2362ALTER TABLE nodes ALTER COLUMN masterid SET WITH DEFAULT NULL 2363/ 2364REORG TABLE nodes 2365/ 2366ALTER TABLE nodes ALTER COLUMN masterid DROP NOT NULL 2367/ 2368REORG TABLE nodes 2369/ 2370ALTER TABLE nodes DROP COLUMN timezone 2371/ 2372REORG TABLE nodes 2373/ 2374ALTER TABLE nodes DROP COLUMN slave_history 2375/ 2376REORG TABLE nodes 2377/ 2378ALTER TABLE nodes DROP COLUMN slave_trends 2379/ 2380REORG TABLE nodes 2381/ 2382UPDATE nodes SET masterid=NULL WHERE masterid=0 2383/ 2384ALTER TABLE nodes ADD CONSTRAINT c_nodes_1 FOREIGN KEY (masterid) REFERENCES nodes (nodeid) 2385/ 2386-- See operations.sql 2387-- See operations.sql 2388-- See operations.sql 2389CREATE TABLE t_operations ( 2390 operationid bigint, 2391 actionid bigint, 2392 operationtype integer, 2393 object integer, 2394 objectid bigint, 2395 shortdata varchar(255), 2396 longdata varchar(2048), 2397 esc_period integer, 2398 esc_step_from integer, 2399 esc_step_to integer, 2400 default_msg integer, 2401 evaltype integer, 2402 mediatypeid bigint 2403) 2404/ 2405 2406CREATE TABLE t_opconditions ( 2407 operationid bigint, 2408 conditiontype integer, 2409 operator integer, 2410 value varchar(255) 2411) 2412/ 2413 2414INSERT INTO t_operations 2415 SELECT o.operationid, o.actionid, o.operationtype, o.object, o.objectid, o.shortdata, o.longdata, 2416 o.esc_period, o.esc_step_from, o.esc_step_to, o.default_msg, o.evaltype, omt.mediatypeid 2417 FROM actions a, operations o 2418 LEFT JOIN opmediatypes omt ON omt.operationid=o.operationid 2419 WHERE a.actionid=o.actionid 2420/ 2421 2422INSERT INTO t_opconditions 2423 SELECT operationid, conditiontype, operator, value FROM opconditions 2424/ 2425 2426UPDATE t_operations 2427 SET mediatypeid = NULL 2428 WHERE NOT EXISTS (SELECT 1 FROM media_type mt WHERE mt.mediatypeid = t_operations.mediatypeid) 2429/ 2430 2431UPDATE t_operations 2432 SET objectid = NULL 2433 WHERE operationtype = 0 -- OPERATION_TYPE_MESSAGE 2434 AND object = 0 -- OPERATION_OBJECT_USER 2435 AND NOT EXISTS (SELECT 1 FROM users u WHERE u.userid = t_operations.objectid) 2436/ 2437 2438UPDATE t_operations 2439 SET objectid = NULL 2440 WHERE operationtype = 0 -- OPERATION_TYPE_MESSAGE 2441 AND object = 1 -- OPERATION_OBJECT_GROUP 2442 AND NOT EXISTS (SELECT 1 FROM usrgrp g WHERE g.usrgrpid = t_operations.objectid) 2443/ 2444 2445DELETE FROM t_operations 2446 WHERE operationtype IN (4,5) -- OPERATION_TYPE_GROUP_ADD, OPERATION_TYPE_GROUP_REMOVE 2447 AND NOT EXISTS (SELECT 1 FROM groups g WHERE g.groupid = t_operations.objectid) 2448/ 2449 2450DELETE FROM t_operations 2451 WHERE operationtype IN (6,7) -- OPERATION_TYPE_TEMPLATE_ADD, OPERATION_TYPE_TEMPLATE_REMOVE 2452 AND NOT EXISTS (SELECT 1 FROM hosts h WHERE h.hostid = t_operations.objectid) 2453/ 2454 2455DROP TABLE operations 2456/ 2457DROP TABLE opmediatypes 2458/ 2459DROP TABLE opconditions 2460/ 2461 2462CREATE TABLE operations ( 2463 operationid bigint NOT NULL, 2464 actionid bigint NOT NULL, 2465 operationtype integer WITH DEFAULT '0' NOT NULL, 2466 esc_period integer WITH DEFAULT '0' NOT NULL, 2467 esc_step_from integer WITH DEFAULT '1' NOT NULL, 2468 esc_step_to integer WITH DEFAULT '1' NOT NULL, 2469 evaltype integer WITH DEFAULT '0' NOT NULL, 2470 PRIMARY KEY (operationid) 2471) 2472/ 2473CREATE INDEX operations_1 ON operations (actionid) 2474/ 2475ALTER TABLE operations ADD CONSTRAINT c_operations_1 FOREIGN KEY (actionid) REFERENCES actions (actionid) ON DELETE CASCADE 2476/ 2477 2478CREATE TABLE opmessage ( 2479 operationid bigint NOT NULL, 2480 default_msg integer WITH DEFAULT '0' NOT NULL, 2481 subject varchar(255) WITH DEFAULT '' NOT NULL, 2482 message varchar(2048) WITH DEFAULT '' NOT NULL, 2483 mediatypeid bigint NULL, 2484 PRIMARY KEY (operationid) 2485) 2486/ 2487ALTER TABLE opmessage ADD CONSTRAINT c_opmessage_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2488/ 2489ALTER TABLE opmessage ADD CONSTRAINT c_opmessage_2 FOREIGN KEY (mediatypeid) REFERENCES media_type (mediatypeid) 2490/ 2491 2492CREATE TABLE opmessage_grp ( 2493 opmessage_grpid bigint NOT NULL, 2494 operationid bigint NOT NULL, 2495 usrgrpid bigint NOT NULL, 2496 PRIMARY KEY (opmessage_grpid) 2497) 2498/ 2499CREATE UNIQUE INDEX opmessage_grp_1 ON opmessage_grp (operationid,usrgrpid) 2500/ 2501ALTER TABLE opmessage_grp ADD CONSTRAINT c_opmessage_grp_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2502/ 2503ALTER TABLE opmessage_grp ADD CONSTRAINT c_opmessage_grp_2 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) 2504/ 2505 2506CREATE TABLE opmessage_usr ( 2507 opmessage_usrid bigint NOT NULL, 2508 operationid bigint NOT NULL, 2509 userid bigint NOT NULL, 2510 PRIMARY KEY (opmessage_usrid) 2511) 2512/ 2513CREATE UNIQUE INDEX opmessage_usr_1 ON opmessage_usr (operationid,userid) 2514/ 2515ALTER TABLE opmessage_usr ADD CONSTRAINT c_opmessage_usr_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2516/ 2517ALTER TABLE opmessage_usr ADD CONSTRAINT c_opmessage_usr_2 FOREIGN KEY (userid) REFERENCES users (userid) 2518/ 2519 2520CREATE TABLE opcommand ( 2521 operationid bigint NOT NULL, 2522 type integer WITH DEFAULT '0' NOT NULL, 2523 scriptid bigint NULL, 2524 execute_on integer WITH DEFAULT '0' NOT NULL, 2525 port varchar(64) WITH DEFAULT '' NOT NULL, 2526 authtype integer WITH DEFAULT '0' NOT NULL, 2527 username varchar(64) WITH DEFAULT '' NOT NULL, 2528 password varchar(64) WITH DEFAULT '' NOT NULL, 2529 publickey varchar(64) WITH DEFAULT '' NOT NULL, 2530 privatekey varchar(64) WITH DEFAULT '' NOT NULL, 2531 command varchar(2048) WITH DEFAULT '' NOT NULL, 2532 PRIMARY KEY (operationid) 2533) 2534/ 2535ALTER TABLE opcommand ADD CONSTRAINT c_opcommand_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2536/ 2537ALTER TABLE opcommand ADD CONSTRAINT c_opcommand_2 FOREIGN KEY (scriptid) REFERENCES scripts (scriptid) 2538/ 2539 2540CREATE TABLE opcommand_hst ( 2541 opcommand_hstid bigint NOT NULL, 2542 operationid bigint NOT NULL, 2543 hostid bigint NULL, 2544 PRIMARY KEY (opcommand_hstid) 2545) 2546/ 2547CREATE INDEX opcommand_hst_1 ON opcommand_hst (operationid) 2548/ 2549ALTER TABLE opcommand_hst ADD CONSTRAINT c_opcommand_hst_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2550/ 2551ALTER TABLE opcommand_hst ADD CONSTRAINT c_opcommand_hst_2 FOREIGN KEY (hostid) REFERENCES hosts (hostid) 2552/ 2553 2554CREATE TABLE opcommand_grp ( 2555 opcommand_grpid bigint NOT NULL, 2556 operationid bigint NOT NULL, 2557 groupid bigint NOT NULL, 2558 PRIMARY KEY (opcommand_grpid) 2559) 2560/ 2561CREATE INDEX opcommand_grp_1 ON opcommand_grp (operationid) 2562/ 2563ALTER TABLE opcommand_grp ADD CONSTRAINT c_opcommand_grp_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2564/ 2565ALTER TABLE opcommand_grp ADD CONSTRAINT c_opcommand_grp_2 FOREIGN KEY (groupid) REFERENCES groups (groupid) 2566/ 2567 2568CREATE TABLE opgroup ( 2569 opgroupid bigint NOT NULL, 2570 operationid bigint NOT NULL, 2571 groupid bigint NOT NULL, 2572 PRIMARY KEY (opgroupid) 2573) 2574/ 2575CREATE UNIQUE INDEX opgroup_1 ON opgroup (operationid,groupid) 2576/ 2577ALTER TABLE opgroup ADD CONSTRAINT c_opgroup_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2578/ 2579ALTER TABLE opgroup ADD CONSTRAINT c_opgroup_2 FOREIGN KEY (groupid) REFERENCES groups (groupid) 2580/ 2581 2582CREATE TABLE optemplate ( 2583 optemplateid bigint NOT NULL, 2584 operationid bigint NOT NULL, 2585 templateid bigint NOT NULL, 2586 PRIMARY KEY (optemplateid) 2587) 2588/ 2589CREATE UNIQUE INDEX optemplate_1 ON optemplate (operationid,templateid) 2590/ 2591ALTER TABLE optemplate ADD CONSTRAINT c_optemplate_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2592/ 2593ALTER TABLE optemplate ADD CONSTRAINT c_optemplate_2 FOREIGN KEY (templateid) REFERENCES hosts (hostid) 2594/ 2595 2596CREATE TABLE opconditions ( 2597 opconditionid bigint NOT NULL, 2598 operationid bigint NOT NULL, 2599 conditiontype integer WITH DEFAULT '0' NOT NULL, 2600 operator integer WITH DEFAULT '0' NOT NULL, 2601 value varchar(255) WITH DEFAULT '' NOT NULL, 2602 PRIMARY KEY (opconditionid) 2603) 2604/ 2605CREATE INDEX opconditions_1 ON opconditions (operationid) 2606/ 2607ALTER TABLE opconditions ADD CONSTRAINT c_opconditions_1 FOREIGN KEY (operationid) REFERENCES operations (operationid) ON DELETE CASCADE 2608/ 2609 2610CREATE SEQUENCE opconditions_seq AS bigint 2611/ 2612 2613CREATE PROCEDURE zbx_convert_operations() 2614LANGUAGE SQL 2615BEGIN 2616 DECLARE v_nodeid integer; 2617 DECLARE minid, maxid bigint; 2618 DECLARE new_operationid bigint; 2619 DECLARE new_opmessage_grpid bigint; 2620 DECLARE new_opmessage_usrid bigint; 2621 DECLARE new_opgroupid bigint; 2622 DECLARE new_optemplateid bigint; 2623 DECLARE new_opcommand_hstid bigint; 2624 DECLARE new_opcommand_grpid bigint; 2625 DECLARE n_done integer DEFAULT 0; 2626 DECLARE n_not_found CONDITION FOR SQLSTATE '02000'; 2627 DECLARE n_cur CURSOR FOR (SELECT DISTINCT TRUNC(operationid / 100000000000000) FROM t_operations); 2628 DECLARE CONTINUE HANDLER FOR n_not_found SET n_done = 1; 2629 2630 OPEN n_cur; 2631 2632 n_loop: LOOP 2633 FETCH n_cur INTO v_nodeid; 2634 2635 IF n_done = 1 THEN 2636 LEAVE n_loop; 2637 END IF; 2638 2639 SET minid = v_nodeid * 100000000000000; 2640 SET maxid = minid + 99999999999999; 2641 SET new_operationid = minid; 2642 SET new_opmessage_grpid = minid; 2643 SET new_opmessage_usrid = minid; 2644 SET new_opgroupid = minid; 2645 SET new_optemplateid = minid; 2646 SET new_opcommand_hstid = minid; 2647 SET new_opcommand_grpid = minid; 2648 2649 BEGIN 2650 DECLARE v_operationid bigint; 2651 DECLARE v_actionid bigint; 2652 DECLARE v_operationtype integer; 2653 DECLARE v_esc_period integer; 2654 DECLARE v_esc_step_from integer; 2655 DECLARE v_esc_step_to integer; 2656 DECLARE v_evaltype integer; 2657 DECLARE v_default_msg integer; 2658 DECLARE v_shortdata varchar(255); 2659 DECLARE v_longdata varchar(2048); 2660 DECLARE v_mediatypeid bigint; 2661 DECLARE v_object integer; 2662 DECLARE v_objectid bigint; 2663 DECLARE l_pos, r_pos, h_pos, g_pos integer; 2664 DECLARE cur_string varchar(2048); 2665 DECLARE v_host, v_group varchar(64); 2666 DECLARE v_hostid, v_groupid bigint; 2667 DECLARE o_done integer DEFAULT 0; 2668 DECLARE o_not_found CONDITION FOR SQLSTATE '02000'; 2669 DECLARE o_cur CURSOR FOR ( 2670 SELECT operationid, actionid, operationtype, esc_period, esc_step_from, esc_step_to, 2671 evaltype, default_msg, shortdata, longdata, mediatypeid, object, objectid 2672 FROM t_operations 2673 WHERE operationid BETWEEN minid AND maxid); 2674 DECLARE CONTINUE HANDLER FOR o_not_found SET o_done = 1; 2675 2676 OPEN o_cur; 2677 2678 o_loop: LOOP 2679 FETCH o_cur INTO v_operationid, v_actionid, v_operationtype, v_esc_period, v_esc_step_from, 2680 v_esc_step_to, v_evaltype, v_default_msg, v_shortdata, v_longdata, 2681 v_mediatypeid, v_object, v_objectid; 2682 2683 IF o_done = 1 THEN 2684 LEAVE o_loop; 2685 END IF; 2686 2687 IF v_operationtype IN (0) THEN -- OPERATION_TYPE_MESSAGE 2688 SET new_operationid = new_operationid + 1; 2689 2690 INSERT INTO operations (operationid, actionid, operationtype, esc_period, 2691 esc_step_from, esc_step_to, evaltype) 2692 VALUES (new_operationid, v_actionid, v_operationtype, v_esc_period, 2693 v_esc_step_from, v_esc_step_to, v_evaltype); 2694 2695 INSERT INTO opmessage (operationid, default_msg, subject, message, mediatypeid) 2696 VALUES (new_operationid, v_default_msg, v_shortdata, v_longdata, v_mediatypeid); 2697 2698 IF v_object = 0 AND v_objectid IS NOT NULL THEN -- OPERATION_OBJECT_USER 2699 SET new_opmessage_usrid = new_opmessage_usrid + 1; 2700 2701 INSERT INTO opmessage_usr (opmessage_usrid, operationid, userid) 2702 VALUES (new_opmessage_usrid, new_operationid, v_objectid); 2703 END IF; 2704 2705 IF v_object = 1 AND v_objectid IS NOT NULL THEN -- OPERATION_OBJECT_GROUP 2706 SET new_opmessage_grpid = new_opmessage_grpid + 1; 2707 2708 INSERT INTO opmessage_grp (opmessage_grpid, operationid, usrgrpid) 2709 VALUES (new_opmessage_grpid, new_operationid, v_objectid); 2710 END IF; 2711 2712 INSERT INTO opconditions 2713 SELECT minid + (NEXTVAL FOR opconditions_seq), new_operationid, conditiontype, 2714 operator, value 2715 FROM t_opconditions 2716 WHERE operationid = v_operationid; 2717 ELSEIF v_operationtype IN (1) THEN -- OPERATION_TYPE_COMMAND 2718 SET r_pos = 1; 2719 SET l_pos = 1; 2720 2721 WHILE r_pos > 0 DO 2722 SET r_pos = INSTR(v_longdata, CHR(10), l_pos); 2723 2724 IF r_pos = 0 THEN 2725 SET cur_string = SUBSTR(v_longdata, l_pos); 2726 ELSE 2727 SET cur_string = SUBSTR(v_longdata, l_pos, r_pos - l_pos); 2728 END IF; 2729 2730 SET cur_string = STRIP(cur_string, TRAILING, X'0D'); 2731 SET cur_string = TRIM(cur_string); 2732 2733 IF LENGTH(cur_string) <> 0 THEN 2734 SET h_pos = INSTR(cur_string, ':'); 2735 SET g_pos = INSTR(cur_string, '#'); 2736 2737 IF h_pos <> 0 OR g_pos <> 0 THEN 2738 SET new_operationid = new_operationid + 1; 2739 2740 INSERT INTO operations (operationid, actionid, operationtype, 2741 esc_period, esc_step_from, esc_step_to, evaltype) 2742 VALUES (new_operationid, v_actionid, v_operationtype, v_esc_period, 2743 v_esc_step_from, v_esc_step_to, v_evaltype); 2744 2745 INSERT INTO opconditions 2746 SELECT minid + (NEXTVAL FOR opconditions_seq), 2747 new_operationid, conditiontype, 2748 operator, value 2749 FROM t_opconditions 2750 WHERE operationid = v_operationid; 2751 2752 IF h_pos <> 0 AND (g_pos = 0 OR h_pos < g_pos) THEN 2753 INSERT INTO opcommand (operationid, command) 2754 VALUES (new_operationid, TRIM(SUBSTR(cur_string, h_pos + 1))); 2755 2756 SET v_host = TRIM(SUBSTR(cur_string, 1, h_pos - 1)); 2757 2758 IF v_host = '{HOSTNAME}' THEN 2759 SET new_opcommand_hstid = new_opcommand_hstid + 1; 2760 2761 INSERT INTO opcommand_hst 2762 VALUES (new_opcommand_hstid, new_operationid, NULL); 2763 ELSE 2764 SET v_hostid = ( 2765 SELECT MIN(hostid) 2766 FROM hosts 2767 WHERE host = v_host 2768 AND TRUNC(hostid / 100000000000000) = v_nodeid); 2769 2770 IF v_hostid IS NOT NULL THEN 2771 SET new_opcommand_hstid = new_opcommand_hstid + 1; 2772 2773 INSERT INTO opcommand_hst 2774 VALUES (new_opcommand_hstid, new_operationid, v_hostid); 2775 END IF; 2776 END IF; 2777 END IF; 2778 2779 IF g_pos <> 0 AND (h_pos = 0 OR g_pos < h_pos) THEN 2780 INSERT INTO opcommand (operationid, command) 2781 VALUES (new_operationid, TRIM(SUBSTR(cur_string, g_pos + 1))); 2782 2783 SET v_group = TRIM(SUBSTR(cur_string, 1, g_pos - 1)); 2784 2785 SET v_groupid = ( 2786 SELECT MIN(groupid) 2787 FROM groups 2788 WHERE name = v_group 2789 AND TRUNC(groupid / 100000000000000) = v_nodeid); 2790 2791 IF v_groupid IS NOT NULL THEN 2792 SET new_opcommand_grpid = new_opcommand_grpid + 1; 2793 2794 INSERT INTO opcommand_grp 2795 VALUES (new_opcommand_grpid, new_operationid, v_groupid); 2796 END IF; 2797 END IF; 2798 END IF; 2799 END IF; 2800 2801 SET l_pos = r_pos + 1; 2802 END WHILE; 2803 ELSEIF v_operationtype IN (2, 3, 8, 9) THEN -- OPERATION_TYPE_HOST_(ADD, REMOVE, ENABLE, DISABLE) 2804 SET new_operationid = new_operationid + 1; 2805 2806 INSERT INTO operations (operationid, actionid, operationtype) 2807 VALUES (new_operationid, v_actionid, v_operationtype); 2808 ELSEIF v_operationtype IN (4, 5) THEN -- OPERATION_TYPE_GROUP_(ADD, REMOVE) 2809 SET new_operationid = new_operationid + 1; 2810 2811 INSERT INTO operations (operationid, actionid, operationtype) 2812 VALUES (new_operationid, v_actionid, v_operationtype); 2813 2814 SET new_opgroupid = new_opgroupid + 1; 2815 2816 INSERT INTO opgroup (opgroupid, operationid, groupid) 2817 VALUES (new_opgroupid, new_operationid, v_objectid); 2818 ELSEIF v_operationtype IN (6, 7) THEN -- OPERATION_TYPE_TEMPLATE_(ADD, REMOVE) 2819 SET new_operationid = new_operationid + 1; 2820 2821 INSERT INTO operations (operationid, actionid, operationtype) 2822 VALUES (new_operationid, v_actionid, v_operationtype); 2823 2824 SET new_optemplateid = new_optemplateid + 1; 2825 2826 INSERT INTO optemplate (optemplateid, operationid, templateid) 2827 VALUES (new_optemplateid, new_operationid, v_objectid); 2828 END IF; 2829 END LOOP o_loop; 2830 2831 CLOSE o_cur; 2832 END; 2833 END LOOP n_loop; 2834 2835 CLOSE n_cur; 2836END 2837/ 2838 2839CALL zbx_convert_operations 2840/ 2841 2842DROP SEQUENCE opconditions_seq 2843/ 2844 2845DROP TABLE t_operations 2846/ 2847DROP TABLE t_opconditions 2848/ 2849DROP PROCEDURE zbx_convert_operations 2850/ 2851 2852UPDATE opcommand 2853 SET type = 1, command = TRIM(SUBSTR(command, 5)) 2854 WHERE SUBSTR(command, 1, 4) = 'IPMI' 2855/ 2856 2857DELETE FROM ids WHERE table_name IN ('operations', 'opconditions', 'opmediatypes') 2858/ 2859-- See operations.sql 2860-- See operations.sql 2861-- See operations.sql 2862-- See operations.sql 2863-- See operations.sql 2864-- See operations.sql 2865ALTER TABLE profiles ALTER COLUMN profileid SET WITH DEFAULT NULL 2866/ 2867REORG TABLE profiles 2868/ 2869ALTER TABLE profiles ALTER COLUMN userid SET WITH DEFAULT NULL 2870/ 2871REORG TABLE profiles 2872/ 2873DELETE FROM profiles WHERE NOT userid IN (SELECT userid FROM users) 2874/ 2875DELETE FROM profiles WHERE idx LIKE 'web.%.sort' OR idx LIKE 'web.%.sortorder' 2876/ 2877ALTER TABLE profiles ADD CONSTRAINT c_profiles_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 2878/ 2879 2880UPDATE profiles SET idx = 'web.screens.period' WHERE idx = 'web.charts.period' 2881/ 2882UPDATE profiles SET idx = 'web.screens.stime' WHERE idx = 'web.charts.stime' 2883/ 2884UPDATE profiles SET idx = 'web.screens.timelinefixed' WHERE idx = 'web.charts.timelinefixed' 2885/ 2886ALTER TABLE proxy_autoreg_host ADD listen_ip varchar(39) WITH DEFAULT '' NOT NULL 2887/ 2888REORG TABLE proxy_autoreg_host 2889/ 2890ALTER TABLE proxy_autoreg_host ADD listen_port integer WITH DEFAULT '0' NOT NULL 2891/ 2892REORG TABLE proxy_autoreg_host 2893/ 2894ALTER TABLE proxy_autoreg_host ADD listen_dns varchar(64) WITH DEFAULT '' NOT NULL 2895/ 2896REORG TABLE proxy_autoreg_host 2897/ 2898DELETE FROM proxy_dhistory WHERE druleid NOT IN (SELECT druleid FROM drules) 2899/ 2900DELETE FROM proxy_dhistory WHERE dcheckid<>0 AND dcheckid NOT IN (SELECT dcheckid FROM dchecks) 2901/ 2902ALTER TABLE proxy_dhistory ALTER COLUMN druleid SET WITH DEFAULT NULL 2903/ 2904REORG TABLE proxy_dhistory 2905/ 2906ALTER TABLE proxy_dhistory ALTER COLUMN dcheckid DROP NOT NULL 2907/ 2908ALTER TABLE proxy_dhistory ALTER COLUMN dcheckid SET WITH DEFAULT NULL 2909/ 2910REORG TABLE proxy_dhistory 2911/ 2912ALTER TABLE proxy_dhistory ADD dns varchar(64) WITH DEFAULT '' NOT NULL 2913/ 2914REORG TABLE proxy_dhistory 2915/ 2916UPDATE proxy_dhistory SET dcheckid=NULL WHERE dcheckid=0 2917/ 2918ALTER TABLE proxy_history ALTER COLUMN itemid SET WITH DEFAULT NULL 2919/ 2920REORG TABLE proxy_history 2921/ 2922ALTER TABLE proxy_history ADD ns integer WITH DEFAULT '0' NOT NULL 2923/ 2924REORG TABLE proxy_history 2925/ 2926ALTER TABLE proxy_history ADD status integer WITH DEFAULT '0' NOT NULL 2927/ 2928REORG TABLE proxy_history 2929/ 2930ALTER TABLE regexps ALTER COLUMN regexpid SET WITH DEFAULT NULL 2931/ 2932REORG TABLE regexps 2933/ 2934ALTER TABLE rights ALTER COLUMN rightid SET WITH DEFAULT NULL 2935/ 2936REORG TABLE rights 2937/ 2938ALTER TABLE rights ALTER COLUMN groupid SET WITH DEFAULT NULL 2939/ 2940REORG TABLE rights 2941/ 2942ALTER TABLE rights ALTER COLUMN id SET NOT NULL 2943/ 2944REORG TABLE rights 2945/ 2946DELETE FROM rights WHERE NOT groupid IN (SELECT usrgrpid FROM usrgrp) 2947/ 2948DELETE FROM rights WHERE NOT id IN (SELECT groupid FROM groups) 2949/ 2950ALTER TABLE rights ADD CONSTRAINT c_rights_1 FOREIGN KEY (groupid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE 2951/ 2952ALTER TABLE rights ADD CONSTRAINT c_rights_2 FOREIGN KEY (id) REFERENCES groups (groupid) ON DELETE CASCADE 2953/ 2954ALTER TABLE screens_items ALTER COLUMN screenitemid SET WITH DEFAULT NULL 2955/ 2956REORG TABLE screens_items 2957/ 2958ALTER TABLE screens_items ALTER COLUMN screenid SET WITH DEFAULT NULL 2959/ 2960REORG TABLE screens_items 2961/ 2962ALTER TABLE screens_items ADD sort_triggers integer WITH DEFAULT '0' NOT NULL 2963/ 2964REORG TABLE screens_items 2965/ 2966DELETE FROM screens_items WHERE screenid NOT IN (SELECT screenid FROM screens) 2967/ 2968ALTER TABLE screens_items ADD CONSTRAINT c_screens_items_1 FOREIGN KEY (screenid) REFERENCES screens (screenid) ON DELETE CASCADE 2969/ 2970ALTER TABLE screens ALTER COLUMN screenid SET WITH DEFAULT NULL 2971/ 2972REORG TABLE screens 2973/ 2974ALTER TABLE screens ALTER COLUMN name SET WITH DEFAULT NULL 2975/ 2976REORG TABLE screens 2977/ 2978ALTER TABLE screens ADD templateid bigint NULL 2979/ 2980REORG TABLE screens 2981/ 2982ALTER TABLE screens ADD CONSTRAINT c_screens_1 FOREIGN KEY (templateid) REFERENCES hosts (hostid) ON DELETE CASCADE 2983/ 2984ALTER TABLE scripts ALTER COLUMN scriptid SET WITH DEFAULT NULL 2985/ 2986REORG TABLE scripts 2987/ 2988ALTER TABLE scripts ALTER COLUMN usrgrpid SET WITH DEFAULT NULL 2989/ 2990REORG TABLE scripts 2991/ 2992ALTER TABLE scripts ALTER COLUMN usrgrpid DROP NOT NULL 2993/ 2994REORG TABLE scripts 2995/ 2996ALTER TABLE scripts ALTER COLUMN groupid SET WITH DEFAULT NULL 2997/ 2998REORG TABLE scripts 2999/ 3000ALTER TABLE scripts ALTER COLUMN groupid DROP NOT NULL 3001/ 3002REORG TABLE scripts 3003/ 3004ALTER TABLE scripts ADD description varchar(2048) WITH DEFAULT '' NOT NULL 3005/ 3006REORG TABLE scripts 3007/ 3008ALTER TABLE scripts ADD confirmation varchar(255) WITH DEFAULT '' NOT NULL 3009/ 3010REORG TABLE scripts 3011/ 3012ALTER TABLE scripts ADD type integer WITH DEFAULT '0' NOT NULL 3013/ 3014REORG TABLE scripts 3015/ 3016ALTER TABLE scripts ADD execute_on integer WITH DEFAULT '1' NOT NULL 3017/ 3018REORG TABLE scripts 3019/ 3020UPDATE scripts SET usrgrpid=NULL WHERE usrgrpid=0 3021/ 3022UPDATE scripts SET groupid=NULL WHERE groupid=0 3023/ 3024UPDATE scripts SET type=1,command=TRIM(SUBSTR(command, 5)) WHERE SUBSTR(command, 1, 4)='IPMI' 3025/ 3026DELETE FROM scripts WHERE usrgrpid IS NOT NULL AND usrgrpid NOT IN (SELECT usrgrpid FROM usrgrp) 3027/ 3028DELETE FROM scripts WHERE groupid IS NOT NULL AND groupid NOT IN (SELECT groupid FROM groups) 3029/ 3030ALTER TABLE scripts ADD CONSTRAINT c_scripts_1 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) 3031/ 3032ALTER TABLE scripts ADD CONSTRAINT c_scripts_2 FOREIGN KEY (groupid) REFERENCES groups (groupid) 3033/ 3034ALTER TABLE service_alarms ALTER COLUMN servicealarmid SET WITH DEFAULT NULL 3035/ 3036REORG TABLE service_alarms 3037/ 3038ALTER TABLE service_alarms ALTER COLUMN serviceid SET WITH DEFAULT NULL 3039/ 3040REORG TABLE service_alarms 3041/ 3042DELETE FROM service_alarms WHERE NOT serviceid IN (SELECT serviceid FROM services) 3043/ 3044ALTER TABLE service_alarms ADD CONSTRAINT c_service_alarms_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE 3045/ 3046ALTER TABLE services_links ALTER COLUMN linkid SET WITH DEFAULT NULL 3047/ 3048REORG TABLE services_links 3049/ 3050ALTER TABLE services_links ALTER COLUMN serviceupid SET WITH DEFAULT NULL 3051/ 3052REORG TABLE services_links 3053/ 3054ALTER TABLE services_links ALTER COLUMN servicedownid SET WITH DEFAULT NULL 3055/ 3056REORG TABLE services_links 3057/ 3058DELETE FROM services_links WHERE NOT serviceupid IN (SELECT serviceid FROM services) 3059/ 3060DELETE FROM services_links WHERE NOT servicedownid IN (SELECT serviceid FROM services) 3061/ 3062ALTER TABLE services_links ADD CONSTRAINT c_services_links_1 FOREIGN KEY (serviceupid) REFERENCES services (serviceid) ON DELETE CASCADE 3063/ 3064ALTER TABLE services_links ADD CONSTRAINT c_services_links_2 FOREIGN KEY (servicedownid) REFERENCES services (serviceid) ON DELETE CASCADE 3065/ 3066UPDATE services SET triggerid = NULL WHERE NOT EXISTS (SELECT 1 FROM triggers t WHERE t.triggerid = services.triggerid) 3067/ 3068ALTER TABLE services ALTER COLUMN serviceid SET WITH DEFAULT NULL 3069/ 3070REORG TABLE services 3071/ 3072ALTER TABLE services ADD CONSTRAINT c_services_1 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE 3073/ 3074ALTER TABLE services_times ALTER COLUMN timeid SET WITH DEFAULT NULL 3075/ 3076REORG TABLE services_times 3077/ 3078ALTER TABLE services_times ALTER COLUMN serviceid SET WITH DEFAULT NULL 3079/ 3080REORG TABLE services_times 3081/ 3082DELETE FROM services_times WHERE NOT serviceid IN (SELECT serviceid FROM services) 3083/ 3084ALTER TABLE services_times ADD CONSTRAINT c_services_times_1 FOREIGN KEY (serviceid) REFERENCES services (serviceid) ON DELETE CASCADE 3085/ 3086ALTER TABLE sessions ALTER COLUMN userid SET WITH DEFAULT NULL 3087/ 3088REORG TABLE sessions 3089/ 3090DELETE FROM sessions WHERE NOT userid IN (SELECT userid FROM users) 3091/ 3092ALTER TABLE sessions ADD CONSTRAINT c_sessions_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 3093/ 3094ALTER TABLE slideshows ALTER COLUMN slideshowid SET WITH DEFAULT NULL 3095/ 3096REORG TABLE slideshows 3097/ 3098ALTER TABLE slides ALTER COLUMN slideid SET WITH DEFAULT NULL 3099/ 3100REORG TABLE slides 3101/ 3102ALTER TABLE slides ALTER COLUMN slideshowid SET WITH DEFAULT NULL 3103/ 3104REORG TABLE slides 3105/ 3106ALTER TABLE slides ALTER COLUMN screenid SET WITH DEFAULT NULL 3107/ 3108REORG TABLE slides 3109/ 3110DELETE FROM slides WHERE NOT slideshowid IN (SELECT slideshowid FROM slideshows) 3111/ 3112DELETE FROM slides WHERE NOT screenid IN (SELECT screenid FROM screens) 3113/ 3114ALTER TABLE slides ADD CONSTRAINT c_slides_1 FOREIGN KEY (slideshowid) REFERENCES slideshows (slideshowid) ON DELETE CASCADE 3115/ 3116ALTER TABLE slides ADD CONSTRAINT c_slides_2 FOREIGN KEY (screenid) REFERENCES screens (screenid) ON DELETE CASCADE 3117/ 3118-- See sysmaps_elements.sql 3119CREATE TABLE sysmap_element_url ( 3120 sysmapelementurlid BIGINT NOT NULL, 3121 selementid BIGINT NOT NULL, 3122 name varchar(255) , 3123 url varchar(255) DEFAULT '' , 3124 PRIMARY KEY (sysmapelementurlid) 3125) 3126/ 3127CREATE UNIQUE INDEX sysmap_element_url_1 on sysmap_element_url (selementid,name) 3128/ 3129ALTER TABLE sysmap_element_url ADD CONSTRAINT c_sysmap_element_url_1 FOREIGN KEY (selementid) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE 3130/ 3131 3132INSERT INTO sysmap_element_url (sysmapelementurlid,selementid,name,url) 3133 SELECT selementid,selementid,url,url FROM sysmaps_elements WHERE url IS NOT NULL 3134/ 3135 3136ALTER TABLE sysmaps_elements ALTER COLUMN selementid SET WITH DEFAULT NULL 3137/ 3138REORG TABLE sysmaps_elements 3139/ 3140ALTER TABLE sysmaps_elements ALTER COLUMN sysmapid SET WITH DEFAULT NULL 3141/ 3142REORG TABLE sysmaps_elements 3143/ 3144ALTER TABLE sysmaps_elements ALTER COLUMN iconid_off SET WITH DEFAULT NULL 3145/ 3146REORG TABLE sysmaps_elements 3147/ 3148ALTER TABLE sysmaps_elements ALTER COLUMN iconid_off DROP NOT NULL 3149/ 3150REORG TABLE sysmaps_elements 3151/ 3152ALTER TABLE sysmaps_elements ALTER COLUMN iconid_on SET WITH DEFAULT NULL 3153/ 3154REORG TABLE sysmaps_elements 3155/ 3156ALTER TABLE sysmaps_elements ALTER COLUMN iconid_on DROP NOT NULL 3157/ 3158REORG TABLE sysmaps_elements 3159/ 3160ALTER TABLE sysmaps_elements DROP COLUMN iconid_unknown 3161/ 3162REORG TABLE sysmaps_elements 3163/ 3164ALTER TABLE sysmaps_elements ALTER COLUMN iconid_disabled SET WITH DEFAULT NULL 3165/ 3166REORG TABLE sysmaps_elements 3167/ 3168ALTER TABLE sysmaps_elements ALTER COLUMN iconid_disabled DROP NOT NULL 3169/ 3170REORG TABLE sysmaps_elements 3171/ 3172ALTER TABLE sysmaps_elements ALTER COLUMN iconid_maintenance SET WITH DEFAULT NULL 3173/ 3174REORG TABLE sysmaps_elements 3175/ 3176ALTER TABLE sysmaps_elements ALTER COLUMN iconid_maintenance DROP NOT NULL 3177/ 3178REORG TABLE sysmaps_elements 3179/ 3180ALTER TABLE sysmaps_elements DROP COLUMN url 3181/ 3182REORG TABLE sysmaps_elements 3183/ 3184ALTER TABLE sysmaps_elements ADD elementsubtype integer WITH DEFAULT '0' NOT NULL 3185/ 3186REORG TABLE sysmaps_elements 3187/ 3188ALTER TABLE sysmaps_elements ADD areatype integer WITH DEFAULT '0' NOT NULL 3189/ 3190REORG TABLE sysmaps_elements 3191/ 3192ALTER TABLE sysmaps_elements ADD width integer WITH DEFAULT '200' NOT NULL 3193/ 3194REORG TABLE sysmaps_elements 3195/ 3196ALTER TABLE sysmaps_elements ADD height integer WITH DEFAULT '200' NOT NULL 3197/ 3198REORG TABLE sysmaps_elements 3199/ 3200ALTER TABLE sysmaps_elements ADD viewtype integer WITH DEFAULT '0' NOT NULL 3201/ 3202REORG TABLE sysmaps_elements 3203/ 3204ALTER TABLE sysmaps_elements ADD use_iconmap integer WITH DEFAULT '1' NOT NULL 3205/ 3206REORG TABLE sysmaps_elements 3207/ 3208DELETE FROM sysmaps_elements WHERE sysmapid NOT IN (SELECT sysmapid FROM sysmaps) 3209/ 3210UPDATE sysmaps_elements SET iconid_off=NULL WHERE iconid_off=0 3211/ 3212UPDATE sysmaps_elements SET iconid_on=NULL WHERE iconid_on=0 3213/ 3214UPDATE sysmaps_elements SET iconid_disabled=NULL WHERE iconid_disabled=0 3215/ 3216UPDATE sysmaps_elements SET iconid_maintenance=NULL WHERE iconid_maintenance=0 3217/ 3218UPDATE sysmaps_elements SET iconid_off=NULL WHERE NOT iconid_off IS NULL AND NOT iconid_off IN (SELECT imageid FROM images WHERE imagetype=1) 3219/ 3220UPDATE sysmaps_elements SET iconid_on=NULL WHERE NOT iconid_on IS NULL AND NOT iconid_on IN (SELECT imageid FROM images WHERE imagetype=1) 3221/ 3222UPDATE sysmaps_elements SET iconid_disabled=NULL WHERE NOT iconid_disabled IS NULL AND NOT iconid_disabled IN (SELECT imageid FROM images WHERE imagetype=1) 3223/ 3224UPDATE sysmaps_elements SET iconid_maintenance=NULL WHERE NOT iconid_maintenance IS NULL AND NOT iconid_maintenance IN (SELECT imageid FROM images WHERE imagetype=1) 3225/ 3226ALTER TABLE sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE 3227/ 3228ALTER TABLE sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_2 FOREIGN KEY (iconid_off) REFERENCES images (imageid) 3229/ 3230ALTER TABLE sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_3 FOREIGN KEY (iconid_on) REFERENCES images (imageid) 3231/ 3232ALTER TABLE sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_4 FOREIGN KEY (iconid_disabled) REFERENCES images (imageid) 3233/ 3234ALTER TABLE sysmaps_elements ADD CONSTRAINT c_sysmaps_elements_5 FOREIGN KEY (iconid_maintenance) REFERENCES images (imageid) 3235/ 3236ALTER TABLE sysmaps_links ALTER COLUMN linkid SET WITH DEFAULT NULL 3237/ 3238REORG TABLE sysmaps_links 3239/ 3240ALTER TABLE sysmaps_links ALTER COLUMN sysmapid SET WITH DEFAULT NULL 3241/ 3242REORG TABLE sysmaps_links 3243/ 3244ALTER TABLE sysmaps_links ALTER COLUMN selementid1 SET WITH DEFAULT NULL 3245/ 3246REORG TABLE sysmaps_links 3247/ 3248ALTER TABLE sysmaps_links ALTER COLUMN selementid2 SET WITH DEFAULT NULL 3249/ 3250REORG TABLE sysmaps_links 3251/ 3252DELETE FROM sysmaps_links WHERE sysmapid NOT IN (SELECT sysmapid FROM sysmaps) 3253/ 3254DELETE FROM sysmaps_links WHERE selementid1 NOT IN (SELECT selementid FROM sysmaps_elements) 3255/ 3256DELETE FROM sysmaps_links WHERE selementid2 NOT IN (SELECT selementid FROM sysmaps_elements) 3257/ 3258ALTER TABLE sysmaps_links ADD CONSTRAINT c_sysmaps_links_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE 3259/ 3260ALTER TABLE sysmaps_links ADD CONSTRAINT c_sysmaps_links_2 FOREIGN KEY (selementid1) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE 3261/ 3262ALTER TABLE sysmaps_links ADD CONSTRAINT c_sysmaps_links_3 FOREIGN KEY (selementid2) REFERENCES sysmaps_elements (selementid) ON DELETE CASCADE 3263/ 3264ALTER TABLE sysmaps_link_triggers ALTER COLUMN linktriggerid SET WITH DEFAULT NULL 3265/ 3266REORG TABLE sysmaps_link_triggers 3267/ 3268ALTER TABLE sysmaps_link_triggers ALTER COLUMN linkid SET WITH DEFAULT NULL 3269/ 3270REORG TABLE sysmaps_link_triggers 3271/ 3272ALTER TABLE sysmaps_link_triggers ALTER COLUMN triggerid SET WITH DEFAULT NULL 3273/ 3274REORG TABLE sysmaps_link_triggers 3275/ 3276DELETE FROM sysmaps_link_triggers WHERE linkid NOT IN (SELECT linkid FROM sysmaps_links) 3277/ 3278DELETE FROM sysmaps_link_triggers WHERE triggerid NOT IN (SELECT triggerid FROM triggers) 3279/ 3280ALTER TABLE sysmaps_link_triggers ADD CONSTRAINT c_sysmaps_link_triggers_1 FOREIGN KEY (linkid) REFERENCES sysmaps_links (linkid) ON DELETE CASCADE 3281/ 3282ALTER TABLE sysmaps_link_triggers ADD CONSTRAINT c_sysmaps_link_triggers_2 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE 3283/ 3284ALTER TABLE sysmaps ALTER COLUMN sysmapid SET WITH DEFAULT NULL 3285/ 3286REORG TABLE sysmaps 3287/ 3288ALTER TABLE sysmaps ALTER COLUMN width SET DEFAULT '600' 3289/ 3290REORG TABLE sysmaps 3291/ 3292ALTER TABLE sysmaps ALTER COLUMN height SET DEFAULT '400' 3293/ 3294REORG TABLE sysmaps 3295/ 3296ALTER TABLE sysmaps ALTER COLUMN backgroundid SET WITH DEFAULT NULL 3297/ 3298REORG TABLE sysmaps 3299/ 3300ALTER TABLE sysmaps ALTER COLUMN backgroundid DROP NOT NULL 3301/ 3302REORG TABLE sysmaps 3303/ 3304ALTER TABLE sysmaps ALTER COLUMN label_type SET DEFAULT '2' 3305/ 3306REORG TABLE sysmaps 3307/ 3308ALTER TABLE sysmaps ALTER COLUMN label_location SET DEFAULT '3' 3309/ 3310REORG TABLE sysmaps 3311/ 3312ALTER TABLE sysmaps ADD expandproblem integer WITH DEFAULT '1' NOT NULL 3313/ 3314REORG TABLE sysmaps 3315/ 3316ALTER TABLE sysmaps ADD markelements integer WITH DEFAULT '0' NOT NULL 3317/ 3318REORG TABLE sysmaps 3319/ 3320ALTER TABLE sysmaps ADD show_unack integer WITH DEFAULT '0' NOT NULL 3321/ 3322REORG TABLE sysmaps 3323/ 3324ALTER TABLE sysmaps ADD grid_size integer DEFAULT '50' NOT NULL 3325/ 3326REORG TABLE sysmaps 3327/ 3328ALTER TABLE sysmaps ADD grid_show integer DEFAULT '1' NOT NULL 3329/ 3330REORG TABLE sysmaps 3331/ 3332ALTER TABLE sysmaps ADD grid_align integer DEFAULT '1' NOT NULL 3333/ 3334REORG TABLE sysmaps 3335/ 3336ALTER TABLE sysmaps ADD label_format integer WITH DEFAULT '0' NOT NULL 3337/ 3338REORG TABLE sysmaps 3339/ 3340ALTER TABLE sysmaps ADD label_type_host integer WITH DEFAULT '2' NOT NULL 3341/ 3342REORG TABLE sysmaps 3343/ 3344ALTER TABLE sysmaps ADD label_type_hostgroup integer WITH DEFAULT '2' NOT NULL 3345/ 3346REORG TABLE sysmaps 3347/ 3348ALTER TABLE sysmaps ADD label_type_trigger integer WITH DEFAULT '2' NOT NULL 3349/ 3350REORG TABLE sysmaps 3351/ 3352ALTER TABLE sysmaps ADD label_type_map integer WITH DEFAULT '2' NOT NULL 3353/ 3354REORG TABLE sysmaps 3355/ 3356ALTER TABLE sysmaps ADD label_type_image integer WITH DEFAULT '2' NOT NULL 3357/ 3358REORG TABLE sysmaps 3359/ 3360ALTER TABLE sysmaps ADD label_string_host varchar(255) WITH DEFAULT '' NOT NULL 3361/ 3362REORG TABLE sysmaps 3363/ 3364ALTER TABLE sysmaps ADD label_string_hostgroup varchar(255) WITH DEFAULT '' NOT NULL 3365/ 3366REORG TABLE sysmaps 3367/ 3368ALTER TABLE sysmaps ADD label_string_trigger varchar(255) WITH DEFAULT '' NOT NULL 3369/ 3370REORG TABLE sysmaps 3371/ 3372ALTER TABLE sysmaps ADD label_string_map varchar(255) WITH DEFAULT '' NOT NULL 3373/ 3374REORG TABLE sysmaps 3375/ 3376ALTER TABLE sysmaps ADD label_string_image varchar(255) WITH DEFAULT '' NOT NULL 3377/ 3378REORG TABLE sysmaps 3379/ 3380ALTER TABLE sysmaps ADD iconmapid bigint NULL 3381/ 3382REORG TABLE sysmaps 3383/ 3384ALTER TABLE sysmaps ADD expand_macros integer WITH DEFAULT '0' NOT NULL 3385/ 3386REORG TABLE sysmaps 3387/ 3388UPDATE sysmaps SET backgroundid=NULL WHERE backgroundid=0 3389/ 3390UPDATE sysmaps SET show_unack=1 WHERE highlight>7 AND highlight<16 3391/ 3392UPDATE sysmaps SET show_unack=2 WHERE highlight>23 3393/ 3394UPDATE sysmaps SET highlight=(highlight-16) WHERE highlight>15 3395/ 3396UPDATE sysmaps SET highlight=(highlight-8) WHERE highlight>7 3397/ 3398UPDATE sysmaps SET markelements=1 WHERE highlight>3 AND highlight<8 3399/ 3400UPDATE sysmaps SET highlight=(highlight-4) WHERE highlight>3 3401/ 3402UPDATE sysmaps SET expandproblem=0 WHERE highlight>1 AND highlight<4 3403/ 3404UPDATE sysmaps SET highlight=(highlight-2) WHERE highlight>1 3405/ 3406ALTER TABLE sysmaps ADD CONSTRAINT c_sysmaps_1 FOREIGN KEY (backgroundid) REFERENCES images (imageid) 3407/ 3408ALTER TABLE sysmaps ADD CONSTRAINT c_sysmaps_2 FOREIGN KEY (iconmapid) REFERENCES icon_map (iconmapid) 3409/ 3410CREATE TABLE sysmap_url ( 3411 sysmapurlid BIGINT NOT NULL, 3412 sysmapid BIGINT NOT NULL, 3413 name varchar(255) , 3414 url varchar(255) DEFAULT '' , 3415 elementtype integer DEFAULT '0' NOT NULL, 3416 PRIMARY KEY (sysmapurlid) 3417) 3418/ 3419CREATE UNIQUE INDEX sysmap_url_1 on sysmap_url (sysmapid,name) 3420/ 3421ALTER TABLE sysmap_url ADD CONSTRAINT c_sysmap_url_1 FOREIGN KEY (sysmapid) REFERENCES sysmaps (sysmapid) ON DELETE CASCADE 3422/ 3423ALTER TABLE timeperiods ALTER COLUMN timeperiodid SET WITH DEFAULT NULL 3424/ 3425REORG TABLE timeperiods 3426/ 3427ALTER TABLE trends ALTER COLUMN itemid SET WITH DEFAULT NULL 3428/ 3429REORG TABLE trends 3430/ 3431ALTER TABLE trends_uint ALTER COLUMN itemid SET WITH DEFAULT NULL 3432/ 3433REORG TABLE trends_uint 3434/ 3435ALTER TABLE trigger_depends ALTER COLUMN triggerdepid SET WITH DEFAULT NULL 3436/ 3437REORG TABLE trigger_depends 3438/ 3439ALTER TABLE trigger_depends ALTER COLUMN triggerid_down SET WITH DEFAULT NULL 3440/ 3441REORG TABLE trigger_depends 3442/ 3443ALTER TABLE trigger_depends ALTER COLUMN triggerid_up SET WITH DEFAULT NULL 3444/ 3445REORG TABLE trigger_depends 3446/ 3447DROP INDEX trigger_depends_1 3448/ 3449DELETE FROM trigger_depends WHERE triggerid_down NOT IN (SELECT triggerid FROM triggers) 3450/ 3451DELETE FROM trigger_depends WHERE triggerid_up NOT IN (SELECT triggerid FROM triggers) 3452/ 3453-- remove duplicates to allow unique index 3454DELETE FROM trigger_depends 3455 WHERE triggerdepid IN ( 3456 SELECT td1.triggerdepid 3457 FROM trigger_depends td1 3458 LEFT OUTER JOIN ( 3459 SELECT MIN(td2.triggerdepid) AS triggerdepid 3460 FROM trigger_depends td2 3461 GROUP BY td2.triggerid_down,td2.triggerid_up 3462 ) keep_rows ON 3463 td1.triggerdepid=keep_rows.triggerdepid 3464 WHERE keep_rows.triggerdepid IS NULL 3465 ) 3466/ 3467CREATE UNIQUE INDEX trigger_depends_1 ON trigger_depends (triggerid_down,triggerid_up) 3468/ 3469ALTER TABLE trigger_depends ADD CONSTRAINT c_trigger_depends_1 FOREIGN KEY (triggerid_down) REFERENCES triggers (triggerid) ON DELETE CASCADE 3470/ 3471ALTER TABLE trigger_depends ADD CONSTRAINT c_trigger_depends_2 FOREIGN KEY (triggerid_up) REFERENCES triggers (triggerid) ON DELETE CASCADE 3472/ 3473CREATE TABLE trigger_discovery ( 3474 triggerdiscoveryid bigint NOT NULL, 3475 triggerid bigint NOT NULL, 3476 parent_triggerid bigint NOT NULL, 3477 name varchar(255) WITH DEFAULT '' NOT NULL, 3478 PRIMARY KEY (triggerdiscoveryid) 3479) 3480/ 3481CREATE UNIQUE INDEX trigger_discovery_1 on trigger_discovery (triggerid,parent_triggerid) 3482/ 3483ALTER TABLE trigger_discovery ADD CONSTRAINT c_trigger_discovery_1 FOREIGN KEY (triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE 3484/ 3485ALTER TABLE trigger_discovery ADD CONSTRAINT c_trigger_discovery_2 FOREIGN KEY (parent_triggerid) REFERENCES triggers (triggerid) ON DELETE CASCADE 3486/ 3487---- 3488---- Patching table `events` 3489---- 3490 3491DROP INDEX events_2 3492/ 3493CREATE INDEX events_2 on events (clock) 3494/ 3495ALTER TABLE events ALTER COLUMN eventid SET WITH DEFAULT NULL 3496/ 3497REORG TABLE events 3498/ 3499ALTER TABLE events ADD ns integer DEFAULT '0' NOT NULL 3500/ 3501REORG TABLE events 3502/ 3503ALTER TABLE events ADD value_changed integer DEFAULT '0' NOT NULL 3504/ 3505REORG TABLE events 3506/ 3507 3508-- Begin event redesign patch 3509 3510CREATE TABLE tmp_events_eventid (eventid bigint NOT NULL PRIMARY KEY,prev_value integer,value integer) 3511/ 3512CREATE INDEX tmp_events_index on events (source, object, objectid, clock, eventid, value) 3513/ 3514 3515-- Which OK events should have value_changed flag set? 3516-- Those that have a PROBLEM event (or no event) before them. 3517 3518INSERT INTO tmp_events_eventid (eventid,prev_value,value) 3519( 3520 SELECT e1.eventid,(SELECT e2.value 3521 FROM events e2 3522 WHERE e2.source=e1.source 3523 AND e2.object=e1.object 3524 AND e2.objectid=e1.objectid 3525 AND (e2.clock<e1.clock OR (e2.clock=e1.clock AND e2.eventid<e1.eventid)) 3526 AND e2.value IN (0,1) -- TRIGGER_VALUE_FALSE (OK), TRIGGER_VALUE_TRUE (PROBLEM) 3527 ORDER BY e2.source DESC, 3528 e2.object DESC, 3529 e2.objectid DESC, 3530 e2.clock DESC, 3531 e2.eventid DESC, 3532 e2.value DESC 3533 FETCH FIRST 1 ROWS ONLY),e1.value 3534 FROM events e1 3535 WHERE e1.source=0 -- EVENT_SOURCE_TRIGGERS 3536 AND e1.object=0 -- EVENT_OBJECT_TRIGGER 3537 AND e1.value=0 -- TRIGGER_VALUE_FALSE (OK) 3538) 3539/ 3540 3541-- Which PROBLEM events should have value_changed flag set? 3542-- (1) Those that have an OK event (or no event) before them. 3543 3544INSERT INTO tmp_events_eventid (eventid,prev_value,value) 3545( 3546 SELECT e1.eventid,(SELECT e2.value 3547 FROM events e2 3548 WHERE e2.source=e1.source 3549 AND e2.object=e1.object 3550 AND e2.objectid=e1.objectid 3551 AND (e2.clock<e1.clock OR (e2.clock=e1.clock AND e2.eventid<e1.eventid)) 3552 AND e2.value IN (0,1) -- TRIGGER_VALUE_FALSE (OK), TRIGGER_VALUE_TRUE (PROBLEM) 3553 ORDER BY e2.source DESC, 3554 e2.object DESC, 3555 e2.objectid DESC, 3556 e2.clock DESC, 3557 e2.eventid DESC, 3558 e2.value DESC 3559 FETCH FIRST 1 ROWS ONLY),e1.value 3560 FROM events e1,triggers t 3561 WHERE e1.source=0 -- EVENT_SOURCE_TRIGGERS 3562 AND e1.object=0 -- EVENT_OBJECT_TRIGGER 3563 AND e1.objectid=t.triggerid 3564 AND e1.value=1 -- TRIGGER_VALUE_TRUE 3565 AND t.type=0 -- TRIGGER_TYPE_NORMAL 3566) 3567/ 3568 3569-- (2) Those that came from a "MULTIPLE PROBLEM" trigger. 3570 3571INSERT INTO tmp_events_eventid (eventid,value) 3572( 3573 SELECT e1.eventid,e1.value 3574 FROM events e1,triggers t 3575 WHERE e1.source=0 -- EVENT_SOURCE_TRIGGERS 3576 AND e1.object=0 -- EVENT_OBJECT_TRIGGER 3577 AND e1.objectid=t.triggerid 3578 AND e1.value=1 -- TRIGGER_VALUE_TRUE (PROBLEM) 3579 AND t.type=1 -- TRIGGER_TYPE_MULTIPLE_TRUE 3580) 3581/ 3582 3583DELETE FROM tmp_events_eventid WHERE prev_value = value 3584/ 3585 3586-- Update the value_changed flag. 3587 3588DROP INDEX tmp_events_index 3589/ 3590 3591UPDATE events SET value_changed=1 WHERE eventid IN (SELECT eventid FROM tmp_events_eventid) 3592/ 3593 3594DROP TABLE tmp_events_eventid 3595/ 3596 3597-- End event redesign patch 3598 3599---- 3600---- Patching table `triggers` 3601---- 3602 3603ALTER TABLE triggers ALTER COLUMN triggerid SET WITH DEFAULT NULL 3604/ 3605REORG TABLE triggers 3606/ 3607ALTER TABLE triggers ALTER COLUMN templateid SET WITH DEFAULT NULL 3608/ 3609REORG TABLE triggers 3610/ 3611ALTER TABLE triggers ALTER COLUMN templateid DROP NOT NULL 3612/ 3613REORG TABLE triggers 3614/ 3615ALTER TABLE triggers DROP COLUMN dep_level 3616/ 3617REORG TABLE triggers 3618/ 3619ALTER TABLE triggers ADD value_flags integer WITH DEFAULT '0' NOT NULL 3620/ 3621REORG TABLE triggers 3622/ 3623ALTER TABLE triggers ADD flags integer WITH DEFAULT '0' NOT NULL 3624/ 3625REORG TABLE triggers 3626/ 3627UPDATE triggers SET templateid=NULL WHERE templateid=0 3628/ 3629UPDATE triggers SET templateid=NULL WHERE NOT templateid IS NULL AND NOT templateid IN (SELECT triggerid FROM triggers) 3630/ 3631ALTER TABLE triggers ADD CONSTRAINT c_triggers_1 FOREIGN KEY (templateid) REFERENCES triggers (triggerid) ON DELETE CASCADE 3632/ 3633 3634-- Begin event redesign patch 3635 3636CREATE TABLE tmp_triggers (triggerid bigint NOT NULL PRIMARY KEY, eventid bigint) 3637/ 3638 3639INSERT INTO tmp_triggers (triggerid, eventid) 3640( 3641 SELECT t.triggerid, MAX(e.eventid) 3642 FROM triggers t, events e 3643 WHERE t.value=2 -- TRIGGER_VALUE_UNKNOWN 3644 AND e.source=0 -- EVENT_SOURCE_TRIGGERS 3645 AND e.object=0 -- EVENT_OBJECT_TRIGGER 3646 AND e.objectid=t.triggerid 3647 AND e.value IN (0,1) -- TRIGGER_VALUE_FALSE (OK), TRIGGER_VALUE_TRUE (PROBLEM) 3648 GROUP BY t.triggerid 3649) 3650/ 3651 3652UPDATE triggers 3653 SET value=( 3654 SELECT e.value 3655 FROM events e,tmp_triggers t 3656 WHERE e.eventid=t.eventid 3657 AND triggers.triggerid=t.triggerid 3658 ) 3659 WHERE triggerid IN ( 3660 SELECT triggerid 3661 FROM tmp_triggers 3662 ) 3663/ 3664 3665UPDATE triggers 3666 SET value=0, -- TRIGGER_VALUE_FALSE (OK) 3667 value_flags=1 3668 WHERE value NOT IN (0,1) -- TRIGGER_VALUE_FALSE (OK), TRIGGER_VALUE_TRUE (PROBLEM) 3669 3670/ 3671 3672DROP TABLE tmp_triggers 3673/ 3674 3675-- End event redesign patch 3676ALTER TABLE user_history ALTER COLUMN userhistoryid SET WITH DEFAULT NULL 3677/ 3678REORG TABLE user_history 3679/ 3680ALTER TABLE user_history ALTER COLUMN userid SET WITH DEFAULT NULL 3681/ 3682REORG TABLE user_history 3683/ 3684DELETE FROM user_history WHERE NOT userid IN (SELECT userid FROM users) 3685/ 3686ALTER TABLE user_history ADD CONSTRAINT c_user_history_1 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 3687/ 3688ALTER TABLE users_groups ALTER COLUMN id SET WITH DEFAULT NULL 3689/ 3690REORG TABLE users_groups 3691/ 3692ALTER TABLE users_groups ALTER COLUMN usrgrpid SET WITH DEFAULT NULL 3693/ 3694REORG TABLE users_groups 3695/ 3696ALTER TABLE users_groups ALTER COLUMN userid SET WITH DEFAULT NULL 3697/ 3698REORG TABLE users_groups 3699/ 3700DELETE FROM users_groups WHERE usrgrpid NOT IN (SELECT usrgrpid FROM usrgrp) 3701/ 3702DELETE FROM users_groups WHERE userid NOT IN (SELECT userid FROM users) 3703/ 3704-- remove duplicates to allow unique index 3705DELETE FROM users_groups 3706 WHERE id IN ( 3707 SELECT hm1.id 3708 FROM users_groups hm1 3709 LEFT OUTER JOIN ( 3710 SELECT MIN(hm2.id) AS id 3711 FROM users_groups hm2 3712 GROUP BY hm2.usrgrpid,hm2.userid 3713 ) keep_rows ON 3714 hm1.id=keep_rows.id 3715 WHERE keep_rows.id IS NULL 3716 ) 3717/ 3718DROP INDEX users_groups_1 3719/ 3720CREATE UNIQUE INDEX users_groups_1 ON users_groups (usrgrpid,userid) 3721/ 3722ALTER TABLE users_groups ADD CONSTRAINT c_users_groups_1 FOREIGN KEY (usrgrpid) REFERENCES usrgrp (usrgrpid) ON DELETE CASCADE 3723/ 3724ALTER TABLE users_groups ADD CONSTRAINT c_users_groups_2 FOREIGN KEY (userid) REFERENCES users (userid) ON DELETE CASCADE 3725/ 3726ALTER TABLE users ALTER COLUMN userid SET WITH DEFAULT NULL 3727/ 3728REORG TABLE users 3729/ 3730ALTER TABLE users ALTER COLUMN lang SET WITH DEFAULT 'en_GB' 3731/ 3732REORG TABLE users 3733/ 3734ALTER TABLE users ALTER COLUMN theme SET WITH DEFAULT 'default' 3735/ 3736REORG TABLE users 3737/ 3738UPDATE users SET lang = 'zh_CN' WHERE lang = 'cn_zh' 3739/ 3740UPDATE users SET lang = 'es_ES' WHERE lang = 'sp_sp' 3741/ 3742UPDATE users SET lang = 'en_GB' WHERE lang = 'en_gb' 3743/ 3744UPDATE users SET lang = 'cs_CZ' WHERE lang = 'cs_cz' 3745/ 3746UPDATE users SET lang = 'nl_NL' WHERE lang = 'nl_nl' 3747/ 3748UPDATE users SET lang = 'fr_FR' WHERE lang = 'fr_fr' 3749/ 3750UPDATE users SET lang = 'de_DE' WHERE lang = 'de_de' 3751/ 3752UPDATE users SET lang = 'hu_HU' WHERE lang = 'hu_hu' 3753/ 3754UPDATE users SET lang = 'ko_KR' WHERE lang = 'ko_kr' 3755/ 3756UPDATE users SET lang = 'ja_JP' WHERE lang = 'ja_jp' 3757/ 3758UPDATE users SET lang = 'lv_LV' WHERE lang = 'lv_lv' 3759/ 3760UPDATE users SET lang = 'pl_PL' WHERE lang = 'pl_pl' 3761/ 3762UPDATE users SET lang = 'pt_BR' WHERE lang = 'pt_br' 3763/ 3764UPDATE users SET lang = 'ru_RU' WHERE lang = 'ru_ru' 3765/ 3766UPDATE users SET lang = 'sv_SE' WHERE lang = 'sv_se' 3767/ 3768UPDATE users SET lang = 'uk_UA' WHERE lang = 'ua_ua' 3769/ 3770 3771UPDATE users SET theme = 'darkblue' WHERE theme = 'css_bb.css' 3772/ 3773UPDATE users SET theme = 'originalblue' WHERE theme = 'css_ob.css' 3774/ 3775UPDATE users SET theme = 'darkorange' WHERE theme = 'css_od.css' 3776/ 3777UPDATE users SET theme = 'default' WHERE theme = 'default.css' 3778/ 3779ALTER TABLE usrgrp ALTER COLUMN usrgrpid SET WITH DEFAULT NULL 3780/ 3781REORG TABLE usrgrp 3782/ 3783ALTER TABLE usrgrp DROP COLUMN api_access 3784/ 3785REORG TABLE usrgrp 3786/ 3787ALTER TABLE valuemaps ALTER COLUMN valuemapid SET WITH DEFAULT NULL 3788/ 3789REORG TABLE valuemaps 3790/ 3791