mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
refactor: schema updates (#6370)
Test the schema files with STRICT_TRANS_TABLES and fix any issues
This commit is contained in:
committed by
Neil Lathwood
parent
c5c643f901
commit
72ce39cf9b
@@ -1103,7 +1103,7 @@ function version_info($remote = true)
|
|||||||
$output['local_date'] = $local_date;
|
$output['local_date'] = $local_date;
|
||||||
$output['local_branch'] = rtrim(`git rev-parse --abbrev-ref HEAD`);
|
$output['local_branch'] = rtrim(`git rev-parse --abbrev-ref HEAD`);
|
||||||
}
|
}
|
||||||
$output['db_schema'] = dbFetchCell('SELECT version FROM dbSchema');
|
$output['db_schema'] = get_db_schema();
|
||||||
$output['php_ver'] = phpversion();
|
$output['php_ver'] = phpversion();
|
||||||
$output['mysql_ver'] = dbFetchCell('SELECT version()');
|
$output['mysql_ver'] = dbFetchCell('SELECT version()');
|
||||||
$output['rrdtool_ver'] = implode(' ', array_slice(explode(' ', shell_exec($config['rrdtool'].' --version |head -n1')), 1, 1));
|
$output['rrdtool_ver'] = implode(' ', array_slice(explode(' ', shell_exec($config['rrdtool'].' --version |head -n1')), 1, 1));
|
||||||
|
|||||||
@@ -2267,3 +2267,49 @@ function index_schema_to_sql($index_data)
|
|||||||
|
|
||||||
return sprintf($index, $columns);
|
return sprintf($index, $columns);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an array of the schema files.
|
||||||
|
* schema_version => full_file_name
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
function get_schema_list()
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
// glob returns an array sorted by filename
|
||||||
|
$files = glob($config['install_dir'].'/sql-schema/*.sql');
|
||||||
|
|
||||||
|
// set the keys to the db schema version
|
||||||
|
return array_reduce($files, function ($array, $file) {
|
||||||
|
$array[basename($file, '.sql')] = $file;
|
||||||
|
return $array;
|
||||||
|
}, array());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current database schema, will return 0 if there is no schema.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
function get_db_schema()
|
||||||
|
{
|
||||||
|
return (int)@dbFetchCell('SELECT version FROM `dbSchema` ORDER BY version DESC LIMIT 1');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the database schema is up to date.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function db_schema_is_current()
|
||||||
|
{
|
||||||
|
$current = get_db_schema();
|
||||||
|
|
||||||
|
$schemas = get_schema_list();
|
||||||
|
end($schemas);
|
||||||
|
$latest = key($schemas);
|
||||||
|
|
||||||
|
return $current >= $latest;
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,51 +21,24 @@ if (!isset($debug) && php_sapi_name() == 'cli') {
|
|||||||
require realpath(__DIR__ . '/../..') . '/includes/init.php';
|
require realpath(__DIR__ . '/../..') . '/includes/init.php';
|
||||||
|
|
||||||
$options = getopt('d');
|
$options = getopt('d');
|
||||||
if (isset($options['d'])) {
|
$debug = isset($options['d']);
|
||||||
$debug = true;
|
|
||||||
} else {
|
|
||||||
$debug = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$insert = 0;
|
if (db_schema_is_current()) {
|
||||||
|
d_echo("DB Schema already up to date.\n");
|
||||||
if ($db_rev = @dbFetchCell('SELECT version FROM `dbSchema` ORDER BY version DESC LIMIT 1')) {
|
|
||||||
} else {
|
|
||||||
$db_rev = 0;
|
|
||||||
$insert = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$updating = 0;
|
|
||||||
|
|
||||||
$include_dir_regexp = '/\.sql$/';
|
|
||||||
|
|
||||||
if ($handle = opendir($config['install_dir'].'/sql-schema')) {
|
|
||||||
while (false !== ($file = readdir($handle))) {
|
|
||||||
if (filetype($config['install_dir'].'/sql-schema/'.$file) == 'file' && preg_match($include_dir_regexp, $file)) {
|
|
||||||
$filelist[] = $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
closedir($handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
asort($filelist);
|
|
||||||
$tmp = explode('.', max($filelist), 2);
|
|
||||||
if ($tmp[0] <= $db_rev) {
|
|
||||||
if ($debug) {
|
|
||||||
echo "DB Schema already up to date.\n";
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set Database Character set and Collation
|
// Set Database Character set and Collation
|
||||||
dbQuery('ALTER DATABASE ? CHARACTER SET utf8 COLLATE utf8_unicode_ci;', array(array($config['db_name'])));
|
dbQuery('ALTER DATABASE ? CHARACTER SET utf8 COLLATE utf8_unicode_ci;', array(array($config['db_name'])));
|
||||||
|
|
||||||
|
$db_rev = get_db_schema();
|
||||||
|
$insert = ($db_rev == 0); // if $db_rev == 0, insert the first update
|
||||||
|
|
||||||
|
$updating = 0;
|
||||||
$limit = 150; //magic marker far enough in the future
|
$limit = 150; //magic marker far enough in the future
|
||||||
foreach ($filelist as $file) {
|
foreach (get_schema_list() as $file_rev => $file) {
|
||||||
list($filename,$extension) = explode('.', $file, 2);
|
if ($file_rev > $db_rev) {
|
||||||
if ($filename > $db_rev) {
|
|
||||||
if (isset($_SESSION['stage'])) {
|
if (isset($_SESSION['stage'])) {
|
||||||
$limit++;
|
$limit++;
|
||||||
if (time()-$_SESSION['last'] > 45) {
|
if (time()-$_SESSION['last'] > 45) {
|
||||||
@@ -79,27 +52,18 @@ foreach ($filelist as $file) {
|
|||||||
echo "-- Updating database schema\n";
|
echo "-- Updating database schema\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo sprintf('%03d', $db_rev).' -> '.sprintf('%03d', $filename).' ...';
|
printf('%03d -> %03d ...', $db_rev, $file_rev);
|
||||||
|
|
||||||
$err = 0;
|
$err = 0;
|
||||||
|
if ($data = file_get_contents($file)) {
|
||||||
if ($fd = @fopen($config['install_dir'].'/sql-schema/'.$file, 'r')) {
|
|
||||||
$data = fread($fd, 4096);
|
|
||||||
while (!feof($fd)) {
|
|
||||||
$data .= fread($fd, 4096);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (explode("\n", $data) as $line) {
|
foreach (explode("\n", $data) as $line) {
|
||||||
if (trim($line)) {
|
if (trim($line)) {
|
||||||
d_echo("$line \n");
|
d_echo("$line \n");
|
||||||
|
|
||||||
if ($line[0] != '#') {
|
if ($line[0] != '#') {
|
||||||
$update = mysqli_query($database_link, $line);
|
if (!mysqli_query($database_link, $line)) {
|
||||||
if (!$update) {
|
|
||||||
$err++;
|
$err++;
|
||||||
if ($debug) {
|
d_echo(mysqli_error($database_link) . PHP_EOL);
|
||||||
echo mysqli_error($database_link)."\n";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,14 +71,14 @@ foreach ($filelist as $file) {
|
|||||||
|
|
||||||
echo " done ($err errors).\n";
|
echo " done ($err errors).\n";
|
||||||
} else {
|
} else {
|
||||||
echo " Could not open file!\n";
|
echo " Could not open file! $file\n";
|
||||||
}//end if
|
}//end if
|
||||||
|
|
||||||
$updating++;
|
$updating++;
|
||||||
$db_rev = $filename;
|
$db_rev = $file_rev;
|
||||||
if ($insert) {
|
if ($insert) {
|
||||||
dbInsert(array('version' => $db_rev), 'dbSchema');
|
dbInsert(array('version' => $db_rev), 'dbSchema');
|
||||||
$insert = 0;
|
$insert = false;
|
||||||
} else {
|
} else {
|
||||||
dbUpdate(array('version' => $db_rev), 'dbSchema');
|
dbUpdate(array('version' => $db_rev), 'dbSchema');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ $poller_start = microtime(true);
|
|||||||
echo "Starting Polling Session ... \n\n";
|
echo "Starting Polling Session ... \n\n";
|
||||||
|
|
||||||
// Wait for schema update, as running during update can break update
|
// Wait for schema update, as running during update can break update
|
||||||
$dbVersion = dbFetchCell('SELECT version FROM dbSchema');
|
$dbVersion = get_db_schema();
|
||||||
if ($dbVersion < 107) {
|
if ($dbVersion < 107) {
|
||||||
logfile("BILLING: Cannot continue until dbSchema update to >= 107 is complete");
|
logfile("BILLING: Cannot continue until the database schema update to >= 107 is complete");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
insert into config (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) values ('alert.macros.rule.sensor','(%sensors.sensor_alert = 1)','(%sensors.sensor_alert = 1)','Sensors of interest','alerting',0,'macros',0,1,0);
|
insert into `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) values ('alert.macros.rule.sensor','(%sensors.sensor_alert = 1)','(%sensors.sensor_alert = 1)','Sensors of interest','alerting',0,'macros',0,'1','0')
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
CREATE TABLE IF NOT EXISTS `device_perf` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `timestamp` datetime NOT NULL, `xmt` float NOT NULL, `rcv` float NOT NULL, `loss` float NOT NULL, `min` float NOT NULL, `max` float NOT NULL, `avg` float NOT NULL, KEY `id` (`id`,`device_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
CREATE TABLE IF NOT EXISTS `device_perf` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `timestamp` datetime NOT NULL, `xmt` float NOT NULL, `rcv` float NOT NULL, `loss` float NOT NULL, `min` float NOT NULL, `max` float NOT NULL, `avg` float NOT NULL, KEY `id` (`id`,`device_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
||||||
insert into config (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) values ('alert.macros.rule.packet_loss_15m','(%macros.past_15m && %device_perf.loss)','(%macros.past_15m && %device_perf.loss)','Packet loss over the last 15 minutes','alerting',0,'macros',0,1,0);
|
insert into config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) values ('alert.macros.rule.packet_loss_15m','(%macros.past_15m && %device_perf.loss)','(%macros.past_15m && %device_perf.loss)','Packet loss over the last 15 minutes','alerting',0,'macros',0,'1','0');
|
||||||
insert into config (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) values ('alert.macros.rule.packet_loss_5m','(%macros.past_5m && %device_perf.loss)','(%macros.past_5m && %device_perf.loss)','Packet loss over the last 5 minutes','alerting',0,'macros',0,1,0);
|
insert into config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) values ('alert.macros.rule.packet_loss_5m','(%macros.past_5m && %device_perf.loss)','(%macros.past_5m && %device_perf.loss)','Packet loss over the last 5 minutes','alerting',0,'macros',0,'1','0');
|
||||||
ALTER TABLE `devices` ADD `status_reason` VARCHAR( 50 ) NOT NULL AFTER `status` ;
|
ALTER TABLE `devices` ADD `status_reason` VARCHAR( 50 ) NOT NULL AFTER `status` ;
|
||||||
UPDATE `devices` SET `status_reason`='down' WHERE `status`=0;
|
UPDATE `devices` SET `status_reason`='down' WHERE `status`=0;
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_users', 'firewall', 'Active Users', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_users', 'firewall', 'Active Users', 0);
|
||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_sessions', 'firewall', 'Active Sessions', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_sessions', 'firewall', 'Active Sessions', 0);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
INSERT INTO config VALUES ('','alert.transports.canopsis.user','','','Canopsis User','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.canopsis.user','','','Canopsis User','alerting',0, 'transports', 0, '0', '0');
|
||||||
INSERT INTO config VALUES ('','alert.transports.canopsis.passwd','','','Canopsis Password','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.canopsis.passwd','','','Canopsis Password','alerting',0, 'transports', 0, '0', '0');
|
||||||
INSERT INTO config VALUES ('','alert.transports.canopsis.host','','','Canopsis Hostname','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.canopsis.host','','','Canopsis Hostname','alerting',0, 'transports', 0, '0', '0');
|
||||||
INSERT INTO config VALUES ('','alert.transports.canopsis.vhost','','','Canopsis vHost','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.canopsis.vhost','','','Canopsis vHost','alerting',0, 'transports', 0, '0', '0');
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO config VALUES ('','alert.transports.canopsis.port','','','Canopsis Port number','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.canopsis.port','','','Canopsis Port number','alerting',0, 'transports', 0, '0', '0');
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
CREATE TABLE IF NOT EXISTS `route` ( `device_id` int(11) NOT NULL, `context_name` varchar(128) CHARACTER SET utf8 collate utf8_general_ci not null, `ipRouteDest` varchar(256) not null, `ipRouteIfIndex` varchar(256), `ipRouteMetric` varchar(256) not null, `ipRouteNextHop` varchar(256) not null, `ipRouteType` varchar(256) not null, `ipRouteProto` varchar(256) not null, `discoveredAt` int(11) NOT NULL, `ipRouteMask` varchar(256) not null ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
CREATE TABLE IF NOT EXISTS `route` ( `device_id` int(11) NOT NULL, `context_name` varchar(128) CHARACTER SET utf8 collate utf8_general_ci not null, `ipRouteDest` varchar(256) not null, `ipRouteIfIndex` varchar(256), `ipRouteMetric` varchar(256) not null, `ipRouteNextHop` varchar(256) not null, `ipRouteType` varchar(256) not null, `ipRouteProto` varchar(256) not null, `discoveredAt` int(11) NOT NULL, `ipRouteMask` varchar(256) not null, INDEX `device` (`device_id` ASC, `context_name` ASC, `ipRouteDest`(255) ASC, `ipRouteNextHop` ASC) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
ALTER TABLE `route` ADD INDEX `device` (`device_id` ASC, `context_name` ASC, `ipRouteDest`(255) ASC, `ipRouteNextHop` ASC);
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.port_in_usage_perc','((%ports.ifInOctets_rate*8)/%ports.ifSpeed)*100','((%ports.ifInOctets_rate*8)/%ports.ifSpeed)*100','Ports using more than X perc of capacity IN','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.port_in_usage_perc','((%ports.ifInOctets_rate*8)/%ports.ifSpeed)*100','((%ports.ifInOctets_rate*8)/%ports.ifSpeed)*100','Ports using more than X perc of capacity IN','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.port_out_usage_perc','((%ports.ifOutOctets_rate*8)/%ports.ifSpeed)*100','((%ports.ifOutOctets_rate*8)/%ports.ifSpeed)*100','Ports using more than X perc of capacity OUT','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.port_out_usage_perc','((%ports.ifOutOctets_rate*8)/%ports.ifSpeed)*100','((%ports.ifOutOctets_rate*8)/%ports.ifSpeed)*100','Ports using more than X perc of capacity OUT','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.port_now_down','%ports.ifOperStatus != %ports.ifOperStatus_prev && %ports.ifOperStatus_prev = "up" && %ports.ifAdminStatus = "up"','%ports.ifOperStatus != %ports.ifOperStatus_prev && %ports.ifOperStatus_prev = "up" && %ports.ifAdminStatus = "up"','Port has gone down','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.port_now_down','%ports.ifOperStatus != %ports.ifOperStatus_prev && %ports.ifOperStatus_prev = "up" && %ports.ifAdminStatus = "up"','%ports.ifOperStatus != %ports.ifOperStatus_prev && %ports.ifOperStatus_prev = "up" && %ports.ifAdminStatus = "up"','Port has gone down','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.device_component_down_junos','%sensors.sensor_class = "state" && %sensors.sensor_current != "6" && %sensors.sensor_type = "jnxFruState" && %sensors.sensor_current != "2"','%sensors.sensor_class = "state" && %sensors.sensor_current != "6" && %sensors.sensor_type = "jnxFruState" && %sensors.sensor_current != "2"','Device Component down [JunOS]','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.device_component_down_junos','%sensors.sensor_class = "state" && %sensors.sensor_current != "6" && %sensors.sensor_type = "jnxFruState" && %sensors.sensor_current != "2"','%sensors.sensor_class = "state" && %sensors.sensor_current != "6" && %sensors.sensor_type = "jnxFruState" && %sensors.sensor_current != "2"','Device Component down [JunOS]','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.device_component_down_cisco','%sensors.sensor_current != "1" && %sensors.sensor_current != "5" && %sensors.sensor_type ~ "^cisco.*State$"','%sensors.sensor_current != "1" && %sensors.sensor_current != "5" && %sensors.sensor_type ~ "^cisco.*State$"','Device Component down [Cisco]','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.device_component_down_cisco','%sensors.sensor_current != "1" && %sensors.sensor_current != "5" && %sensors.sensor_type ~ "^cisco.*State$"','%sensors.sensor_current != "1" && %sensors.sensor_current != "5" && %sensors.sensor_type ~ "^cisco.*State$"','Device Component down [Cisco]','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.pdu_over_amperage_apc','%sensors.sensor_class = "current" && %sensors.sensor_descr = "Bank Total" && %sensors.sensor_current > %sensors.sensor_limit && %devices.os = "apc"','%sensors.sensor_class = "current" && %sensors.sensor_descr = "Bank Total" && %sensors.sensor_current > %sensors.sensor_limit && %devices.os = "apc"','PDU Over Amperage [APC]','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.pdu_over_amperage_apc','%sensors.sensor_class = "current" && %sensors.sensor_descr = "Bank Total" && %sensors.sensor_current > %sensors.sensor_limit && %devices.os = "apc"','%sensors.sensor_class = "current" && %sensors.sensor_descr = "Bank Total" && %sensors.sensor_current > %sensors.sensor_limit && %devices.os = "apc"','PDU Over Amperage [APC]','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','BGP Sessions.','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed\\r\\n{/if}\nTimestamp: %timestamp\\r\\n\nUnique-ID: %uid\\r\\n\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\n#%key: %value.string\\r\\n\nPeer: %value.astext\\r\\n\nPeer IP: %value.bgpPeerIdentifier\\r\\n\nPeer AS: %value.bgpPeerRemoteAs\\r\\n\nPeer EstTime: %value.bgpPeerFsmEstablishedTime\\r\\n\nPeer State: %value.bgpPeerState\\r\\n\n{/foreach}\n{/if}','','');
|
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','BGP Sessions.','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed\\r\\n{/if}\nTimestamp: %timestamp\\r\\n\nUnique-ID: %uid\\r\\n\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\n#%key: %value.string\\r\\n\nPeer: %value.astext\\r\\n\nPeer IP: %value.bgpPeerIdentifier\\r\\n\nPeer AS: %value.bgpPeerRemoteAs\\r\\n\nPeer EstTime: %value.bgpPeerFsmEstablishedTime\\r\\n\nPeer State: %value.bgpPeerState\\r\\n\n{/foreach}\n{/if}','','');
|
||||||
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','Ports','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed{/if}\nTimestamp: %timestamp\nUnique-ID: %uid\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\\r\\n\n#%key: %value.string\\r\\n\nPort: %value.ifName\\r\\n\nPort Name: %value.ifAlias\\r\\n\nPort Status: %value.message\\r\\n\n{/foreach}\\r\\n\n{/if}\n','','');
|
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','Ports','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed{/if}\nTimestamp: %timestamp\nUnique-ID: %uid\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\\r\\n\n#%key: %value.string\\r\\n\nPort: %value.ifName\\r\\n\nPort Name: %value.ifAlias\\r\\n\nPort Status: %value.message\\r\\n\n{/foreach}\\r\\n\n{/if}\n','','');
|
||||||
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','Temperature','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed{/if}\\r\\n\nTimestamp: %timestamp\\r\\n\nUnique-ID: %uid\\r\\n\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\\r\\n\n#%key: %value.string\\r\\n\nTemperature: %value.sensor_current\\r\\n\nPrevious Measurement: %value.sensor_prev\\r\\n\n{/foreach}\\r\\n\n{/if}','','');
|
INSERT INTO `alert_templates` (`rule_id`, `name`, `template`, `title`, `title_rec`) VALUES (',','Temperature','%title\\r\\n\nSeverity: %severity\\r\\n\n{if %state == 0}Time elapsed: %elapsed{/if}\\r\\n\nTimestamp: %timestamp\\r\\n\nUnique-ID: %uid\\r\\n\nRule: {if %name}%name{else}%rule{/if}\\r\\n\n{if %faults}Faults:\\r\\n\n{foreach %faults}\\r\\n\n#%key: %value.string\\r\\n\nTemperature: %value.sensor_current\\r\\n\nPrevious Measurement: %value.sensor_prev\\r\\n\n{/foreach}\\r\\n\n{/if}','','');
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'waas_cwotfostatsactiveoptconn', 'graphs', 'Optimized TCP Connections', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'waas_cwotfostatsactiveoptconn', 'graphs', 'Optimized TCP Connections', 0);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_activetunnels', 'firewall', 'Active GlobalProtect Tunnels', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_activetunnels', 'firewall', 'Active GlobalProtect Tunnels', 0);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'sonicwall_sessions', 'firewall', 'Active Sessions', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'sonicwall_sessions', 'firewall', 'Active Sessions', 0);
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
INSERT INTO config VALUES ('','alert.transports.osticket.url','','','osTicket API URL','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.osticket.url','','','osTicket API URL','alerting',0, 'transports', 0, '0', '0');
|
||||||
INSERT INTO config VALUES ('','alert.transports.osticket.token','','','osTicket API Token','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.osticket.token','','','osTicket API Token','alerting',0, 'transports', 0, '0', '0');
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'zywall_sessions', 'firewall', 'Sessions', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'zywall_sessions', 'firewall', 'Sessions', 0);
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.bill_quota_over_quota','((%bills.total_data/%bills.bill_quota) * 100) && %bills.bill_type = "quota"','((%bills.total_data/%bills.bill_quota) * 100) && %bills.bill_type = "quota"','Quota bills over X perc of quota','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.bill_quota_over_quota','((%bills.total_data/%bills.bill_quota) * 100) && %bills.bill_type = "quota"','((%bills.total_data/%bills.bill_quota) * 100) && %bills.bill_type = "quota"','Quota bills over X perc of quota','alerting',0,'macros',0,'1','0');
|
||||||
INSERT INTO `config` (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) VALUES ('alert.macros.rule.bill_cdr_over_quota','((%bills.rate_95th/%bills.bill_cdr) * 100) && %bills.bill_type = "cdr"','((%bills.rate_95th/%bills.bill_cdr) * 100) && %bills.bill_type = "cdr"','CDR bills over X perc of quota','alerting',0,'macros',0,1,0);
|
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.macros.rule.bill_cdr_over_quota','((%bills.rate_95th/%bills.bill_cdr) * 100) && %bills.bill_type = "cdr"','((%bills.rate_95th/%bills.bill_cdr) * 100) && %bills.bill_type = "cdr"','CDR bills over X perc of quota','alerting',0,'macros',0,'1','0');
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
INSERT INTO config VALUES ('','alert.transports.msteams.url','','','Microsoft Teams Webhook URL','alerting',0, 'transports', 0, 0, 0);
|
INSERT INTO config (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES ('alert.transports.msteams.url','','','Microsoft Teams Webhook URL','alerting',0, 'transports', 0, '0', '0');
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'sgos_average_requests', 'network', 'Average HTTP Requests', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'sgos_average_requests', 'network', 'Average HTTP Requests', 0);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_connections', 'network', 'Connections', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_connections', 'network', 'Connections', 0);
|
||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_optimization', 'network', 'Optimization', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_optimization', 'network', 'Optimization', 0);
|
||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_datastore', 'network', 'Datastore productivity', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_datastore', 'network', 'Datastore productivity', 0);
|
||||||
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_passthrough', 'network', 'Bandwidth passthrough', '');
|
INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'riverbed_passthrough', 'network', 'Bandwidth passthrough', 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user