I am trying to modify the queue page and running into some issues. i would like to add a couple more columns to the page (30 minutes, 1hr, 12 hours and 1day). I found the queue.php file and tried adding just one additional column to the overview section and it complained about an index not being defined. Now, I'm not php guru but I felt like I added the delay1800 in all of the right places to add this column but obviously i'm missing something. Has anyone else ever done this? if so are there additional definitions in other php files that I need to make? Here is the code from the overview section only:
// overview
if ($config == QUEUE_OVERVIEW) {
$itemTypes = [
ITEM_TYPE_ZABBIX,
ITEM_TYPE_ZABBIX_ACTIVE,
ITEM_TYPE_SIMPLE,
ITEM_TYPE_SNMPV1,
ITEM_TYPE_SNMPV2C,
ITEM_TYPE_SNMPV3,
ITEM_TYPE_INTERNAL,
ITEM_TYPE_AGGREGATE,
ITEM_TYPE_EXTERNAL,
ITEM_TYPE_DB_MONITOR,
ITEM_TYPE_IPMI,
ITEM_TYPE_SSH,
ITEM_TYPE_TELNET,
ITEM_TYPE_JMX,
ITEM_TYPE_CALCULATED
];
$table->setHeader([
_('Items'),
_('5 seconds'),
_('10 seconds'),
_('30 seconds'),
_('1 minute'),
_('5 minutes'),
_('10 minutes'),
_('More than 30 minutes')
]);
$queueData = zbx_toHash($queueData, 'itemtype');
foreach ($itemTypes as $type) {
if (isset($queueData[$type])) {
$itemTypeData = $queueData[$type];
}
else {
$itemTypeData = [
'delay5' => 0,
'delay10' => 0,
'delay30' => 0,
'delay60' => 0,
'delay300' => 0,
'delay600' => 0,
'delay1800' => 0
];
}
$table->addRow([
item_type2str($type),
getSeverityCell(TRIGGER_SEVERITY_NOT_CLASSIFIED, $severityConfig, $itemTypeData['delay5'],
!$itemTypeData['delay5']
),
getSeverityCell(TRIGGER_SEVERITY_INFORMATION, $severityConfig, $itemTypeData['delay10'],
!$itemTypeData['delay10']
),
getSeverityCell(TRIGGER_SEVERITY_WARNING, $severityConfig, $itemTypeData['delay30'],
!$itemTypeData['delay30']
),
getSeverityCell(TRIGGER_SEVERITY_AVERAGE, $severityConfig, $itemTypeData['delay60'],
!$itemTypeData['delay60']
),
getSeverityCell(TRIGGER_SEVERITY_HIGH, $severityConfig, $itemTypeData['delay300'],
!$itemTypeData['delay300']
),
getSeverityCell(TRIGGER_SEVERITY_DISASTER, $severityConfig, $itemTypeData['delay600'],
!$itemTypeData['delay600']
)
getSeverityCell(TRIGGER_SEVERITY_DISASTER, $severityConfig, $itemTypeData['delay1800'],
!$itemTypeData['delay1800']
)
]);
}
}
// overview
if ($config == QUEUE_OVERVIEW) {
$itemTypes = [
ITEM_TYPE_ZABBIX,
ITEM_TYPE_ZABBIX_ACTIVE,
ITEM_TYPE_SIMPLE,
ITEM_TYPE_SNMPV1,
ITEM_TYPE_SNMPV2C,
ITEM_TYPE_SNMPV3,
ITEM_TYPE_INTERNAL,
ITEM_TYPE_AGGREGATE,
ITEM_TYPE_EXTERNAL,
ITEM_TYPE_DB_MONITOR,
ITEM_TYPE_IPMI,
ITEM_TYPE_SSH,
ITEM_TYPE_TELNET,
ITEM_TYPE_JMX,
ITEM_TYPE_CALCULATED
];
$table->setHeader([
_('Items'),
_('5 seconds'),
_('10 seconds'),
_('30 seconds'),
_('1 minute'),
_('5 minutes'),
_('10 minutes'),
_('More than 30 minutes')
]);
$queueData = zbx_toHash($queueData, 'itemtype');
foreach ($itemTypes as $type) {
if (isset($queueData[$type])) {
$itemTypeData = $queueData[$type];
}
else {
$itemTypeData = [
'delay5' => 0,
'delay10' => 0,
'delay30' => 0,
'delay60' => 0,
'delay300' => 0,
'delay600' => 0,
'delay1800' => 0
];
}
$table->addRow([
item_type2str($type),
getSeverityCell(TRIGGER_SEVERITY_NOT_CLASSIFIED, $severityConfig, $itemTypeData['delay5'],
!$itemTypeData['delay5']
),
getSeverityCell(TRIGGER_SEVERITY_INFORMATION, $severityConfig, $itemTypeData['delay10'],
!$itemTypeData['delay10']
),
getSeverityCell(TRIGGER_SEVERITY_WARNING, $severityConfig, $itemTypeData['delay30'],
!$itemTypeData['delay30']
),
getSeverityCell(TRIGGER_SEVERITY_AVERAGE, $severityConfig, $itemTypeData['delay60'],
!$itemTypeData['delay60']
),
getSeverityCell(TRIGGER_SEVERITY_HIGH, $severityConfig, $itemTypeData['delay300'],
!$itemTypeData['delay300']
),
getSeverityCell(TRIGGER_SEVERITY_DISASTER, $severityConfig, $itemTypeData['delay600'],
!$itemTypeData['delay600']
)
getSeverityCell(TRIGGER_SEVERITY_DISASTER, $severityConfig, $itemTypeData['delay1800'],
!$itemTypeData['delay1800']
)
]);
}
}