Files
mktxp-no-cli/mktxp/collector/ipv6_neighbor_collector.py
2022-11-13 13:36:58 +01:00

41 lines
1.3 KiB
Python

# coding=utf8
# Copyright (c) 2020 Arseniy Kuznetsov
##
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
##
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
from mktxp.collector.base_collector import BaseCollector
from mktxp.datasource.ipv6_neighbor_ds import IPv6NeighborDataSource
class IPv6NeighborCollector(BaseCollector):
'''IPv6 Neighbor Collector'''
@staticmethod
def collect(router_entry):
if not router_entry.config_entry.ipv6_neighbor:
return
metric_labels = ['address', 'interface', 'mac_address', 'status']
records = IPv6NeighborDataSource.metric_records(
router_entry,
metric_labels=metric_labels
)
metrics = BaseCollector.gauge_collector(
'ipv6_neighbor_info',
'Reachable IPv6 neighbors',
records,
'ipv6_neighbor',
metric_labels=metric_labels
)
yield metrics