diff --git a/html/includes/graphs/device/panos_sessions_icmp.inc.php b/html/includes/graphs/device/panos_sessions_icmp.inc.php
new file mode 100644
index 0000000000..511096d4fa
--- /dev/null
+++ b/html/includes/graphs/device/panos_sessions_icmp.inc.php
@@ -0,0 +1,16 @@
+addDataset('sessions', 'GAUGE', 0, 3000000);
@@ -22,7 +28,70 @@ if (is_numeric($sessions)) {
$graphs['panos_sessions'] = true;
}
-$activetunnels = snmp_get($device, '1.3.6.1.4.1.25461.2.1.2.5.1.3.0', '-Ovq');
+if (is_numeric($sessions_tcp)) {
+ $rrd_def = RrdDefinition::make()->addDataset('sessions_tcp', 'GAUGE', 0, 3000000);
+
+ $fields = array(
+ 'sessions_tcp' => $sessions_tcp,
+ );
+
+ $tags = compact('rrd_def');
+ data_update($device, 'panos-sessions-tcp', $tags, $fields);
+
+ $graphs['panos_sessions_tcp'] = true;
+}
+
+if (is_numeric($sessions_udp)) {
+ $rrd_def = RrdDefinition::make()->addDataset('sessions_udp', 'GAUGE', 0, 3000000);
+
+ $fields = array(
+ 'sessions_udp' => $sessions_udp,
+ );
+
+ $tags = compact('rrd_def');
+ data_update($device, 'panos-sessions-udp', $tags, $fields);
+
+ $graphs['panos_sessions_udp'] = true;
+}
+
+if (is_numeric($sessions_icmp)) {
+ $rrd_def = RrdDefinition::make()->addDataset('sessions_icmp', 'GAUGE', 0, 3000000);
+
+ $fields = array(
+ 'sessions_icmp' => $sessions_icmp,
+ );
+
+ $tags = compact('rrd_def');
+ data_update($device, 'panos-sessions-icmp', $tags, $fields);
+
+ $graphs['panos_sessions_icmp'] = true;
+}
+
+if (is_numeric($sessions_ssl)) {
+ $rrd_def = RrdDefinition::make()->addDataset('sessions_ssl', 'GAUGE', 0, 3000000);
+
+ $fields = array(
+ 'sessions_ssl' => $sessions_ssl,
+ );
+
+ $tags = compact('rrd_def');
+ data_update($device, 'panos-sessions-ssl', $tags, $fields);
+
+ $graphs['panos_sessions_ssl'] = true;
+}
+
+if (is_numeric($sessions_sslutil)) {
+ $rrd_def = RrdDefinition::make()->addDataset('sessions_sslutil', 'GAUGE', 0, 3000000);
+
+ $fields = array(
+ 'sessions_sslutil' => $sessions_sslutil,
+ );
+
+ $tags = compact('rrd_def');
+ data_update($device, 'panos-sessions-sslutil', $tags, $fields);
+
+ $graphs['panos_sessions_sslutil'] = true;
+}
if (is_numeric($activetunnels)) {
$rrd_def = RrdDefinition::make()->addDataset('activetunnels', 'GAUGE', 0, 3000000);
diff --git a/includes/sql-schema/211.sql b/includes/sql-schema/211.sql
new file mode 100644
index 0000000000..93ff0e9cc6
--- /dev/null
+++ b/includes/sql-schema/211.sql
@@ -0,0 +1,5 @@
+INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_sessions_tcp', 'firewall', 'Active Users', 0);
+INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_sessions_udp', 'firewall', 'Active Users', 0);
+INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_sessions_icmp', 'firewall', 'Active Users', 0);
+INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_sessions_ssl', 'firewall', 'Active Users', 0);
+INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'panos_sessions_sslutil', 'firewall', 'Active Users', 0);
\ No newline at end of file