m.add_handler(AnalyticsOverviewHandler)
m.add_divider()
+ # Network
+ m.add_handler(AnalyticsNetworkOverviewHandler)
+
# System
m.add_handler(AnalyticsSystemOverviewHandler)
self.render("base.html")
+class AnalyticsNetworkBaseHandler(AnalyticsBaseHandler):
+ @property
+ def menu(self):
+ _ = self.locale.translate
+
+ m = ui.menu.Menu(self, _("Network"))
+
+ # Back...
+ m.add_handler(AnalyticsOverviewHandler, title=_("Back..."))
+ m.add_divider()
+
+ # Overview
+ m.add_handler(AnalyticsNetworkOverviewHandler, title=_("Overview"))
+ m.add_divider()
+
+ # Connections
+ m.add_handler(AnalyticsNetworkConnectionsOverviewHandler)
+
+ return m
+
+
+class AnalyticsNetworkOverviewHandler(AnalyticsNetworkBaseHandler):
+ url = r"/analytics/network"
+ title = N_("Network")
+
+ def get(self):
+ self.render("base.html")
+
+
+class AnalyticsNetworkConnectionsBaseHandler(AnalyticsBaseHandler):
+ @property
+ def menu(self):
+ _ = self.locale.translate
+
+ m = ui.menu.Menu(self, _("Connections"))
+
+ # Back...
+ m.add_handler(AnalyticsNetworkOverviewHandler, title=_("Back..."))
+ m.add_divider()
+
+ # Overview
+ m.add_handler(AnalyticsNetworkConnectionsOverviewHandler, title=_("Overview"))
+ m.add_divider()
+
+ # Protocol States
+ s = m.add_submenu(_("Procotol States"))
+ s.add_handler(AnalyticsNetworkConnectionsStatesTCPHandler)
+ s.add_handler(AnalyticsNetworkConnectionsStatesSCTPHandler)
+ s.add_handler(AnalyticsNetworkConnectionsStatesDCCPHandler)
+
+ return m
+
+
+class AnalyticsNetworkConnectionsOverviewHandler(AnalyticsNetworkConnectionsBaseHandler):
+ url = r"/analytics/network/connections"
+ title = N_("Connections")
+
+ def get(self):
+ _ = self.locale.translate
+
+ graphs = [
+ ui.graphs.Graph(self, "conntrack-layer3-protocols"),
+ ui.graphs.Graph(self, "conntrack-layer4-protocols"),
+ ]
+
+ self.render_graphs(graphs)
+
+
+class AnalyticsNetworkConnectionsStatesTCPHandler(AnalyticsNetworkConnectionsBaseHandler):
+ url = r"/analytics/network/connections/states/tcp"
+ title = N_("TCP")
+
+ def get(self):
+ _ = self.locale.translate
+
+ graphs = [
+ ui.graphs.Graph(self, "conntrack-protocol-states", "tcp"),
+ ]
+
+ self.render_graphs(graphs)
+
+
+class AnalyticsNetworkConnectionsStatesSCTPHandler(AnalyticsNetworkConnectionsBaseHandler):
+ url = r"/analytics/network/connections/states/sctp"
+ title = N_("SCTP")
+
+ def get(self):
+ _ = self.locale.translate
+
+ graphs = [
+ ui.graphs.Graph(self, "conntrack-protocol-states", "sctp"),
+ ]
+
+ self.render_graphs(graphs)
+
+
+class AnalyticsNetworkConnectionsStatesDCCPHandler(AnalyticsNetworkConnectionsBaseHandler):
+ url = r"/analytics/network/connections/states/dccp"
+ title = N_("DCCP")
+
+ def get(self):
+ _ = self.locale.translate
+
+ graphs = [
+ ui.graphs.Graph(self, "conntrack-protocol-states", "dccp"),
+ ]
+
+ self.render_graphs(graphs)
+
+
class AnalyticsSystemBaseHandler(AnalyticsBaseHandler):
@property
def menu(self):