Skip to content

Commit

Permalink
refactor: traffic log mode
Browse files Browse the repository at this point in the history
  • Loading branch information
davidgiga1993 committed May 13, 2024
1 parent 0bd580a commit 2171cca
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions pollect/sources/K8sNamespaceTrafficSource.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class K8sNamespaceTrafficSource(Source):
def __init__(self, config):
super().__init__(config)
self._namespace_label = config.get('namespaceLabel', 'namespace')
self._log_unknown_traffic = config.get('logUnknownTraffic', False)
self._traffic_log_mode = config.get('trafficLog')

self._dest_networks: List[NamedNetworks] = []
for network in config.get('networks', []):
Expand All @@ -43,6 +43,9 @@ def setup_source(self, global_conf):
b.attach_kretprobe(event='tcp_sendpage', fn_name='tcp_send_ret')
self._b = b

if self._traffic_log_mode is not None:
self.log.info(f'Traffic logging enabled: {self._traffic_log_mode}')

def _probe(self) -> Optional[ValueSet] or List[ValueSet]:
self._metrics.update_networks()

Expand Down Expand Up @@ -82,9 +85,10 @@ def _probe(self) -> Optional[ValueSet] or List[ValueSet]:
return values

def _log_traffic(self, namespace_metrics: NamespaceNetworkMetric, meta: TCPSessionKey, direction: str):
if not self._log_unknown_traffic:
if self._traffic_log_mode is None:
return
if not namespace_metrics.is_catch_all():

if self._traffic_log_mode == 'unknown' and not namespace_metrics.is_catch_all():
return

self.log.info(f'Unknown traffic: local {ipaddress.IPv4Network(meta.localAddr)}, '
Expand Down

0 comments on commit 2171cca

Please sign in to comment.