mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* breakout handling of suricata extend v. 1 returns * initial work for suricata 7.0.0 * add shared file for various Suricata related variables * update handling for new Suricata stuff * fix suricata rrd name bits * update suricata app page a bit * misc * add a new v2 suricata graph * more suricata v2 graphs * fix app data for suricata * more graph work * fix initial graphs * the page selector for suricata v2 * more cleanup for suricata stuff * add more graphs * add suricata_v2_pkt_drop.inc.php * add suricata_v2_error_delta.inc.php * add suricata app layer flows graph * add app layer tx * start work on bypassed * add flow bypass stuff * add suricata error stuff * add more graphs * more suricata v2 work * ... * add packets overview * cleanup suricata_packets_overview.inc.php * more work on the overview graphs * error delta is now per second * cleanup suricata_v2_app_layer_error_alloc.inc.php * add new flow proto stuff * add suricata_v2_flow_proto * add new overview graph * update v2 app layer flows graph * more v2 graph cleanup * suricata graph cleanup * suricata_dec_proto_overview now works * more graph work for suricata * more graph work * add another overview graph * snmp fix * add a new overview graph * add a new over view * more graph stuff * more memory graphs * tidy pages bit * more work on decoder stuff * more decoder work * decoder stuff done * cleanup suricata_packets_overview.inc.php * appl layer tx work * add app flow stuff * fix suricata_v2_decoder__event__ethernet.inc.php * fix suricata_v2_decoder__event__ipv4.inc.php * fix suricata_v2_decoder__event__ipv6.inc.php * add alloc error stuff * more error related work * more error stuff * start work on internal errors * add internal error graphs * parser error stuff done * more decoder work * decoder icmpv4 * more decoder work * ltnull done * mpls decoder stuff * nsh decoder work * decoder ppp done * more decoder work * more decoder work * more vlan work * vntag decoder stuff done * descr_len auto set for generic stats * ipv6 decoder stuff done * style fix * style fix * more style cleanup * more suricata graph work * fix require usage * tweak drop info a bit * add some checks for for with suricata 7.0.4 * more suricata tweaks * fix sagan instance handling * another minor fix * fix improper munging * rever something accidentally added to this repo * add linux_suricata-v2.snmprex * rename the metrics for instances from instance_ to instances_ * add linux_suricata-v2.json test data * style fix * minor munging tweak * style cleanup * some app data fixes * remove a typo from test data * add deleted_at and make sure discovered is numeric and not a string 1 * derp... json fix * remove something accidentally added * fix a small erorr in the test data * add a missing variable to the test data * try another tweak for suricata json test stuff * derp... fix a type in the suricata poller * revert a test data change * re-order some the metrics in the test * some more metric re-ordering * add a missing status * remove something that was accidentally added to this branch instead of another * strcmp cleanup * style fix
134 lines
8.0 KiB
PHP
134 lines
8.0 KiB
PHP
<?php
|
|
|
|
$name = 'suricata';
|
|
$unit_text = 'flow ends/s';
|
|
$colours = 'psychedelic';
|
|
$dostack = 0;
|
|
$printtotal = 0;
|
|
$addarea = 0;
|
|
$transparency = 15;
|
|
|
|
if (isset($vars['sinstance'])) {
|
|
$flow__end__state__closed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__state__closed']);
|
|
$flow__end__state__established_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__state__established']);
|
|
$flow__end__state__local_bypassed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__state__local_bypassed']);
|
|
$flow__end__state__new_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__state__new']);
|
|
$flow__end__tcp_liberal_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_liberal']);
|
|
$flow__end__tcp_state__close_wait_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__close_wait']);
|
|
$flow__end__tcp_state__closed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__closed']);
|
|
$flow__end__tcp_state__closing_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__closing']);
|
|
$flow__end__tcp_state__established_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__established']);
|
|
$flow__end__tcp_state__fin_wait1_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__fin_wait1']);
|
|
$flow__end__tcp_state__fin_wait2_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__fin_wait2']);
|
|
$flow__end__tcp_state__last_ack_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__last_ack']);
|
|
$flow__end__tcp_state__none_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__none']);
|
|
$flow__end__tcp_state__syn_recv_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__syn_recv']);
|
|
$flow__end__tcp_state__syn_sent_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__syn_sent']);
|
|
$flow__end__tcp_state__time_wait_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'instance_' . $vars['sinstance'] . '___flow__end__tcp_state__time_wait']);
|
|
} else {
|
|
$flow__end__state__closed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__state__closed']);
|
|
$flow__end__state__established_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__state__established']);
|
|
$flow__end__state__local_bypassed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__state__local_bypassed']);
|
|
$flow__end__state__new_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__state__new']);
|
|
$flow__end__tcp_liberal_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_liberal']);
|
|
$flow__end__tcp_state__close_wait_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__close_wait']);
|
|
$flow__end__tcp_state__closed_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__closed']);
|
|
$flow__end__tcp_state__closing_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__closing']);
|
|
$flow__end__tcp_state__established_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__established']);
|
|
$flow__end__tcp_state__fin_wait1_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__fin_wait1']);
|
|
$flow__end__tcp_state__fin_wait2_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__fin_wait2']);
|
|
$flow__end__tcp_state__last_ack_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__last_ack']);
|
|
$flow__end__tcp_state__none_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__none']);
|
|
$flow__end__tcp_state__syn_recv_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__syn_recv']);
|
|
$flow__end__tcp_state__syn_sent_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__syn_sent']);
|
|
$flow__end__tcp_state__time_wait_rrd_filename = Rrd::name($device['hostname'], ['app', $name, $app->app_id, 'totals___flow__end__tcp_state__time_wait']);
|
|
}
|
|
|
|
$rrd_list = [];
|
|
if (Rrd::checkRrdExists($flow__end__state__closed_rrd_filename)) {
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__state__closed_rrd_filename,
|
|
'descr' => 'State Closed',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__state__established_rrd_filename,
|
|
'descr' => 'State Established',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__state__local_bypassed_rrd_filename,
|
|
'descr' => 'Local Bypass',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__state__new_rrd_filename,
|
|
'descr' => 'New',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_liberal_rrd_filename,
|
|
'descr' => 'TCP Liberal',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__close_wait_rrd_filename,
|
|
'descr' => 'TCP Close Wait',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__closed_rrd_filename,
|
|
'descr' => 'TCP Closed',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__closing_rrd_filename,
|
|
'descr' => 'TCP Closing',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__established_rrd_filename,
|
|
'descr' => 'TCP Established',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__fin_wait1_rrd_filename,
|
|
'descr' => 'TCP Fin Wait1',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__fin_wait2_rrd_filename,
|
|
'descr' => 'TCP Fin Wait2',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__last_ack_rrd_filename,
|
|
'descr' => 'TCP Last Act',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__none_rrd_filename,
|
|
'descr' => 'TCP None',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__syn_recv_rrd_filename,
|
|
'descr' => 'TCP Syn Recv',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__syn_sent_rrd_filename,
|
|
'descr' => 'TCP Syn Sent',
|
|
'ds' => 'data',
|
|
];
|
|
$rrd_list[] = [
|
|
'filename' => $flow__end__tcp_state__time_wait_rrd_filename,
|
|
'descr' => 'TCP Time Wait',
|
|
'ds' => 'data',
|
|
];
|
|
} else {
|
|
d_echo('RRD "' . $rrd_filename . '" not found');
|
|
}
|
|
|
|
require 'includes/html/graphs/generic_multi_line.inc.php';
|