diff --git a/docker-compose.yml b/docker-compose.yml index a75c3f9..f0e4170 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,15 +8,15 @@ services: # Prometheus # https://github.com/stefanprodan/dockprom prometheus: - image: prom/prometheus:v2.45.3 + image: prom/prometheus:v2.54.1 container_name: mikrotik-prometheus volumes: - ./prometheus:/etc/prometheus - prometheus_data:/prometheus command: - - '--config.file=/etc/prometheus/prometheus.yml' - - '--storage.tsdb.path=/prometheus' - - '--storage.tsdb.retention.time=1y' # <= adjust the storage retention period of Prometheus + - "--config.file=/etc/prometheus/prometheus.yml" + - "--storage.tsdb.path=/prometheus" + - "--storage.tsdb.retention.time=1y" # <= adjust the storage retention period of Prometheus restart: unless-stopped networks: - default @@ -26,7 +26,7 @@ services: # Grafana # https://github.com/stefanprodan/dockprom grafana: - image: grafana/grafana:10.3.1 + image: grafana/grafana:11.2.0 container_name: mikrotik-grafana volumes: - grafana_data:/var/lib/grafana @@ -47,12 +47,12 @@ services: # MKTXP # https://github.com/akpw/mktxp mktxp: - image: ghcr.io/akpw/mktxp:gha-7614306238 + image: ghcr.io/akpw/mktxp:gha-10485178964 container_name: mikrotik-mktxp volumes: # Since Version v0.37 mktxp runs as single user # Prior it was root - - './mktxp/:/home/mktxp/mktxp/' + - "./mktxp/:/home/mktxp/mktxp/" networks: - default restart: unless-stopped diff --git a/mktxp/_mktxp.conf b/mktxp/_mktxp.conf index cedee91..01110ff 100644 --- a/mktxp/_mktxp.conf +++ b/mktxp/_mktxp.conf @@ -12,21 +12,22 @@ [MKTXP] - port = 49090 - socket_timeout = 2 - + listen = '0.0.0.0:49090' # Space separated list of socket addresses to listen to, both IPV4 and IPV6 + socket_timeout = 5 + initial_delay_on_failure = 120 max_delay_on_failure = 900 delay_inc_div = 5 - bandwidth = True # Turns metrics bandwidth metrics collection on / off - bandwidth_test_interval = 420 # Interval for colllecting bandwidth metrics - minimal_collect_interval = 5 # Minimal metric collection interval + bandwidth = False # Turns metrics bandwidth metrics collection on / off + bandwidth_test_interval = 600 # Interval for collecting bandwidth metrics + minimal_collect_interval = 5 # Minimal metric collection interval - verbose_mode = False # Set it on for troubleshooting + verbose_mode = False # Set it on for troubleshooting - fetch_routers_in_parallel = False # Set to True if you want to fetch multiple routers parallel - max_worker_threads = 5 # Max number of worker threads that can fetch routers. Meaningless if fetch_routers_in_parallel is set to False - - max_scrape_duration = 10 # Max duration of individual routers' metrics collection - total_max_scrape_duration = 30 # Max overall duration of all metrics collection + fetch_routers_in_parallel = False # Fetch metrics from multiple routers in parallel / sequentially + max_worker_threads = 5 # Max number of worker threads that can fetch routers (parallel fetch only) + max_scrape_duration = 30 # Max duration of individual routers' metrics collection (parallel fetch only) + total_max_scrape_duration = 90 # Max overall duration of all metrics collection (parallel fetch only) + + compact_default_conf_values = False # Compact mktxp.conf, so only specific values are kept on the individual routers' level diff --git a/mktxp/mktxp.conf b/mktxp/mktxp.conf index 7166d8c..2855c34 100644 --- a/mktxp/mktxp.conf +++ b/mktxp/mktxp.conf @@ -12,8 +12,13 @@ [Sample-Router] - enabled = False # turns metrics collection for this RouterOS device on / off + # for specific configuration on the router level, change here the defaults values from below + hostname = 192.168.88.1 +[default] + # this affects configuration of all routers, unless overloaded on their specific levels + + enabled = True # turns metrics collection for this RouterOS device on / off hostname = localhost # RouterOS IP address port = 8728 # RouterOS IP Port @@ -23,6 +28,7 @@ use_ssl = False # enables connection via API-SSL servis no_ssl_certificate = False # enables API_SSL connect without router SSL certificate ssl_certificate_verify = False # turns SSL certificate verification on / off + plaintext_login = True # for legacy RouterOS versions below 6.43 use False installed_packages = True # Installed packages dhcp = True # DHCP general metrics @@ -31,30 +37,41 @@ connections = True # IP connections metrics connection_stats = False # Open IP connections metrics - pool = True # Pool metrics interface = True # Interfaces traffic metrics + route = True # IPv4 Routes metrics + pool = True # IPv4 Pool metrics firewall = True # IPv4 Firewall rules traffic metrics + neighbor = True # IPv4 Reachable Neighbors + + ipv6_route = False # IPv6 Routes metrics + ipv6_pool = False # IPv6 Pool metrics ipv6_firewall = False # IPv6 Firewall rules traffic metrics - ipv6_neighbor = False # Reachable IPv6 Neighbors + ipv6_neighbor = False # IPv6 Reachable Neighbors poe = True # POE metrics monitor = True # Interface monitor metrics netwatch = True # Netwatch metrics public_ip = True # Public IP metrics - route = True # Routes metrics wireless = True # WLAN general metrics wireless_clients = True # WLAN clients metrics capsman = True # CAPsMAN general metrics capsman_clients = True # CAPsMAN clients metrics - kid_control_devices = False # Kid Control metrics + lte = False # LTE signal and status metrics (requires additional 'test' permission policy on RouterOS v6) + ipsec = False # IPSec active peer metrics + switch_port = False # Switch Port metrics + + kid_control_assigned = False # Allow Kid Control metrics for connected devices with assigned users + kid_control_dynamic = False # Allow Kid Control metrics for all connected devices, including those without assigned user user = True # Active Users metrics queue = True # Queues metrics - remote_dhcp_entry = None # An MKTXP entry for remote DHCP info resolution (capsman/wireless) + bgp = False # BGP sessions metrics + + remote_dhcp_entry = None # An MKTXP entry to provide for remote DHCP info / resolution + remote_capsman_entry = None # An MKTXP entry to provide for remote capsman info use_comments_over_names = True # when available, forces using comments over the interfaces names - check_for_updates = False # check for available ROS updates