├── .gitignore ├── .env ├── doc ├── pic1.png └── pic2.png ├── .vscode └── settings.json ├── grafana └── provisioning │ ├── datasources │ └── datasource.yml │ └── dashboards │ ├── dashboard.yml │ └── monitor.json ├── mktxp ├── _mktxp.conf └── mktxp.conf ├── LICENSE ├── prometheus └── prometheus.yml ├── docker-compose.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | tmp -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | CONFIG_FILE=/config/config.yml 2 | -------------------------------------------------------------------------------- /doc/pic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orenmazor/mikrotik_monitoring/main/doc/pic1.png -------------------------------------------------------------------------------- /doc/pic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orenmazor/mikrotik_monitoring/main/doc/pic2.png -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "grafana", 4 | "mikrotik" 5 | ] 6 | } -------------------------------------------------------------------------------- /grafana/provisioning/datasources/datasource.yml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: 1 3 | 4 | datasources: 5 | - name: Prometheus 6 | type: prometheus 7 | access: proxy 8 | orgId: 1 9 | url: http://prometheus:9090 10 | basicAuth: false 11 | isDefault: true 12 | editable: true 13 | -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/dashboard.yml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: 1 3 | 4 | providers: 5 | - name: 'Prometheus' 6 | orgId: 1 7 | folder: '' 8 | type: file 9 | disableDeletion: false 10 | editable: true 11 | allowUiUpdates: true 12 | options: 13 | path: /etc/grafana/provisioning/dashboards -------------------------------------------------------------------------------- /mktxp/_mktxp.conf: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2020 Arseniy Kuznetsov 2 | ## 3 | ## This program is free software; you can redistribute it and/or 4 | ## modify it under the terms of the GNU General Public License 5 | ## as published by the Free Software Foundation; either version 2 6 | ## of the License, or (at your option) any later version. 7 | ## 8 | ## This program is distributed in the hope that it will be useful, 9 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ## GNU General Public License for more details. 12 | 13 | 14 | [MKTXP] 15 | port = 49090 16 | socket_timeout = 2 17 | 18 | initial_delay_on_failure = 120 19 | max_delay_on_failure = 900 20 | delay_inc_div = 5 21 | 22 | bandwidth = True # Turns metrics bandwidth metrics collection on / off 23 | bandwidth_test_interval = 420 # Interval for colllecting bandwidth metrics 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Leon Morten Richter 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /prometheus/prometheus.yml: -------------------------------------------------------------------------------- 1 | # my global config 2 | global: 3 | scrape_interval: 120s # By default, scrape targets every 15 seconds. 4 | evaluation_interval: 120s # By default, scrape targets every 15 seconds. 5 | # scrape_timeout is set to the global default (10s). 6 | 7 | # Attach these labels to any time series or alerts when communicating with 8 | # external systems (federation, remote storage, Alertmanager). 9 | external_labels: 10 | monitor: 'my-project' 11 | 12 | # Load and evaluate rules in this file every 'evaluation_interval' seconds. 13 | rule_files: 14 | # - "alert.rules" 15 | # - "first.rules" 16 | # - "second.rules" 17 | 18 | # A scrape configuration containing exactly one endpoint to scrape: 19 | # Here it's Prometheus itself. 20 | scrape_configs: 21 | # The job name is added as a label `job=` to any timeseries scraped from this config. 22 | - job_name: 'prometheus' 23 | 24 | # Override the global default and scrape targets from this job every 5 seconds. 25 | scrape_interval: 5s 26 | 27 | # metrics_path defaults to '/metrics' 28 | # scheme defaults to 'http'. 29 | 30 | static_configs: 31 | - targets: 32 | - 'mikrotik_exporter:9436' 33 | - 'mktxp:49090' 34 | -------------------------------------------------------------------------------- /mktxp/mktxp.conf: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2020 Arseniy Kuznetsov 2 | ## 3 | ## This program is free software; you can redistribute it and/or 4 | ## modify it under the terms of the GNU General Public License 5 | ## as published by the Free Software Foundation; either version 2 6 | ## of the License, or (at your option) any later version. 7 | ## 8 | ## This program is distributed in the hope that it will be useful, 9 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | ## GNU General Public License for more details. 12 | 13 | 14 | [Chateau] # Change to your Router 15 | capsman_clients = True 16 | firewall = True 17 | wireless_clients = True 18 | use_ssl = False 19 | pool = True 20 | wireless = True 21 | monitor = True 22 | capsman = True 23 | netwatch = True 24 | ssl_certificate_verify = False 25 | enabled = True 26 | use_comments_over_names = True 27 | no_ssl_certificate = False 28 | dhcp_lease = True 29 | dhcp = True 30 | route = True 31 | interface = True 32 | poe = False # Enable for PoE stats 33 | hostname = 192.168.0.1 # Change to your IP 34 | username = prometheus # Change to your Mikrotik user 35 | password = Mascha33 # Change to your Mikrotik password 36 | port = 8728 # Default Port for Mikrotik API 37 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | 3 | volumes: 4 | prometheus_data: {} 5 | grafana_data: {} 6 | 7 | 8 | services: 9 | # Prometheus 10 | # https://github.com/stefanprodan/dockprom 11 | prometheus: 12 | image: prom/prometheus:v2.28.1 13 | container_name: prometheus 14 | volumes: 15 | - ./prometheus:/etc/prometheus 16 | - prometheus_data:/prometheus 17 | command: 18 | - '--config.file=/etc/prometheus/prometheus.yml' 19 | - '--storage.tsdb.path=/prometheus' 20 | restart: unless-stopped 21 | ports: 22 | - 9090:9090 23 | networks: 24 | - default 25 | labels: 26 | org.label-schema.group: "monitoring" 27 | 28 | # Grafana 29 | # https://github.com/stefanprodan/dockprom 30 | grafana: 31 | image: grafana/grafana:8.0.4 32 | container_name: grafana 33 | volumes: 34 | - grafana_data:/var/lib/grafana 35 | - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards 36 | - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources 37 | environment: 38 | - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} 39 | - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} 40 | - GF_USERS_ALLOW_SIGN_UP=false 41 | restart: unless-stopped 42 | ports: 43 | - 3000:3000 44 | - 80:3000 45 | networks: 46 | - default 47 | labels: 48 | org.label-schema.group: "monitoring" 49 | 50 | # MKTXP 51 | # https://github.com/akpw/mktxp 52 | mktxp: 53 | image: mktxp:latest 54 | volumes: 55 | - './mktxp/:/root/mktxp/' 56 | ports: 57 | - 49090:49090 58 | networks: 59 | - default 60 | restart: unless-stopped 61 | 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Monitor your Mikrotik router with Prometheus and Grafana 2 | 3 | Over the past years I replaced all my networking gear with Mikrotik devices. I absolutely love WinBox for management, but sometimes I miss some fancy charts and graphs. Luckily, RouterOS comes with a REST-API that can be used to query arbitrary data from the device. After some research I found some useful tools and blog posts that solved similar problems. Namely: 4 | 5 | - [A blog post by Devin Smith that first got me interested](https://blog.devinsmith.co.za/home-internet-grafana-lockdown/) 6 | - [A somewhat useable Grafana Dashboard](https://grafana.com/grafana/dashboards/10950) 7 | - [A Prometheus exporter for Mikrotik devices written in Python](https://github.com/akpw/mktxp). 8 | - [A Prometheus exporter for Mikrotik devices written in Go](https://github.com/nshttpd/mikrotik-exporter) 9 | 10 | ## Setup 11 | 12 | - Router running RouterOS 7.x.x 13 | - Raspberry Pi 4 with 2 gb RAM (other PIs may also work, but I wanted ARM 64 bit) 14 | 15 | ## Demo pictures 16 | 17 | ![General system stats](https://github.com/M0r13n/mikrotik_monitoring/blob/main/doc/pic1.png) 18 | ![Wifi stats](https://github.com/M0r13n/mikrotik_monitoring/blob/main/doc/pic2.png) 19 | 20 | ## Installation 21 | 22 | ## Mikrotik Router 23 | At first you need to prepare your router. 24 | 25 | Create a group on the device that has API and read-only access: 26 | 27 | `/user group add name=prometheus policy=api,read,winbox,test` 28 | 29 | Create a user that is part of the group: 30 | 31 | `/user add name=prometheus group=prometheus password=TOP_SECRET` 32 | 33 | ## Prepare Raspi 34 | 35 | You need Ubuntu Server for ARM 64 bit in order to use this setup. You may also use Raspian, but then you are limited to 32bit ARM executables. This would mean, that you need to compile the `mikrotik-exporter` by hand, because there are no pre built 32-bit Docker images. 36 | 37 | You need to execute the following steps on the target machine itself (e.g. Raspberry Pi). 38 | 39 | Install Python and pip: 40 | 41 | `sudo apt install python3-dev python3 python3-pip -y` 42 | 43 | Install Docker + Docker-compose (reboot required) 44 | 45 | ```bash 46 | curl -sSL https://get.docker.com | sh 47 | sudo usermod -aG docker ubuntu 48 | sudo pip3 install docker-compose 49 | sudo systemctl enable docker 50 | sudo reboot 51 | ``` 52 | 53 | Build the mktxp Docker image 54 | 55 | ```bash 56 | # Get the mktxp repository 57 | git clone https://github.com/akpw/mktxp.git 58 | 59 | # Go into the newly downloaded repo 60 | cd mktxp 61 | 62 | # Build the docker image 63 | docker build . -t mktxp 64 | ``` 65 | 66 | Now get this repo and install all services: 67 | 68 | ```bash 69 | # Clone this repo 70 | git clone https://github.com/M0r13n/mikrotik_monitoring.git 71 | 72 | 73 | # Go into the cloned directory 74 | cd mikrotik_monitoring 75 | 76 | # Let docker-compose do it's job 77 | docker-compose up -d 78 | ``` 79 | 80 | You may need to adjust the following configuration files and add your own credentials for your router: 81 | 82 | - `mktxp/mktxp.conf` 83 | 84 | 85 | Done. You should now be able to open the Grafana dashboard on Port 3000 of your Raspberry Pi. 86 | 87 | ## Multiple Nodes 88 | 89 | It is possible to monitor multiple (Mikrotik) devices. Just change add as many devices to `mktxp/mktxp.conf` as you want. -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/monitor.json: -------------------------------------------------------------------------------- 1 | { 2 | "annotations": { 3 | "list": [ 4 | { 5 | "builtIn": 1, 6 | "datasource": "-- Grafana --", 7 | "enable": true, 8 | "hide": true, 9 | "iconColor": "rgba(0, 211, 255, 1)", 10 | "name": "Annotations & Alerts", 11 | "type": "dashboard" 12 | } 13 | ] 14 | }, 15 | "description": "Mikrotik MKTXP Exporter metrics", 16 | "editable": true, 17 | "gnetId": 13679, 18 | "graphTooltip": 0, 19 | "id": 2, 20 | "iteration": 1626361813995, 21 | "links": [], 22 | "panels": [ 23 | { 24 | "collapsed": false, 25 | "datasource": "Prometheus", 26 | "fieldConfig": { 27 | "defaults": {}, 28 | "overrides": [] 29 | }, 30 | "gridPos": { 31 | "h": 1, 32 | "w": 24, 33 | "x": 0, 34 | "y": 0 35 | }, 36 | "id": 10, 37 | "panels": [], 38 | "title": "System", 39 | "type": "row" 40 | }, 41 | { 42 | "cacheTimeout": null, 43 | "datasource": "Prometheus", 44 | "description": "", 45 | "fieldConfig": { 46 | "defaults": { 47 | "color": { 48 | "fixedColor": "green", 49 | "mode": "fixed" 50 | }, 51 | "mappings": [ 52 | { 53 | "options": { 54 | "match": "null", 55 | "result": { 56 | "text": "N/A" 57 | } 58 | }, 59 | "type": "special" 60 | } 61 | ], 62 | "thresholds": { 63 | "mode": "absolute", 64 | "steps": [ 65 | { 66 | "color": "green", 67 | "value": null 68 | } 69 | ] 70 | }, 71 | "unit": "none" 72 | }, 73 | "overrides": [] 74 | }, 75 | "gridPos": { 76 | "h": 3, 77 | "w": 2, 78 | "x": 0, 79 | "y": 1 80 | }, 81 | "id": 72, 82 | "interval": null, 83 | "links": [], 84 | "maxDataPoints": 100, 85 | "options": { 86 | "colorMode": "value", 87 | "graphMode": "none", 88 | "justifyMode": "center", 89 | "orientation": "auto", 90 | "reduceOptions": { 91 | "calcs": [ 92 | "lastNotNull" 93 | ], 94 | "fields": "", 95 | "values": false 96 | }, 97 | "text": {}, 98 | "textMode": "name" 99 | }, 100 | "pluginVersion": "8.0.4", 101 | "targets": [ 102 | { 103 | "expr": "mktxp_system_identity_info{routerboard_address=\"$node\"}", 104 | "instant": true, 105 | "interval": "", 106 | "legendFormat": "{{name}}", 107 | "refId": "B" 108 | } 109 | ], 110 | "title": "Identity", 111 | "type": "stat" 112 | }, 113 | { 114 | "cacheTimeout": null, 115 | "datasource": "Prometheus", 116 | "fieldConfig": { 117 | "defaults": { 118 | "color": { 119 | "fixedColor": "green", 120 | "mode": "fixed" 121 | }, 122 | "mappings": [ 123 | { 124 | "options": { 125 | "match": "null", 126 | "result": { 127 | "text": "N/A" 128 | } 129 | }, 130 | "type": "special" 131 | } 132 | ], 133 | "thresholds": { 134 | "mode": "absolute", 135 | "steps": [ 136 | { 137 | "color": "green", 138 | "value": null 139 | } 140 | ] 141 | }, 142 | "unit": "dtdurations" 143 | }, 144 | "overrides": [] 145 | }, 146 | "gridPos": { 147 | "h": 2, 148 | "w": 2, 149 | "x": 2, 150 | "y": 1 151 | }, 152 | "id": 12, 153 | "interval": null, 154 | "links": [], 155 | "maxDataPoints": 100, 156 | "options": { 157 | "colorMode": "value", 158 | "graphMode": "none", 159 | "justifyMode": "auto", 160 | "orientation": "auto", 161 | "reduceOptions": { 162 | "calcs": [ 163 | "lastNotNull" 164 | ], 165 | "fields": "", 166 | "values": false 167 | }, 168 | "text": {}, 169 | "textMode": "auto" 170 | }, 171 | "pluginVersion": "8.0.4", 172 | "targets": [ 173 | { 174 | "application": { 175 | "filter": "General" 176 | }, 177 | "expr": "mktxp_system_uptime{routerboard_address=\"$node\"}", 178 | "format": "time_series", 179 | "functions": [], 180 | "group": { 181 | "filter": "Network" 182 | }, 183 | "hide": false, 184 | "host": { 185 | "filter": "MikroTik Router" 186 | }, 187 | "instant": true, 188 | "interval": "", 189 | "intervalFactor": 1, 190 | "item": { 191 | "filter": "System uptime" 192 | }, 193 | "legendFormat": "", 194 | "mode": 0, 195 | "options": { 196 | "showDisabledItems": false 197 | }, 198 | "refId": "A" 199 | } 200 | ], 201 | "title": "System uptime", 202 | "type": "stat" 203 | }, 204 | { 205 | "cacheTimeout": null, 206 | "datasource": "Prometheus", 207 | "fieldConfig": { 208 | "defaults": { 209 | "decimals": 1, 210 | "mappings": [ 211 | { 212 | "options": { 213 | "match": "null", 214 | "result": { 215 | "text": "N/A" 216 | } 217 | }, 218 | "type": "special" 219 | } 220 | ], 221 | "max": 100, 222 | "min": 0.1, 223 | "thresholds": { 224 | "mode": "absolute", 225 | "steps": [ 226 | { 227 | "color": "rgba(50, 172, 45, 0.97)", 228 | "value": null 229 | }, 230 | { 231 | "color": "rgba(237, 129, 40, 0.89)", 232 | "value": 70 233 | }, 234 | { 235 | "color": "rgba(245, 54, 54, 0.9)", 236 | "value": 90 237 | } 238 | ] 239 | }, 240 | "unit": "percent" 241 | }, 242 | "overrides": [] 243 | }, 244 | "gridPos": { 245 | "h": 8, 246 | "w": 4, 247 | "x": 4, 248 | "y": 1 249 | }, 250 | "id": 14, 251 | "interval": null, 252 | "links": [], 253 | "maxDataPoints": 100, 254 | "options": { 255 | "displayMode": "lcd", 256 | "orientation": "horizontal", 257 | "reduceOptions": { 258 | "calcs": [ 259 | "mean" 260 | ], 261 | "fields": "", 262 | "values": false 263 | }, 264 | "showUnfilled": true, 265 | "text": {} 266 | }, 267 | "pluginVersion": "8.0.4", 268 | "targets": [ 269 | { 270 | "application": { 271 | "filter": "Memory" 272 | }, 273 | "expr": "(1 - mktxp_system_free_memory{routerboard_address=\"$node\"} / mktxp_system_total_memory{routerboard_address=\"$node\"})*100", 274 | "format": "time_series", 275 | "functions": [], 276 | "group": { 277 | "filter": "Network" 278 | }, 279 | "hide": false, 280 | "host": { 281 | "filter": "MikroTik Router" 282 | }, 283 | "instant": true, 284 | "interval": "", 285 | "intervalFactor": 1, 286 | "item": { 287 | "filter": "Used memory" 288 | }, 289 | "legendFormat": "Used RAM Memory", 290 | "mode": 0, 291 | "options": { 292 | "showDisabledItems": false 293 | }, 294 | "refId": "A" 295 | }, 296 | { 297 | "expr": "mktxp_system_cpu_load{routerboard_address=\"$node\"}", 298 | "instant": true, 299 | "interval": "", 300 | "legendFormat": "CPU Load", 301 | "refId": "C" 302 | }, 303 | { 304 | "expr": "(1 - mktxp_system_free_hdd_space{routerboard_address=\"$node\"} / mktxp_system_total_hdd_space{routerboard_address=\"$node\"})*100", 305 | "instant": true, 306 | "interval": "", 307 | "legendFormat": "HDD Utilization", 308 | "refId": "B" 309 | } 310 | ], 311 | "timeFrom": null, 312 | "timeShift": null, 313 | "type": "bargauge" 314 | }, 315 | { 316 | "aliasColors": {}, 317 | "bars": false, 318 | "dashLength": 10, 319 | "dashes": false, 320 | "datasource": "Prometheus", 321 | "editable": true, 322 | "error": false, 323 | "fieldConfig": { 324 | "defaults": { 325 | "links": [] 326 | }, 327 | "overrides": [] 328 | }, 329 | "fill": 1, 330 | "fillGradient": 0, 331 | "gridPos": { 332 | "h": 8, 333 | "w": 8, 334 | "x": 8, 335 | "y": 1 336 | }, 337 | "hiddenSeries": false, 338 | "id": 16, 339 | "legend": { 340 | "alignAsTable": true, 341 | "avg": true, 342 | "current": true, 343 | "max": true, 344 | "min": true, 345 | "rightSide": false, 346 | "show": true, 347 | "total": false, 348 | "values": true 349 | }, 350 | "lines": true, 351 | "linewidth": 1, 352 | "links": [], 353 | "nullPointMode": "connected", 354 | "options": { 355 | "alertThreshold": true 356 | }, 357 | "paceLength": 10, 358 | "percentage": false, 359 | "pluginVersion": "8.0.4", 360 | "pointradius": 5, 361 | "points": false, 362 | "renderer": "flot", 363 | "seriesOverrides": [], 364 | "spaceLength": 10, 365 | "stack": false, 366 | "steppedLine": false, 367 | "targets": [ 368 | { 369 | "application": { 370 | "filter": "CPU" 371 | }, 372 | "exemplar": true, 373 | "expr": "mktxp_system_cpu_load{routerboard_address=\"$node\"}", 374 | "format": "time_series", 375 | "functions": [], 376 | "group": { 377 | "filter": "Network" 378 | }, 379 | "host": { 380 | "filter": "MikroTik Router" 381 | }, 382 | "instant": false, 383 | "interval": "", 384 | "intervalFactor": 1, 385 | "item": { 386 | "filter": "CPU 1 load" 387 | }, 388 | "legendFormat": "{{cpu}}", 389 | "mode": 0, 390 | "options": { 391 | "showDisabledItems": false 392 | }, 393 | "refId": "A" 394 | } 395 | ], 396 | "thresholds": [], 397 | "timeFrom": null, 398 | "timeRegions": [], 399 | "timeShift": null, 400 | "title": "CPU load", 401 | "tooltip": { 402 | "msResolution": false, 403 | "shared": true, 404 | "sort": 0, 405 | "value_type": "individual" 406 | }, 407 | "type": "graph", 408 | "xaxis": { 409 | "buckets": null, 410 | "mode": "time", 411 | "name": null, 412 | "show": true, 413 | "values": [] 414 | }, 415 | "yaxes": [ 416 | { 417 | "$$hashKey": "object:398", 418 | "format": "percent", 419 | "label": null, 420 | "logBase": 10, 421 | "max": "100", 422 | "min": "0", 423 | "show": true 424 | }, 425 | { 426 | "$$hashKey": "object:399", 427 | "format": "short", 428 | "label": null, 429 | "logBase": 1, 430 | "max": null, 431 | "min": null, 432 | "show": true 433 | } 434 | ], 435 | "yaxis": { 436 | "align": false, 437 | "alignLevel": null 438 | } 439 | }, 440 | { 441 | "aliasColors": { 442 | "Total memory": "#E24D42", 443 | "Used memory": "#1F78C1" 444 | }, 445 | "bars": false, 446 | "dashLength": 10, 447 | "dashes": false, 448 | "datasource": "Prometheus", 449 | "editable": true, 450 | "error": false, 451 | "fieldConfig": { 452 | "defaults": { 453 | "links": [] 454 | }, 455 | "overrides": [] 456 | }, 457 | "fill": 5, 458 | "fillGradient": 0, 459 | "gridPos": { 460 | "h": 8, 461 | "w": 8, 462 | "x": 16, 463 | "y": 1 464 | }, 465 | "hiddenSeries": false, 466 | "id": 18, 467 | "legend": { 468 | "alignAsTable": true, 469 | "avg": true, 470 | "current": true, 471 | "max": true, 472 | "min": true, 473 | "show": true, 474 | "total": false, 475 | "values": true 476 | }, 477 | "lines": true, 478 | "linewidth": 1, 479 | "links": [], 480 | "nullPointMode": "connected", 481 | "options": { 482 | "alertThreshold": true 483 | }, 484 | "paceLength": 10, 485 | "percentage": false, 486 | "pluginVersion": "8.0.4", 487 | "pointradius": 5, 488 | "points": false, 489 | "renderer": "flot", 490 | "seriesOverrides": [ 491 | { 492 | "$$hashKey": "object:743", 493 | "alias": "Total memory", 494 | "color": "#E24D42", 495 | "fill": 2, 496 | "linewidth": 0, 497 | "zindex": -3 498 | }, 499 | { 500 | "$$hashKey": "object:744", 501 | "alias": "Used memory", 502 | "color": "#1F78C1" 503 | } 504 | ], 505 | "spaceLength": 10, 506 | "stack": false, 507 | "steppedLine": false, 508 | "targets": [ 509 | { 510 | "application": { 511 | "filter": "Memory" 512 | }, 513 | "expr": "mktxp_system_total_hdd_space{routerboard_address=\"$node\"} - mktxp_system_free_hdd_space{routerboard_address=\"$node\"}", 514 | "format": "time_series", 515 | "functions": [], 516 | "group": { 517 | "filter": "Network" 518 | }, 519 | "host": { 520 | "filter": "MikroTik Router" 521 | }, 522 | "instant": false, 523 | "interval": "", 524 | "intervalFactor": 1, 525 | "item": { 526 | "filter": "Used memory" 527 | }, 528 | "legendFormat": "Used memory", 529 | "mode": 0, 530 | "options": { 531 | "showDisabledItems": false 532 | }, 533 | "refId": "A" 534 | }, 535 | { 536 | "application": { 537 | "filter": "Memory" 538 | }, 539 | "expr": "mktxp_system_total_hdd_space{routerboard_address=\"$node\"}", 540 | "format": "time_series", 541 | "functions": [], 542 | "group": { 543 | "filter": "Network" 544 | }, 545 | "host": { 546 | "filter": "MikroTik Router" 547 | }, 548 | "instant": false, 549 | "interval": "", 550 | "intervalFactor": 1, 551 | "item": { 552 | "filter": "Total memory" 553 | }, 554 | "legendFormat": "Total memory", 555 | "mode": 0, 556 | "options": { 557 | "showDisabledItems": false 558 | }, 559 | "refId": "B" 560 | } 561 | ], 562 | "thresholds": [], 563 | "timeFrom": null, 564 | "timeRegions": [], 565 | "timeShift": null, 566 | "title": "HDD Utilization", 567 | "tooltip": { 568 | "msResolution": false, 569 | "shared": true, 570 | "sort": 0, 571 | "value_type": "individual" 572 | }, 573 | "type": "graph", 574 | "xaxis": { 575 | "buckets": null, 576 | "mode": "time", 577 | "name": null, 578 | "show": true, 579 | "values": [] 580 | }, 581 | "yaxes": [ 582 | { 583 | "$$hashKey": "object:365", 584 | "format": "decbytes", 585 | "label": null, 586 | "logBase": 1, 587 | "max": null, 588 | "min": "0", 589 | "show": true 590 | }, 591 | { 592 | "$$hashKey": "object:366", 593 | "format": "short", 594 | "label": null, 595 | "logBase": 1, 596 | "max": null, 597 | "min": null, 598 | "show": false 599 | } 600 | ], 601 | "yaxis": { 602 | "align": false, 603 | "alignLevel": null 604 | } 605 | }, 606 | { 607 | "cacheTimeout": null, 608 | "datasource": "Prometheus", 609 | "description": "", 610 | "fieldConfig": { 611 | "defaults": { 612 | "color": { 613 | "fixedColor": "green", 614 | "mode": "fixed" 615 | }, 616 | "mappings": [ 617 | { 618 | "options": { 619 | "match": "null", 620 | "result": { 621 | "text": "N/A" 622 | } 623 | }, 624 | "type": "special" 625 | } 626 | ], 627 | "thresholds": { 628 | "mode": "absolute", 629 | "steps": [ 630 | { 631 | "color": "green", 632 | "value": null 633 | } 634 | ] 635 | }, 636 | "unit": "none" 637 | }, 638 | "overrides": [] 639 | }, 640 | "gridPos": { 641 | "h": 2, 642 | "w": 2, 643 | "x": 2, 644 | "y": 3 645 | }, 646 | "id": 6, 647 | "interval": null, 648 | "links": [], 649 | "maxDataPoints": 100, 650 | "options": { 651 | "colorMode": "value", 652 | "graphMode": "none", 653 | "justifyMode": "center", 654 | "orientation": "auto", 655 | "reduceOptions": { 656 | "calcs": [ 657 | "lastNotNull" 658 | ], 659 | "fields": "", 660 | "values": false 661 | }, 662 | "text": {}, 663 | "textMode": "name" 664 | }, 665 | "pluginVersion": "8.0.4", 666 | "targets": [ 667 | { 668 | "expr": "mktxp_system_uptime{routerboard_address=\"$node\"}", 669 | "instant": true, 670 | "interval": "", 671 | "legendFormat": "{{board_name}}", 672 | "refId": "B" 673 | } 674 | ], 675 | "title": "Routerboard HW", 676 | "type": "stat" 677 | }, 678 | { 679 | "datasource": "Prometheus", 680 | "fieldConfig": { 681 | "defaults": { 682 | "mappings": [], 683 | "max": 100, 684 | "min": 0, 685 | "thresholds": { 686 | "mode": "absolute", 687 | "steps": [ 688 | { 689 | "color": "green", 690 | "value": null 691 | }, 692 | { 693 | "color": "green", 694 | "value": 30 695 | }, 696 | { 697 | "color": "yellow", 698 | "value": 40 699 | }, 700 | { 701 | "color": "orange", 702 | "value": 60 703 | }, 704 | { 705 | "color": "red", 706 | "value": 70 707 | } 708 | ] 709 | }, 710 | "unit": "celsius" 711 | }, 712 | "overrides": [] 713 | }, 714 | "gridPos": { 715 | "h": 5, 716 | "w": 2, 717 | "x": 0, 718 | "y": 4 719 | }, 720 | "id": 59, 721 | "options": { 722 | "reduceOptions": { 723 | "calcs": [ 724 | "mean" 725 | ], 726 | "fields": "", 727 | "values": false 728 | }, 729 | "showThresholdLabels": false, 730 | "showThresholdMarkers": true, 731 | "text": {} 732 | }, 733 | "pluginVersion": "8.0.4", 734 | "targets": [ 735 | { 736 | "expr": "mktxp_system_routerboard_temperature{routerboard_address=\"$node\"} ", 737 | "instant": true, 738 | "interval": "", 739 | "legendFormat": "", 740 | "refId": "A" 741 | } 742 | ], 743 | "timeFrom": null, 744 | "timeShift": null, 745 | "title": "Temperature", 746 | "type": "gauge" 747 | }, 748 | { 749 | "cacheTimeout": null, 750 | "datasource": "Prometheus", 751 | "fieldConfig": { 752 | "defaults": { 753 | "color": { 754 | "fixedColor": "green", 755 | "mode": "fixed" 756 | }, 757 | "mappings": [ 758 | { 759 | "options": { 760 | "match": "null", 761 | "result": { 762 | "text": "N/A" 763 | } 764 | }, 765 | "type": "special" 766 | } 767 | ], 768 | "thresholds": { 769 | "mode": "absolute", 770 | "steps": [ 771 | { 772 | "color": "green", 773 | "value": null 774 | } 775 | ] 776 | }, 777 | "unit": "none" 778 | }, 779 | "overrides": [] 780 | }, 781 | "gridPos": { 782 | "h": 2, 783 | "w": 2, 784 | "x": 2, 785 | "y": 5 786 | }, 787 | "id": 8, 788 | "interval": null, 789 | "links": [], 790 | "maxDataPoints": 100, 791 | "options": { 792 | "colorMode": "value", 793 | "graphMode": "none", 794 | "justifyMode": "center", 795 | "orientation": "auto", 796 | "reduceOptions": { 797 | "calcs": [ 798 | "lastNotNull" 799 | ], 800 | "fields": "", 801 | "values": false 802 | }, 803 | "text": {}, 804 | "textMode": "name" 805 | }, 806 | "pluginVersion": "8.0.4", 807 | "targets": [ 808 | { 809 | "application": { 810 | "filter": "General" 811 | }, 812 | "expr": "mktxp_system_uptime{routerboard_address=\"$node\"}", 813 | "format": "time_series", 814 | "functions": [], 815 | "group": { 816 | "filter": "Network" 817 | }, 818 | "hide": false, 819 | "host": { 820 | "filter": "MikroTik Router" 821 | }, 822 | "instant": true, 823 | "interval": "", 824 | "intervalFactor": 1, 825 | "item": { 826 | "filter": "System version and hw" 827 | }, 828 | "legendFormat": "{{version}} ", 829 | "mode": 2, 830 | "options": { 831 | "showDisabledItems": false 832 | }, 833 | "refId": "A" 834 | } 835 | ], 836 | "title": "System version", 837 | "type": "stat" 838 | }, 839 | { 840 | "cacheTimeout": null, 841 | "datasource": "Prometheus", 842 | "description": "", 843 | "fieldConfig": { 844 | "defaults": { 845 | "color": { 846 | "fixedColor": "green", 847 | "mode": "fixed" 848 | }, 849 | "mappings": [], 850 | "thresholds": { 851 | "mode": "absolute", 852 | "steps": [ 853 | { 854 | "color": "green", 855 | "value": null 856 | } 857 | ] 858 | }, 859 | "unit": "volt" 860 | }, 861 | "overrides": [] 862 | }, 863 | "gridPos": { 864 | "h": 2, 865 | "w": 2, 866 | "x": 2, 867 | "y": 7 868 | }, 869 | "id": 57, 870 | "interval": null, 871 | "links": [], 872 | "maxDataPoints": 100, 873 | "options": { 874 | "colorMode": "value", 875 | "graphMode": "none", 876 | "justifyMode": "center", 877 | "orientation": "horizontal", 878 | "reduceOptions": { 879 | "calcs": [ 880 | "lastNotNull" 881 | ], 882 | "fields": "", 883 | "values": false 884 | }, 885 | "text": {}, 886 | "textMode": "value" 887 | }, 888 | "pluginVersion": "8.0.4", 889 | "targets": [ 890 | { 891 | "application": { 892 | "filter": "General" 893 | }, 894 | "expr": "mktxp_system_routerboard_voltage{routerboard_address=\"$node\"}", 895 | "format": "time_series", 896 | "functions": [], 897 | "group": { 898 | "filter": "Network" 899 | }, 900 | "hide": false, 901 | "host": { 902 | "filter": "MikroTik Router" 903 | }, 904 | "instant": true, 905 | "interval": "", 906 | "intervalFactor": 1, 907 | "item": { 908 | "filter": "System version and hw" 909 | }, 910 | "legendFormat": "", 911 | "mode": 2, 912 | "options": { 913 | "showDisabledItems": false 914 | }, 915 | "refId": "A" 916 | } 917 | ], 918 | "timeFrom": null, 919 | "timeShift": null, 920 | "title": "Voltage", 921 | "type": "stat" 922 | }, 923 | { 924 | "aliasColors": { 925 | "In | defconf": "dark-red", 926 | "In | ether2": "dark-blue", 927 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 928 | "Out | defconf": "semi-dark-green", 929 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 930 | }, 931 | "bars": false, 932 | "dashLength": 10, 933 | "dashes": false, 934 | "datasource": "Prometheus", 935 | "description": "", 936 | "editable": true, 937 | "error": false, 938 | "fieldConfig": { 939 | "defaults": { 940 | "links": [] 941 | }, 942 | "overrides": [] 943 | }, 944 | "fill": 3, 945 | "fillGradient": 0, 946 | "gridPos": { 947 | "h": 7, 948 | "w": 24, 949 | "x": 0, 950 | "y": 9 951 | }, 952 | "hiddenSeries": false, 953 | "id": 75, 954 | "legend": { 955 | "alignAsTable": false, 956 | "avg": false, 957 | "current": false, 958 | "hideEmpty": false, 959 | "hideZero": true, 960 | "max": false, 961 | "min": false, 962 | "rightSide": true, 963 | "show": true, 964 | "sideWidth": null, 965 | "total": false, 966 | "values": false 967 | }, 968 | "lines": true, 969 | "linewidth": 1, 970 | "links": [], 971 | "nullPointMode": "connected", 972 | "options": { 973 | "alertThreshold": false 974 | }, 975 | "paceLength": 10, 976 | "percentage": false, 977 | "pluginVersion": "8.0.4", 978 | "pointradius": 5, 979 | "points": false, 980 | "renderer": "flot", 981 | "seriesOverrides": [ 982 | { 983 | "$$hashKey": "object:842", 984 | "alias": "/In/" 985 | }, 986 | { 987 | "$$hashKey": "object:843", 988 | "alias": "/Out/", 989 | "color": "#56A64B", 990 | "transform": "negative-Y" 991 | } 992 | ], 993 | "spaceLength": 10, 994 | "stack": false, 995 | "steppedLine": false, 996 | "targets": [ 997 | { 998 | "application": { 999 | "filter": "Network" 1000 | }, 1001 | "exemplar": true, 1002 | "expr": "rate(mktxp_interface_rx_byte_total{routerboard_address=\"$node\"}[15s]) * 8", 1003 | "format": "time_series", 1004 | "functions": [], 1005 | "group": { 1006 | "filter": "Network" 1007 | }, 1008 | "hide": false, 1009 | "host": { 1010 | "filter": "MikroTik Router" 1011 | }, 1012 | "instant": false, 1013 | "interval": "", 1014 | "intervalFactor": 1, 1015 | "item": { 1016 | "filter": "Incoming traffic on interface ether1-gateway" 1017 | }, 1018 | "legendFormat": "In | {{ name }}", 1019 | "mode": 0, 1020 | "options": { 1021 | "showDisabledItems": false 1022 | }, 1023 | "refId": "A" 1024 | }, 1025 | { 1026 | "application": { 1027 | "filter": "Network" 1028 | }, 1029 | "exemplar": true, 1030 | "expr": "rate(mktxp_interface_tx_byte_total{routerboard_address=\"$node\"}[15s]) * 8", 1031 | "format": "time_series", 1032 | "functions": [], 1033 | "group": { 1034 | "filter": "Network" 1035 | }, 1036 | "hide": false, 1037 | "host": { 1038 | "filter": "MikroTik Router" 1039 | }, 1040 | "interval": "", 1041 | "intervalFactor": 1, 1042 | "item": { 1043 | "filter": "Outgoing traffic on interface ether1-gateway" 1044 | }, 1045 | "legendFormat": "Out | {{ name }}", 1046 | "mode": 0, 1047 | "options": { 1048 | "showDisabledItems": false 1049 | }, 1050 | "refId": "B" 1051 | } 1052 | ], 1053 | "thresholds": [], 1054 | "timeFrom": null, 1055 | "timeRegions": [], 1056 | "timeShift": null, 1057 | "title": "Interface traffic ", 1058 | "tooltip": { 1059 | "msResolution": false, 1060 | "shared": true, 1061 | "sort": 2, 1062 | "value_type": "individual" 1063 | }, 1064 | "type": "graph", 1065 | "xaxis": { 1066 | "buckets": null, 1067 | "mode": "time", 1068 | "name": null, 1069 | "show": true, 1070 | "values": [] 1071 | }, 1072 | "yaxes": [ 1073 | { 1074 | "$$hashKey": "object:706", 1075 | "format": "bps", 1076 | "label": null, 1077 | "logBase": 1, 1078 | "max": null, 1079 | "min": null, 1080 | "show": true 1081 | }, 1082 | { 1083 | "$$hashKey": "object:707", 1084 | "format": "short", 1085 | "label": null, 1086 | "logBase": 1, 1087 | "max": null, 1088 | "min": null, 1089 | "show": true 1090 | } 1091 | ], 1092 | "yaxis": { 1093 | "align": false, 1094 | "alignLevel": null 1095 | } 1096 | }, 1097 | { 1098 | "collapsed": false, 1099 | "datasource": "Prometheus", 1100 | "fieldConfig": { 1101 | "defaults": {}, 1102 | "overrides": [] 1103 | }, 1104 | "gridPos": { 1105 | "h": 1, 1106 | "w": 24, 1107 | "x": 0, 1108 | "y": 16 1109 | }, 1110 | "id": 2, 1111 | "panels": [], 1112 | "title": "DHCP", 1113 | "type": "row" 1114 | }, 1115 | { 1116 | "cacheTimeout": null, 1117 | "datasource": "Prometheus", 1118 | "description": "", 1119 | "fieldConfig": { 1120 | "defaults": { 1121 | "decimals": 0, 1122 | "links": [], 1123 | "mappings": [], 1124 | "min": 1, 1125 | "thresholds": { 1126 | "mode": "absolute", 1127 | "steps": [ 1128 | { 1129 | "color": "green", 1130 | "value": null 1131 | }, 1132 | { 1133 | "color": "#EAB839", 1134 | "value": 30 1135 | }, 1136 | { 1137 | "color": "red", 1138 | "value": 80 1139 | } 1140 | ] 1141 | } 1142 | }, 1143 | "overrides": [] 1144 | }, 1145 | "gridPos": { 1146 | "h": 8, 1147 | "w": 5, 1148 | "x": 0, 1149 | "y": 17 1150 | }, 1151 | "id": 20, 1152 | "interval": null, 1153 | "links": [], 1154 | "options": { 1155 | "displayMode": "lcd", 1156 | "orientation": "horizontal", 1157 | "reduceOptions": { 1158 | "calcs": [ 1159 | "mean" 1160 | ], 1161 | "fields": "", 1162 | "values": false 1163 | }, 1164 | "showUnfilled": true, 1165 | "text": {} 1166 | }, 1167 | "pluginVersion": "8.0.4", 1168 | "targets": [ 1169 | { 1170 | "application": { 1171 | "filter": "Network" 1172 | }, 1173 | "expr": "mktxp_dhcp_lease_active_count{routerboard_address=\"$node\"}", 1174 | "format": "time_series", 1175 | "functions": [], 1176 | "group": { 1177 | "filter": "Network" 1178 | }, 1179 | "hide": false, 1180 | "host": { 1181 | "filter": "MikroTik Router" 1182 | }, 1183 | "instant": true, 1184 | "interval": "", 1185 | "intervalFactor": 1, 1186 | "item": { 1187 | "filter": "Incoming traffic on interface ether1-gateway" 1188 | }, 1189 | "legendFormat": "{{ server }}", 1190 | "mode": 0, 1191 | "options": { 1192 | "showDisabledItems": false 1193 | }, 1194 | "refId": "A" 1195 | } 1196 | ], 1197 | "timeFrom": null, 1198 | "timeShift": null, 1199 | "title": "DHCP Leases by Server", 1200 | "type": "bargauge" 1201 | }, 1202 | { 1203 | "datasource": "Prometheus", 1204 | "fieldConfig": { 1205 | "defaults": { 1206 | "color": { 1207 | "mode": "fixed" 1208 | }, 1209 | "custom": { 1210 | "align": "center", 1211 | "displayMode": "auto", 1212 | "filterable": false 1213 | }, 1214 | "mappings": [], 1215 | "thresholds": { 1216 | "mode": "absolute", 1217 | "steps": [ 1218 | { 1219 | "color": "green", 1220 | "value": null 1221 | }, 1222 | { 1223 | "color": "red", 1224 | "value": 80 1225 | } 1226 | ] 1227 | } 1228 | }, 1229 | "overrides": [ 1230 | { 1231 | "matcher": { 1232 | "id": "byName", 1233 | "options": "__name__" 1234 | }, 1235 | "properties": [ 1236 | { 1237 | "id": "displayName" 1238 | } 1239 | ] 1240 | }, 1241 | { 1242 | "matcher": { 1243 | "id": "byName", 1244 | "options": "mac_address" 1245 | }, 1246 | "properties": [ 1247 | { 1248 | "id": "custom.width", 1249 | "value": 231 1250 | } 1251 | ] 1252 | }, 1253 | { 1254 | "matcher": { 1255 | "id": "byName", 1256 | "options": "DHCP VLAN" 1257 | }, 1258 | "properties": [ 1259 | { 1260 | "id": "custom.width", 1261 | "value": 227 1262 | } 1263 | ] 1264 | }, 1265 | { 1266 | "matcher": { 1267 | "id": "byName", 1268 | "options": "active_address" 1269 | }, 1270 | "properties": [ 1271 | { 1272 | "id": "custom.width", 1273 | "value": 240 1274 | } 1275 | ] 1276 | }, 1277 | { 1278 | "matcher": { 1279 | "id": "byName", 1280 | "options": "Host Name" 1281 | }, 1282 | "properties": [ 1283 | { 1284 | "id": "custom.width", 1285 | "value": 383 1286 | } 1287 | ] 1288 | }, 1289 | { 1290 | "matcher": { 1291 | "id": "byName", 1292 | "options": "Comment" 1293 | }, 1294 | "properties": [ 1295 | { 1296 | "id": "custom.width", 1297 | "value": 360 1298 | } 1299 | ] 1300 | } 1301 | ] 1302 | }, 1303 | "gridPos": { 1304 | "h": 11, 1305 | "w": 19, 1306 | "x": 5, 1307 | "y": 17 1308 | }, 1309 | "id": 25, 1310 | "options": { 1311 | "showHeader": true, 1312 | "sortBy": [ 1313 | { 1314 | "desc": true, 1315 | "displayName": "active_address" 1316 | } 1317 | ] 1318 | }, 1319 | "pluginVersion": "8.0.4", 1320 | "repeat": null, 1321 | "targets": [ 1322 | { 1323 | "expr": "mktxp_dhcp_lease_info{routerboard_address=\"$node\"}", 1324 | "format": "table", 1325 | "instant": true, 1326 | "interval": "", 1327 | "legendFormat": "", 1328 | "refId": "A" 1329 | } 1330 | ], 1331 | "timeFrom": null, 1332 | "timeShift": null, 1333 | "title": "DHCP Leases", 1334 | "transformations": [ 1335 | { 1336 | "id": "organize", 1337 | "options": { 1338 | "excludeByName": { 1339 | "Time": true, 1340 | "Value": true, 1341 | "__name__": true, 1342 | "instance": true, 1343 | "job": true, 1344 | "routerboard_address": true, 1345 | "routerboard_name": true 1346 | }, 1347 | "indexByName": { 1348 | "Time": 9, 1349 | "Value": 13, 1350 | "__name__": 8, 1351 | "active_address": 5, 1352 | "address": 4, 1353 | "comment": 1, 1354 | "expires_after": 6, 1355 | "host_name": 0, 1356 | "instance": 7, 1357 | "job": 10, 1358 | "mac_address": 3, 1359 | "routerboard_address": 11, 1360 | "routerboard_name": 12, 1361 | "server": 2 1362 | }, 1363 | "renameByName": { 1364 | "comment": "Comment", 1365 | "host_name": "Host Name", 1366 | "server": "DHCP Server" 1367 | } 1368 | } 1369 | } 1370 | ], 1371 | "type": "table" 1372 | }, 1373 | { 1374 | "cacheTimeout": null, 1375 | "datasource": "Prometheus", 1376 | "description": "", 1377 | "fieldConfig": { 1378 | "defaults": { 1379 | "decimals": 0, 1380 | "links": [], 1381 | "mappings": [], 1382 | "min": 1, 1383 | "thresholds": { 1384 | "mode": "absolute", 1385 | "steps": [ 1386 | { 1387 | "color": "green", 1388 | "value": null 1389 | }, 1390 | { 1391 | "color": "#EAB839", 1392 | "value": 30 1393 | }, 1394 | { 1395 | "color": "red", 1396 | "value": 80 1397 | } 1398 | ] 1399 | } 1400 | }, 1401 | "overrides": [] 1402 | }, 1403 | "gridPos": { 1404 | "h": 3, 1405 | "w": 5, 1406 | "x": 0, 1407 | "y": 25 1408 | }, 1409 | "id": 23, 1410 | "interval": null, 1411 | "links": [], 1412 | "options": { 1413 | "displayMode": "lcd", 1414 | "orientation": "horizontal", 1415 | "reduceOptions": { 1416 | "calcs": [ 1417 | "mean" 1418 | ], 1419 | "fields": "", 1420 | "values": false 1421 | }, 1422 | "showUnfilled": true, 1423 | "text": {} 1424 | }, 1425 | "pluginVersion": "8.0.4", 1426 | "targets": [ 1427 | { 1428 | "application": { 1429 | "filter": "Network" 1430 | }, 1431 | "expr": "sum(mktxp_dhcp_lease_active_count{routerboard_address=\"$node\"})", 1432 | "format": "time_series", 1433 | "functions": [], 1434 | "group": { 1435 | "filter": "Network" 1436 | }, 1437 | "hide": false, 1438 | "host": { 1439 | "filter": "MikroTik Router" 1440 | }, 1441 | "instant": true, 1442 | "interval": "", 1443 | "intervalFactor": 1, 1444 | "item": { 1445 | "filter": "Incoming traffic on interface ether1-gateway" 1446 | }, 1447 | "legendFormat": "In - {{ server }}", 1448 | "mode": 0, 1449 | "options": { 1450 | "showDisabledItems": false 1451 | }, 1452 | "refId": "A" 1453 | } 1454 | ], 1455 | "timeFrom": null, 1456 | "timeShift": null, 1457 | "title": "Total DHCP Leases", 1458 | "type": "bargauge" 1459 | }, 1460 | { 1461 | "collapsed": false, 1462 | "datasource": "Prometheus", 1463 | "fieldConfig": { 1464 | "defaults": {}, 1465 | "overrides": [] 1466 | }, 1467 | "gridPos": { 1468 | "h": 1, 1469 | "w": 24, 1470 | "x": 0, 1471 | "y": 28 1472 | }, 1473 | "id": 45, 1474 | "panels": [], 1475 | "title": "Network", 1476 | "type": "row" 1477 | }, 1478 | { 1479 | "datasource": "Prometheus", 1480 | "description": "", 1481 | "fieldConfig": { 1482 | "defaults": { 1483 | "mappings": [ 1484 | { 1485 | "options": { 1486 | "0": { 1487 | "text": "Unplugged" 1488 | }, 1489 | "1": { 1490 | "text": "" 1491 | } 1492 | }, 1493 | "type": "value" 1494 | } 1495 | ], 1496 | "min": 1, 1497 | "thresholds": { 1498 | "mode": "absolute", 1499 | "steps": [ 1500 | { 1501 | "color": "green", 1502 | "value": null 1503 | }, 1504 | { 1505 | "color": "yellow", 1506 | "value": 0 1507 | }, 1508 | { 1509 | "color": "green", 1510 | "value": 1 1511 | } 1512 | ] 1513 | } 1514 | }, 1515 | "overrides": [] 1516 | }, 1517 | "gridPos": { 1518 | "h": 5, 1519 | "w": 2, 1520 | "x": 0, 1521 | "y": 29 1522 | }, 1523 | "id": 70, 1524 | "options": { 1525 | "orientation": "horizontal", 1526 | "reduceOptions": { 1527 | "calcs": [ 1528 | "lastNotNull" 1529 | ], 1530 | "fields": "", 1531 | "values": false 1532 | }, 1533 | "showThresholdLabels": false, 1534 | "showThresholdMarkers": true, 1535 | "text": {} 1536 | }, 1537 | "pluginVersion": "8.0.4", 1538 | "targets": [ 1539 | { 1540 | "expr": "mktxp_routes_total_routes{routerboard_address=\"$node\"}", 1541 | "format": "time_series", 1542 | "instant": true, 1543 | "interval": "", 1544 | "legendFormat": "", 1545 | "refId": "A" 1546 | } 1547 | ], 1548 | "timeFrom": null, 1549 | "timeShift": null, 1550 | "title": "Total Routes", 1551 | "type": "gauge" 1552 | }, 1553 | { 1554 | "datasource": "Prometheus", 1555 | "fieldConfig": { 1556 | "defaults": { 1557 | "links": [], 1558 | "mappings": [], 1559 | "thresholds": { 1560 | "mode": "absolute", 1561 | "steps": [ 1562 | { 1563 | "color": "green", 1564 | "value": null 1565 | }, 1566 | { 1567 | "color": "red", 1568 | "value": 80 1569 | } 1570 | ] 1571 | } 1572 | }, 1573 | "overrides": [] 1574 | }, 1575 | "gridPos": { 1576 | "h": 5, 1577 | "w": 4, 1578 | "x": 2, 1579 | "y": 29 1580 | }, 1581 | "id": 71, 1582 | "links": [], 1583 | "options": { 1584 | "displayMode": "lcd", 1585 | "orientation": "horizontal", 1586 | "reduceOptions": { 1587 | "calcs": [ 1588 | "mean" 1589 | ], 1590 | "fields": "", 1591 | "values": false 1592 | }, 1593 | "showUnfilled": true, 1594 | "text": {} 1595 | }, 1596 | "pluginVersion": "8.0.4", 1597 | "targets": [ 1598 | { 1599 | "application": { 1600 | "filter": "Network" 1601 | }, 1602 | "expr": "mktxp_routes_protocol_count{routerboard_address=\"$node\"}", 1603 | "format": "time_series", 1604 | "functions": [], 1605 | "group": { 1606 | "filter": "Network" 1607 | }, 1608 | "hide": false, 1609 | "host": { 1610 | "filter": "MikroTik Router" 1611 | }, 1612 | "instant": true, 1613 | "interval": "", 1614 | "intervalFactor": 1, 1615 | "item": { 1616 | "filter": "/errors on interface/" 1617 | }, 1618 | "legendFormat": "{{protocol}}", 1619 | "mode": 0, 1620 | "options": { 1621 | "showDisabledItems": false 1622 | }, 1623 | "refId": "A" 1624 | } 1625 | ], 1626 | "timeFrom": null, 1627 | "timeShift": null, 1628 | "title": "Routes per protocol", 1629 | "type": "bargauge" 1630 | }, 1631 | { 1632 | "datasource": "Prometheus", 1633 | "description": "", 1634 | "fieldConfig": { 1635 | "defaults": { 1636 | "mappings": [ 1637 | { 1638 | "options": { 1639 | "0": { 1640 | "text": "No" 1641 | }, 1642 | "1": { 1643 | "text": "Yes" 1644 | } 1645 | }, 1646 | "type": "value" 1647 | } 1648 | ], 1649 | "min": 1, 1650 | "thresholds": { 1651 | "mode": "absolute", 1652 | "steps": [ 1653 | { 1654 | "color": "green", 1655 | "value": null 1656 | }, 1657 | { 1658 | "color": "yellow", 1659 | "value": 0 1660 | }, 1661 | { 1662 | "color": "green", 1663 | "value": 1 1664 | } 1665 | ] 1666 | } 1667 | }, 1668 | "overrides": [] 1669 | }, 1670 | "gridPos": { 1671 | "h": 5, 1672 | "w": 6, 1673 | "x": 6, 1674 | "y": 29 1675 | }, 1676 | "id": 69, 1677 | "options": { 1678 | "displayMode": "lcd", 1679 | "orientation": "horizontal", 1680 | "reduceOptions": { 1681 | "calcs": [ 1682 | "lastNotNull" 1683 | ], 1684 | "fields": "", 1685 | "values": false 1686 | }, 1687 | "showUnfilled": true, 1688 | "text": {} 1689 | }, 1690 | "pluginVersion": "8.0.4", 1691 | "targets": [ 1692 | { 1693 | "expr": "mktxp_interface_full_duplex{routerboard_address=\"$node\"}", 1694 | "format": "time_series", 1695 | "instant": true, 1696 | "interval": "", 1697 | "legendFormat": "{{name}}", 1698 | "refId": "A" 1699 | } 1700 | ], 1701 | "timeFrom": null, 1702 | "timeShift": null, 1703 | "title": "Ethernet Ports: Full Duplex", 1704 | "type": "bargauge" 1705 | }, 1706 | { 1707 | "aliasColors": {}, 1708 | "bars": false, 1709 | "dashLength": 10, 1710 | "dashes": false, 1711 | "datasource": "Prometheus", 1712 | "editable": true, 1713 | "error": false, 1714 | "fieldConfig": { 1715 | "defaults": { 1716 | "links": [] 1717 | }, 1718 | "overrides": [] 1719 | }, 1720 | "fill": 1, 1721 | "fillGradient": 0, 1722 | "gridPos": { 1723 | "h": 16, 1724 | "w": 12, 1725 | "x": 12, 1726 | "y": 29 1727 | }, 1728 | "hiddenSeries": false, 1729 | "id": 55, 1730 | "legend": { 1731 | "alignAsTable": true, 1732 | "avg": true, 1733 | "current": false, 1734 | "max": false, 1735 | "min": false, 1736 | "rightSide": true, 1737 | "show": true, 1738 | "total": true, 1739 | "values": true 1740 | }, 1741 | "lines": true, 1742 | "linewidth": 1, 1743 | "links": [], 1744 | "nullPointMode": "connected", 1745 | "options": { 1746 | "alertThreshold": true 1747 | }, 1748 | "paceLength": 10, 1749 | "percentage": false, 1750 | "pluginVersion": "8.0.4", 1751 | "pointradius": 5, 1752 | "points": false, 1753 | "renderer": "flot", 1754 | "seriesOverrides": [], 1755 | "spaceLength": 10, 1756 | "stack": false, 1757 | "steppedLine": false, 1758 | "targets": [ 1759 | { 1760 | "application": { 1761 | "filter": "Network" 1762 | }, 1763 | "expr": "mktxp_interface_rx_error_total{routerboard_address=\"$node\"}", 1764 | "format": "time_series", 1765 | "functions": [], 1766 | "group": { 1767 | "filter": "Network" 1768 | }, 1769 | "hide": false, 1770 | "host": { 1771 | "filter": "MikroTik Router" 1772 | }, 1773 | "interval": "", 1774 | "intervalFactor": 1, 1775 | "item": { 1776 | "filter": "/errors on interface/" 1777 | }, 1778 | "legendFormat": "In Errors | {{name}}", 1779 | "mode": 0, 1780 | "options": { 1781 | "showDisabledItems": false 1782 | }, 1783 | "refId": "A" 1784 | }, 1785 | { 1786 | "expr": "mktxp_interface_tx_error_total{routerboard_address=\"$node\"}", 1787 | "format": "time_series", 1788 | "hide": false, 1789 | "interval": "", 1790 | "intervalFactor": 1, 1791 | "legendFormat": "Out Errors | {{name}}", 1792 | "refId": "B" 1793 | } 1794 | ], 1795 | "thresholds": [], 1796 | "timeFrom": null, 1797 | "timeRegions": [], 1798 | "timeShift": null, 1799 | "title": "Interface Errors", 1800 | "tooltip": { 1801 | "msResolution": false, 1802 | "shared": true, 1803 | "sort": 0, 1804 | "value_type": "individual" 1805 | }, 1806 | "type": "graph", 1807 | "xaxis": { 1808 | "buckets": null, 1809 | "mode": "time", 1810 | "name": null, 1811 | "show": true, 1812 | "values": [] 1813 | }, 1814 | "yaxes": [ 1815 | { 1816 | "$$hashKey": "object:265", 1817 | "format": "short", 1818 | "label": null, 1819 | "logBase": 1, 1820 | "max": null, 1821 | "min": null, 1822 | "show": true 1823 | }, 1824 | { 1825 | "$$hashKey": "object:266", 1826 | "format": "short", 1827 | "label": null, 1828 | "logBase": 1, 1829 | "max": null, 1830 | "min": null, 1831 | "show": true 1832 | } 1833 | ], 1834 | "yaxis": { 1835 | "align": false, 1836 | "alignLevel": null 1837 | } 1838 | }, 1839 | { 1840 | "datasource": "Prometheus", 1841 | "description": "", 1842 | "fieldConfig": { 1843 | "defaults": { 1844 | "mappings": [ 1845 | { 1846 | "options": { 1847 | "0": { 1848 | "text": "Unplugged" 1849 | }, 1850 | "1": { 1851 | "text": "Plugged-In" 1852 | } 1853 | }, 1854 | "type": "value" 1855 | } 1856 | ], 1857 | "min": 1, 1858 | "thresholds": { 1859 | "mode": "absolute", 1860 | "steps": [ 1861 | { 1862 | "color": "green", 1863 | "value": null 1864 | }, 1865 | { 1866 | "color": "yellow", 1867 | "value": 0 1868 | }, 1869 | { 1870 | "color": "green", 1871 | "value": 1 1872 | } 1873 | ] 1874 | } 1875 | }, 1876 | "overrides": [] 1877 | }, 1878 | "gridPos": { 1879 | "h": 7, 1880 | "w": 6, 1881 | "x": 0, 1882 | "y": 34 1883 | }, 1884 | "id": 51, 1885 | "options": { 1886 | "displayMode": "lcd", 1887 | "orientation": "horizontal", 1888 | "reduceOptions": { 1889 | "calcs": [ 1890 | "last" 1891 | ], 1892 | "fields": "", 1893 | "values": false 1894 | }, 1895 | "showUnfilled": true, 1896 | "text": {} 1897 | }, 1898 | "pluginVersion": "8.0.4", 1899 | "targets": [ 1900 | { 1901 | "expr": "mktxp_interface_status{routerboard_address=\"$node\"}", 1902 | "format": "time_series", 1903 | "instant": true, 1904 | "interval": "", 1905 | "legendFormat": "{{name}}", 1906 | "refId": "A" 1907 | } 1908 | ], 1909 | "timeFrom": null, 1910 | "timeShift": null, 1911 | "title": "Ethernet Ports: Status", 1912 | "type": "bargauge" 1913 | }, 1914 | { 1915 | "datasource": "Prometheus", 1916 | "fieldConfig": { 1917 | "defaults": { 1918 | "custom": { 1919 | "align": null, 1920 | "displayMode": "auto", 1921 | "filterable": false 1922 | }, 1923 | "mappings": [], 1924 | "thresholds": { 1925 | "mode": "absolute", 1926 | "steps": [ 1927 | { 1928 | "color": "green", 1929 | "value": null 1930 | }, 1931 | { 1932 | "color": "red", 1933 | "value": 80 1934 | } 1935 | ] 1936 | }, 1937 | "unit": "Mbits" 1938 | }, 1939 | "overrides": [] 1940 | }, 1941 | "gridPos": { 1942 | "h": 7, 1943 | "w": 6, 1944 | "x": 6, 1945 | "y": 34 1946 | }, 1947 | "id": 53, 1948 | "options": { 1949 | "showHeader": true 1950 | }, 1951 | "pluginVersion": "8.0.4", 1952 | "targets": [ 1953 | { 1954 | "expr": "mktxp_interface_rate{routerboard_address=\"$node\"}", 1955 | "format": "table", 1956 | "instant": true, 1957 | "interval": "", 1958 | "legendFormat": "{{name}}", 1959 | "refId": "A" 1960 | } 1961 | ], 1962 | "timeFrom": null, 1963 | "timeShift": null, 1964 | "title": "Rates", 1965 | "transformations": [ 1966 | { 1967 | "id": "organize", 1968 | "options": { 1969 | "excludeByName": { 1970 | "Time": true, 1971 | "__name__": true, 1972 | "address": true, 1973 | "env": true, 1974 | "instance": true, 1975 | "job": true, 1976 | "name": false, 1977 | "routerboard_address": true, 1978 | "routerboard_name": true 1979 | }, 1980 | "indexByName": {}, 1981 | "renameByName": { 1982 | "Value": "Rate", 1983 | "name": "Interface", 1984 | "routerboard_name": "" 1985 | } 1986 | } 1987 | } 1988 | ], 1989 | "type": "table" 1990 | }, 1991 | { 1992 | "datasource": "Prometheus", 1993 | "fieldConfig": { 1994 | "defaults": { 1995 | "color": { 1996 | "mode": "fixed" 1997 | }, 1998 | "custom": { 1999 | "align": "center", 2000 | "displayMode": "auto", 2001 | "filterable": false 2002 | }, 2003 | "mappings": [], 2004 | "thresholds": { 2005 | "mode": "absolute", 2006 | "steps": [ 2007 | { 2008 | "color": "green", 2009 | "value": null 2010 | }, 2011 | { 2012 | "color": "red", 2013 | "value": 80 2014 | } 2015 | ] 2016 | } 2017 | }, 2018 | "overrides": [ 2019 | { 2020 | "matcher": { 2021 | "id": "byName", 2022 | "options": "__name__" 2023 | }, 2024 | "properties": [ 2025 | { 2026 | "id": "displayName" 2027 | } 2028 | ] 2029 | }, 2030 | { 2031 | "matcher": { 2032 | "id": "byName", 2033 | "options": "mac_address" 2034 | }, 2035 | "properties": [ 2036 | { 2037 | "id": "custom.width", 2038 | "value": 231 2039 | } 2040 | ] 2041 | }, 2042 | { 2043 | "matcher": { 2044 | "id": "byName", 2045 | "options": "DHCP VLAN" 2046 | }, 2047 | "properties": [ 2048 | { 2049 | "id": "custom.width", 2050 | "value": 227 2051 | } 2052 | ] 2053 | }, 2054 | { 2055 | "matcher": { 2056 | "id": "byName", 2057 | "options": "active_address" 2058 | }, 2059 | "properties": [ 2060 | { 2061 | "id": "custom.width", 2062 | "value": 240 2063 | } 2064 | ] 2065 | }, 2066 | { 2067 | "matcher": { 2068 | "id": "byName", 2069 | "options": "Host Name" 2070 | }, 2071 | "properties": [ 2072 | { 2073 | "id": "custom.width", 2074 | "value": 383 2075 | } 2076 | ] 2077 | }, 2078 | { 2079 | "matcher": { 2080 | "id": "byName", 2081 | "options": "Comment" 2082 | }, 2083 | "properties": [ 2084 | { 2085 | "id": "custom.width", 2086 | "value": 360 2087 | } 2088 | ] 2089 | } 2090 | ] 2091 | }, 2092 | "gridPos": { 2093 | "h": 4, 2094 | "w": 12, 2095 | "x": 0, 2096 | "y": 41 2097 | }, 2098 | "id": 85, 2099 | "options": { 2100 | "showHeader": true, 2101 | "sortBy": [ 2102 | { 2103 | "desc": true, 2104 | "displayName": "active_address" 2105 | } 2106 | ] 2107 | }, 2108 | "pluginVersion": "8.0.4", 2109 | "targets": [ 2110 | { 2111 | "expr": "mktxp_poe_info{routerboard_address=\"$node\"}", 2112 | "format": "table", 2113 | "instant": true, 2114 | "interval": "", 2115 | "legendFormat": "", 2116 | "refId": "A" 2117 | } 2118 | ], 2119 | "timeFrom": null, 2120 | "timeShift": null, 2121 | "title": "POE", 2122 | "transformations": [ 2123 | { 2124 | "id": "organize", 2125 | "options": { 2126 | "excludeByName": { 2127 | "Time": true, 2128 | "Value": true, 2129 | "__name__": true, 2130 | "instance": true, 2131 | "job": true, 2132 | "routerboard_address": true, 2133 | "routerboard_name": true 2134 | }, 2135 | "indexByName": { 2136 | "Time": 9, 2137 | "Value": 13, 2138 | "__name__": 8, 2139 | "active_address": 5, 2140 | "address": 4, 2141 | "comment": 1, 2142 | "expires_after": 6, 2143 | "host_name": 0, 2144 | "instance": 7, 2145 | "job": 10, 2146 | "mac_address": 3, 2147 | "routerboard_address": 11, 2148 | "routerboard_name": 12, 2149 | "server": 2 2150 | }, 2151 | "renameByName": { 2152 | "comment": "Comment", 2153 | "host_name": "Host Name", 2154 | "name": "Interface", 2155 | "poe_out": "State", 2156 | "poe_out_status": "Status", 2157 | "poe_priority": "Priority", 2158 | "server": "DHCP Server" 2159 | } 2160 | } 2161 | } 2162 | ], 2163 | "type": "table" 2164 | }, 2165 | { 2166 | "collapsed": false, 2167 | "datasource": "Prometheus", 2168 | "fieldConfig": { 2169 | "defaults": {}, 2170 | "overrides": [] 2171 | }, 2172 | "gridPos": { 2173 | "h": 1, 2174 | "w": 24, 2175 | "x": 0, 2176 | "y": 45 2177 | }, 2178 | "id": 84, 2179 | "panels": [], 2180 | "title": "Firewall", 2181 | "type": "row" 2182 | }, 2183 | { 2184 | "aliasColors": { 2185 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 2186 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 2187 | }, 2188 | "bars": false, 2189 | "dashLength": 10, 2190 | "dashes": false, 2191 | "datasource": "Prometheus", 2192 | "description": "", 2193 | "editable": true, 2194 | "error": false, 2195 | "fieldConfig": { 2196 | "defaults": { 2197 | "links": [], 2198 | "unit": "decbytes" 2199 | }, 2200 | "overrides": [] 2201 | }, 2202 | "fill": 3, 2203 | "fillGradient": 0, 2204 | "gridPos": { 2205 | "h": 7, 2206 | "w": 12, 2207 | "x": 0, 2208 | "y": 46 2209 | }, 2210 | "hiddenSeries": false, 2211 | "id": 81, 2212 | "legend": { 2213 | "alignAsTable": true, 2214 | "avg": true, 2215 | "current": false, 2216 | "hideEmpty": false, 2217 | "hideZero": true, 2218 | "max": true, 2219 | "min": true, 2220 | "rightSide": false, 2221 | "show": true, 2222 | "sideWidth": null, 2223 | "total": false, 2224 | "values": true 2225 | }, 2226 | "lines": true, 2227 | "linewidth": 1, 2228 | "links": [], 2229 | "nullPointMode": "connected", 2230 | "options": { 2231 | "alertThreshold": true 2232 | }, 2233 | "paceLength": 10, 2234 | "percentage": false, 2235 | "pluginVersion": "8.0.4", 2236 | "pointradius": 5, 2237 | "points": false, 2238 | "renderer": "flot", 2239 | "seriesOverrides": [], 2240 | "spaceLength": 10, 2241 | "stack": false, 2242 | "steppedLine": false, 2243 | "targets": [ 2244 | { 2245 | "application": { 2246 | "filter": "Network" 2247 | }, 2248 | "expr": "rate(mktxp_firewall_filter_total{routerboard_address=\"$node\", log=\"1\"}[4m])", 2249 | "format": "time_series", 2250 | "functions": [], 2251 | "group": { 2252 | "filter": "Network" 2253 | }, 2254 | "hide": false, 2255 | "host": { 2256 | "filter": "MikroTik Router" 2257 | }, 2258 | "instant": false, 2259 | "interval": "", 2260 | "intervalFactor": 1, 2261 | "item": { 2262 | "filter": "Incoming traffic on interface ether1-gateway" 2263 | }, 2264 | "legendFormat": "{{ name }}", 2265 | "mode": 0, 2266 | "options": { 2267 | "showDisabledItems": false 2268 | }, 2269 | "refId": "A" 2270 | } 2271 | ], 2272 | "thresholds": [], 2273 | "timeFrom": null, 2274 | "timeRegions": [], 2275 | "timeShift": null, 2276 | "title": "Logged Firewall Rules Traffic ", 2277 | "tooltip": { 2278 | "msResolution": false, 2279 | "shared": true, 2280 | "sort": 2, 2281 | "value_type": "individual" 2282 | }, 2283 | "type": "graph", 2284 | "xaxis": { 2285 | "buckets": null, 2286 | "mode": "time", 2287 | "name": null, 2288 | "show": true, 2289 | "values": [] 2290 | }, 2291 | "yaxes": [ 2292 | { 2293 | "$$hashKey": "object:706", 2294 | "format": "decbytes", 2295 | "label": "", 2296 | "logBase": 2, 2297 | "max": null, 2298 | "min": null, 2299 | "show": true 2300 | }, 2301 | { 2302 | "$$hashKey": "object:707", 2303 | "format": "short", 2304 | "label": null, 2305 | "logBase": 1, 2306 | "max": null, 2307 | "min": null, 2308 | "show": false 2309 | } 2310 | ], 2311 | "yaxis": { 2312 | "align": false, 2313 | "alignLevel": null 2314 | } 2315 | }, 2316 | { 2317 | "aliasColors": { 2318 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 2319 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 2320 | }, 2321 | "bars": false, 2322 | "dashLength": 10, 2323 | "dashes": false, 2324 | "datasource": "Prometheus", 2325 | "description": "", 2326 | "editable": true, 2327 | "error": false, 2328 | "fieldConfig": { 2329 | "defaults": { 2330 | "links": [], 2331 | "unit": "decbytes" 2332 | }, 2333 | "overrides": [] 2334 | }, 2335 | "fill": 3, 2336 | "fillGradient": 0, 2337 | "gridPos": { 2338 | "h": 7, 2339 | "w": 12, 2340 | "x": 12, 2341 | "y": 46 2342 | }, 2343 | "hiddenSeries": false, 2344 | "id": 82, 2345 | "legend": { 2346 | "alignAsTable": true, 2347 | "avg": true, 2348 | "current": false, 2349 | "hideEmpty": false, 2350 | "hideZero": true, 2351 | "max": true, 2352 | "min": true, 2353 | "rightSide": false, 2354 | "show": true, 2355 | "sideWidth": null, 2356 | "total": false, 2357 | "values": true 2358 | }, 2359 | "lines": true, 2360 | "linewidth": 1, 2361 | "links": [], 2362 | "nullPointMode": "connected", 2363 | "options": { 2364 | "alertThreshold": true 2365 | }, 2366 | "paceLength": 10, 2367 | "percentage": false, 2368 | "pluginVersion": "8.0.4", 2369 | "pointradius": 5, 2370 | "points": false, 2371 | "renderer": "flot", 2372 | "seriesOverrides": [], 2373 | "spaceLength": 10, 2374 | "stack": false, 2375 | "steppedLine": false, 2376 | "targets": [ 2377 | { 2378 | "application": { 2379 | "filter": "Network" 2380 | }, 2381 | "expr": "rate(mktxp_firewall_raw_total{routerboard_address=\"$node\", log=\"1\"}[4m])", 2382 | "format": "time_series", 2383 | "functions": [], 2384 | "group": { 2385 | "filter": "Network" 2386 | }, 2387 | "hide": false, 2388 | "host": { 2389 | "filter": "MikroTik Router" 2390 | }, 2391 | "instant": false, 2392 | "interval": "", 2393 | "intervalFactor": 1, 2394 | "item": { 2395 | "filter": "Incoming traffic on interface ether1-gateway" 2396 | }, 2397 | "legendFormat": "{{ name }}", 2398 | "mode": 0, 2399 | "options": { 2400 | "showDisabledItems": false 2401 | }, 2402 | "refId": "A" 2403 | } 2404 | ], 2405 | "thresholds": [], 2406 | "timeFrom": null, 2407 | "timeRegions": [], 2408 | "timeShift": null, 2409 | "title": "Logged Raw Firewall Rules Traffic ", 2410 | "tooltip": { 2411 | "msResolution": false, 2412 | "shared": true, 2413 | "sort": 2, 2414 | "value_type": "individual" 2415 | }, 2416 | "type": "graph", 2417 | "xaxis": { 2418 | "buckets": null, 2419 | "mode": "time", 2420 | "name": null, 2421 | "show": true, 2422 | "values": [] 2423 | }, 2424 | "yaxes": [ 2425 | { 2426 | "$$hashKey": "object:706", 2427 | "format": "decbytes", 2428 | "label": "", 2429 | "logBase": 2, 2430 | "max": null, 2431 | "min": null, 2432 | "show": true 2433 | }, 2434 | { 2435 | "$$hashKey": "object:707", 2436 | "format": "short", 2437 | "label": null, 2438 | "logBase": 1, 2439 | "max": null, 2440 | "min": null, 2441 | "show": false 2442 | } 2443 | ], 2444 | "yaxis": { 2445 | "align": false, 2446 | "alignLevel": null 2447 | } 2448 | }, 2449 | { 2450 | "aliasColors": { 2451 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 2452 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 2453 | }, 2454 | "bars": false, 2455 | "dashLength": 10, 2456 | "dashes": false, 2457 | "datasource": "Prometheus", 2458 | "description": "", 2459 | "editable": true, 2460 | "error": false, 2461 | "fieldConfig": { 2462 | "defaults": { 2463 | "links": [], 2464 | "unit": "decbytes" 2465 | }, 2466 | "overrides": [] 2467 | }, 2468 | "fill": 3, 2469 | "fillGradient": 0, 2470 | "gridPos": { 2471 | "h": 11, 2472 | "w": 12, 2473 | "x": 0, 2474 | "y": 53 2475 | }, 2476 | "hiddenSeries": false, 2477 | "id": 43, 2478 | "legend": { 2479 | "alignAsTable": true, 2480 | "avg": true, 2481 | "current": false, 2482 | "hideEmpty": false, 2483 | "hideZero": true, 2484 | "max": true, 2485 | "min": true, 2486 | "rightSide": false, 2487 | "show": true, 2488 | "sideWidth": null, 2489 | "total": false, 2490 | "values": true 2491 | }, 2492 | "lines": true, 2493 | "linewidth": 1, 2494 | "links": [], 2495 | "nullPointMode": "connected", 2496 | "options": { 2497 | "alertThreshold": true 2498 | }, 2499 | "paceLength": 10, 2500 | "percentage": false, 2501 | "pluginVersion": "8.0.4", 2502 | "pointradius": 5, 2503 | "points": false, 2504 | "renderer": "flot", 2505 | "seriesOverrides": [], 2506 | "spaceLength": 10, 2507 | "stack": false, 2508 | "steppedLine": false, 2509 | "targets": [ 2510 | { 2511 | "application": { 2512 | "filter": "Network" 2513 | }, 2514 | "expr": "rate(mktxp_firewall_filter_total{routerboard_address=\"$node\"}[4m])", 2515 | "format": "time_series", 2516 | "functions": [], 2517 | "group": { 2518 | "filter": "Network" 2519 | }, 2520 | "hide": false, 2521 | "host": { 2522 | "filter": "MikroTik Router" 2523 | }, 2524 | "instant": false, 2525 | "interval": "", 2526 | "intervalFactor": 1, 2527 | "item": { 2528 | "filter": "Incoming traffic on interface ether1-gateway" 2529 | }, 2530 | "legendFormat": "{{ name }}", 2531 | "mode": 0, 2532 | "options": { 2533 | "showDisabledItems": false 2534 | }, 2535 | "refId": "A" 2536 | } 2537 | ], 2538 | "thresholds": [], 2539 | "timeFrom": null, 2540 | "timeRegions": [], 2541 | "timeShift": null, 2542 | "title": "Firewall Rules Traffic ", 2543 | "tooltip": { 2544 | "msResolution": false, 2545 | "shared": true, 2546 | "sort": 2, 2547 | "value_type": "individual" 2548 | }, 2549 | "type": "graph", 2550 | "xaxis": { 2551 | "buckets": null, 2552 | "mode": "time", 2553 | "name": null, 2554 | "show": true, 2555 | "values": [] 2556 | }, 2557 | "yaxes": [ 2558 | { 2559 | "$$hashKey": "object:706", 2560 | "format": "decbytes", 2561 | "label": "", 2562 | "logBase": 2, 2563 | "max": null, 2564 | "min": null, 2565 | "show": true 2566 | }, 2567 | { 2568 | "$$hashKey": "object:707", 2569 | "format": "short", 2570 | "label": null, 2571 | "logBase": 1, 2572 | "max": null, 2573 | "min": null, 2574 | "show": false 2575 | } 2576 | ], 2577 | "yaxis": { 2578 | "align": false, 2579 | "alignLevel": null 2580 | } 2581 | }, 2582 | { 2583 | "aliasColors": { 2584 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 2585 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 2586 | }, 2587 | "bars": false, 2588 | "dashLength": 10, 2589 | "dashes": false, 2590 | "datasource": "Prometheus", 2591 | "description": "", 2592 | "editable": true, 2593 | "error": false, 2594 | "fieldConfig": { 2595 | "defaults": { 2596 | "links": [], 2597 | "unit": "decbytes" 2598 | }, 2599 | "overrides": [] 2600 | }, 2601 | "fill": 3, 2602 | "fillGradient": 0, 2603 | "gridPos": { 2604 | "h": 11, 2605 | "w": 12, 2606 | "x": 12, 2607 | "y": 53 2608 | }, 2609 | "hiddenSeries": false, 2610 | "id": 76, 2611 | "legend": { 2612 | "alignAsTable": true, 2613 | "avg": true, 2614 | "current": false, 2615 | "hideEmpty": false, 2616 | "hideZero": true, 2617 | "max": true, 2618 | "min": true, 2619 | "rightSide": false, 2620 | "show": true, 2621 | "sideWidth": null, 2622 | "total": false, 2623 | "values": true 2624 | }, 2625 | "lines": true, 2626 | "linewidth": 1, 2627 | "links": [], 2628 | "nullPointMode": "connected", 2629 | "options": { 2630 | "alertThreshold": true 2631 | }, 2632 | "paceLength": 10, 2633 | "percentage": false, 2634 | "pluginVersion": "8.0.4", 2635 | "pointradius": 5, 2636 | "points": false, 2637 | "renderer": "flot", 2638 | "seriesOverrides": [], 2639 | "spaceLength": 10, 2640 | "stack": false, 2641 | "steppedLine": false, 2642 | "targets": [ 2643 | { 2644 | "application": { 2645 | "filter": "Network" 2646 | }, 2647 | "expr": "rate(mktxp_firewall_raw_total{routerboard_address=\"$node\"}[4m])", 2648 | "format": "time_series", 2649 | "functions": [], 2650 | "group": { 2651 | "filter": "Network" 2652 | }, 2653 | "hide": false, 2654 | "host": { 2655 | "filter": "MikroTik Router" 2656 | }, 2657 | "instant": false, 2658 | "interval": "", 2659 | "intervalFactor": 1, 2660 | "item": { 2661 | "filter": "Incoming traffic on interface ether1-gateway" 2662 | }, 2663 | "legendFormat": "{{ name }}", 2664 | "mode": 0, 2665 | "options": { 2666 | "showDisabledItems": false 2667 | }, 2668 | "refId": "A" 2669 | } 2670 | ], 2671 | "thresholds": [], 2672 | "timeFrom": null, 2673 | "timeRegions": [], 2674 | "timeShift": null, 2675 | "title": "Raw Firewall Rules Traffic ", 2676 | "tooltip": { 2677 | "msResolution": false, 2678 | "shared": true, 2679 | "sort": 2, 2680 | "value_type": "individual" 2681 | }, 2682 | "type": "graph", 2683 | "xaxis": { 2684 | "buckets": null, 2685 | "mode": "time", 2686 | "name": null, 2687 | "show": true, 2688 | "values": [] 2689 | }, 2690 | "yaxes": [ 2691 | { 2692 | "$$hashKey": "object:706", 2693 | "format": "decbytes", 2694 | "label": "", 2695 | "logBase": 2, 2696 | "max": null, 2697 | "min": null, 2698 | "show": true 2699 | }, 2700 | { 2701 | "$$hashKey": "object:707", 2702 | "format": "short", 2703 | "label": null, 2704 | "logBase": 1, 2705 | "max": null, 2706 | "min": null, 2707 | "show": false 2708 | } 2709 | ], 2710 | "yaxis": { 2711 | "align": false, 2712 | "alignLevel": null 2713 | } 2714 | }, 2715 | { 2716 | "aliasColors": {}, 2717 | "bars": false, 2718 | "dashLength": 10, 2719 | "dashes": false, 2720 | "datasource": "Prometheus", 2721 | "decimals": 0, 2722 | "fieldConfig": { 2723 | "defaults": { 2724 | "links": [], 2725 | "unit": "binbps" 2726 | }, 2727 | "overrides": [] 2728 | }, 2729 | "fill": 1, 2730 | "fillGradient": 0, 2731 | "gridPos": { 2732 | "h": 7, 2733 | "w": 12, 2734 | "x": 0, 2735 | "y": 64 2736 | }, 2737 | "hiddenSeries": false, 2738 | "id": 27, 2739 | "legend": { 2740 | "alignAsTable": true, 2741 | "avg": true, 2742 | "current": true, 2743 | "hideEmpty": true, 2744 | "hideZero": true, 2745 | "max": true, 2746 | "min": false, 2747 | "show": true, 2748 | "total": false, 2749 | "values": true 2750 | }, 2751 | "lines": true, 2752 | "linewidth": 1, 2753 | "nullPointMode": "null", 2754 | "options": { 2755 | "alertThreshold": false 2756 | }, 2757 | "percentage": false, 2758 | "pluginVersion": "8.0.4", 2759 | "pointradius": 2, 2760 | "points": false, 2761 | "renderer": "flot", 2762 | "seriesOverrides": [], 2763 | "spaceLength": 10, 2764 | "stack": false, 2765 | "steppedLine": false, 2766 | "targets": [ 2767 | { 2768 | "expr": "mktxp_internet_bandwidth", 2769 | "instant": false, 2770 | "interval": "", 2771 | "legendFormat": "{{direction}}", 2772 | "refId": "A" 2773 | } 2774 | ], 2775 | "thresholds": [], 2776 | "timeFrom": null, 2777 | "timeRegions": [], 2778 | "timeShift": null, 2779 | "title": "Internet Bandwidth", 2780 | "tooltip": { 2781 | "shared": true, 2782 | "sort": 0, 2783 | "value_type": "individual" 2784 | }, 2785 | "type": "graph", 2786 | "xaxis": { 2787 | "buckets": null, 2788 | "mode": "time", 2789 | "name": null, 2790 | "show": true, 2791 | "values": [] 2792 | }, 2793 | "yaxes": [ 2794 | { 2795 | "$$hashKey": "object:54", 2796 | "decimals": 0, 2797 | "format": "binbps", 2798 | "label": "", 2799 | "logBase": 1, 2800 | "max": null, 2801 | "min": null, 2802 | "show": true 2803 | }, 2804 | { 2805 | "$$hashKey": "object:55", 2806 | "format": "short", 2807 | "label": null, 2808 | "logBase": 1, 2809 | "max": null, 2810 | "min": null, 2811 | "show": true 2812 | } 2813 | ], 2814 | "yaxis": { 2815 | "align": false, 2816 | "alignLevel": null 2817 | } 2818 | }, 2819 | { 2820 | "aliasColors": {}, 2821 | "bars": false, 2822 | "dashLength": 10, 2823 | "dashes": false, 2824 | "datasource": "Prometheus", 2825 | "decimals": 0, 2826 | "fieldConfig": { 2827 | "defaults": { 2828 | "links": [], 2829 | "unit": "ms" 2830 | }, 2831 | "overrides": [] 2832 | }, 2833 | "fill": 1, 2834 | "fillGradient": 0, 2835 | "gridPos": { 2836 | "h": 7, 2837 | "w": 12, 2838 | "x": 12, 2839 | "y": 64 2840 | }, 2841 | "hiddenSeries": false, 2842 | "id": 74, 2843 | "legend": { 2844 | "alignAsTable": true, 2845 | "avg": true, 2846 | "current": true, 2847 | "hideEmpty": true, 2848 | "hideZero": true, 2849 | "max": true, 2850 | "min": false, 2851 | "show": true, 2852 | "total": false, 2853 | "values": true 2854 | }, 2855 | "lines": true, 2856 | "linewidth": 1, 2857 | "nullPointMode": "null", 2858 | "options": { 2859 | "alertThreshold": false 2860 | }, 2861 | "percentage": false, 2862 | "pluginVersion": "8.0.4", 2863 | "pointradius": 2, 2864 | "points": false, 2865 | "renderer": "flot", 2866 | "seriesOverrides": [], 2867 | "spaceLength": 10, 2868 | "stack": false, 2869 | "steppedLine": false, 2870 | "targets": [ 2871 | { 2872 | "expr": "mktxp_internet_latency", 2873 | "instant": false, 2874 | "interval": "", 2875 | "legendFormat": "latency", 2876 | "refId": "A" 2877 | } 2878 | ], 2879 | "thresholds": [], 2880 | "timeFrom": null, 2881 | "timeRegions": [], 2882 | "timeShift": null, 2883 | "title": "Internet Latency", 2884 | "tooltip": { 2885 | "shared": true, 2886 | "sort": 0, 2887 | "value_type": "individual" 2888 | }, 2889 | "type": "graph", 2890 | "xaxis": { 2891 | "buckets": null, 2892 | "mode": "time", 2893 | "name": null, 2894 | "show": true, 2895 | "values": [] 2896 | }, 2897 | "yaxes": [ 2898 | { 2899 | "$$hashKey": "object:54", 2900 | "decimals": 0, 2901 | "format": "ms", 2902 | "label": "", 2903 | "logBase": 1, 2904 | "max": null, 2905 | "min": null, 2906 | "show": true 2907 | }, 2908 | { 2909 | "$$hashKey": "object:55", 2910 | "format": "short", 2911 | "label": null, 2912 | "logBase": 1, 2913 | "max": null, 2914 | "min": null, 2915 | "show": false 2916 | } 2917 | ], 2918 | "yaxis": { 2919 | "align": false, 2920 | "alignLevel": null 2921 | } 2922 | }, 2923 | { 2924 | "collapsed": false, 2925 | "datasource": "Prometheus", 2926 | "fieldConfig": { 2927 | "defaults": {}, 2928 | "overrides": [] 2929 | }, 2930 | "gridPos": { 2931 | "h": 1, 2932 | "w": 24, 2933 | "x": 0, 2934 | "y": 71 2935 | }, 2936 | "id": 90, 2937 | "panels": [], 2938 | "title": "Netwatch", 2939 | "type": "row" 2940 | }, 2941 | { 2942 | "cards": { 2943 | "cardHSpacing": 2, 2944 | "cardMinWidth": 5, 2945 | "cardRound": null, 2946 | "cardVSpacing": 2 2947 | }, 2948 | "color": { 2949 | "cardColor": "#b4ff00", 2950 | "colorScale": "sqrt", 2951 | "colorScheme": "interpolateGnYlRd", 2952 | "defaultColor": "#757575", 2953 | "exponent": 0.5, 2954 | "mode": "discrete", 2955 | "thresholds": [ 2956 | { 2957 | "$$hashKey": "object:1491", 2958 | "color": "#56A64B", 2959 | "tooltip": "Up", 2960 | "value": "1" 2961 | }, 2962 | { 2963 | "$$hashKey": "object:96", 2964 | "color": "#E02F44", 2965 | "tooltip": "Down", 2966 | "value": "0" 2967 | } 2968 | ] 2969 | }, 2970 | "datasource": "Prometheus", 2971 | "description": "", 2972 | "gridPos": { 2973 | "h": 8, 2974 | "w": 12, 2975 | "x": 0, 2976 | "y": 72 2977 | }, 2978 | "highlightCards": true, 2979 | "id": 87, 2980 | "legend": { 2981 | "show": true 2982 | }, 2983 | "links": [], 2984 | "nullPointMode": "as empty", 2985 | "pageSize": 15, 2986 | "pluginVersion": "7.4.5", 2987 | "seriesFilterIndex": -1, 2988 | "statusmap": { 2989 | "ConfigVersion": "v1" 2990 | }, 2991 | "targets": [ 2992 | { 2993 | "application": { 2994 | "filter": "Network" 2995 | }, 2996 | "expr": "max_over_time(mktxp_netwatch_status{routerboard_address=\"$node\"}[1m])", 2997 | "format": "time_series", 2998 | "functions": [], 2999 | "group": { 3000 | "filter": "Network" 3001 | }, 3002 | "hide": false, 3003 | "host": { 3004 | "filter": "MikroTik Router" 3005 | }, 3006 | "instant": false, 3007 | "interval": "", 3008 | "intervalFactor": 1, 3009 | "item": { 3010 | "filter": "Incoming traffic on interface ether1-gateway" 3011 | }, 3012 | "legendFormat": "{{ name }}", 3013 | "mode": 0, 3014 | "options": { 3015 | "showDisabledItems": false 3016 | }, 3017 | "refId": "A" 3018 | } 3019 | ], 3020 | "timeFrom": null, 3021 | "timeShift": null, 3022 | "title": "Status over time", 3023 | "tooltip": { 3024 | "customContent": "", 3025 | "extraInfo": "", 3026 | "freezeOnClick": true, 3027 | "items": [], 3028 | "show": true, 3029 | "showCustomContent": true, 3030 | "showExtraInfo": false, 3031 | "showItems": false 3032 | }, 3033 | "type": "flant-statusmap-panel", 3034 | "useMax": true, 3035 | "usingPagination": false, 3036 | "xAxis": { 3037 | "show": true 3038 | }, 3039 | "yAxis": { 3040 | "maxWidth": -1, 3041 | "minWidth": -1, 3042 | "show": true 3043 | }, 3044 | "yAxisSort": "metrics", 3045 | "yLabel": { 3046 | "delimiter": "", 3047 | "labelTemplate": "", 3048 | "usingSplitLabel": false 3049 | } 3050 | }, 3051 | { 3052 | "datasource": "Prometheus", 3053 | "fieldConfig": { 3054 | "defaults": { 3055 | "color": { 3056 | "mode": "fixed" 3057 | }, 3058 | "custom": { 3059 | "align": "center", 3060 | "displayMode": "color-text", 3061 | "filterable": false 3062 | }, 3063 | "mappings": [], 3064 | "thresholds": { 3065 | "mode": "absolute", 3066 | "steps": [ 3067 | { 3068 | "color": "green", 3069 | "value": null 3070 | }, 3071 | { 3072 | "color": "red", 3073 | "value": 0 3074 | }, 3075 | { 3076 | "color": "green", 3077 | "value": 1 3078 | } 3079 | ] 3080 | } 3081 | }, 3082 | "overrides": [ 3083 | { 3084 | "matcher": { 3085 | "id": "byName", 3086 | "options": "Status" 3087 | }, 3088 | "properties": [ 3089 | { 3090 | "id": "mappings", 3091 | "value": [ 3092 | { 3093 | "options": { 3094 | "0": { 3095 | "text": "Down" 3096 | }, 3097 | "1": { 3098 | "text": "Up" 3099 | } 3100 | }, 3101 | "type": "value" 3102 | } 3103 | ] 3104 | }, 3105 | { 3106 | "id": "color", 3107 | "value": { 3108 | "mode": "fixed" 3109 | } 3110 | }, 3111 | { 3112 | "id": "color" 3113 | } 3114 | ] 3115 | } 3116 | ] 3117 | }, 3118 | "gridPos": { 3119 | "h": 8, 3120 | "w": 12, 3121 | "x": 12, 3122 | "y": 72 3123 | }, 3124 | "id": 88, 3125 | "options": { 3126 | "showHeader": true, 3127 | "sortBy": [] 3128 | }, 3129 | "pluginVersion": "8.0.4", 3130 | "targets": [ 3131 | { 3132 | "expr": "mktxp_netwatch_info{routerboard_address=\"$node\"}", 3133 | "format": "table", 3134 | "instant": true, 3135 | "interval": "", 3136 | "legendFormat": "", 3137 | "refId": "A" 3138 | } 3139 | ], 3140 | "timeFrom": null, 3141 | "timeShift": null, 3142 | "title": "Netwatch Info", 3143 | "transformations": [ 3144 | { 3145 | "id": "organize", 3146 | "options": { 3147 | "excludeByName": { 3148 | "Time": true, 3149 | "Value": true, 3150 | "__name__": true, 3151 | "disabled": true, 3152 | "instance": true, 3153 | "job": true, 3154 | "name": true, 3155 | "routerboard_address": true, 3156 | "routerboard_name": true, 3157 | "timeout": true 3158 | }, 3159 | "indexByName": { 3160 | "Time": 5, 3161 | "Value": 9, 3162 | "__name__": 4, 3163 | "comment": 1, 3164 | "host": 0, 3165 | "instance": 3, 3166 | "interval": 11, 3167 | "job": 6, 3168 | "name": 12, 3169 | "routerboard_address": 7, 3170 | "routerboard_name": 8, 3171 | "since": 10, 3172 | "status": 2, 3173 | "timeout": 13 3174 | }, 3175 | "renameByName": { 3176 | "comment": "Comment", 3177 | "host": "Host", 3178 | "host_name": "Host Name", 3179 | "interval": "Interval", 3180 | "server": "DHCP Server", 3181 | "since": "Since", 3182 | "status": "Status" 3183 | } 3184 | } 3185 | } 3186 | ], 3187 | "type": "table" 3188 | }, 3189 | { 3190 | "collapsed": false, 3191 | "datasource": "Prometheus", 3192 | "fieldConfig": { 3193 | "defaults": {}, 3194 | "overrides": [] 3195 | }, 3196 | "gridPos": { 3197 | "h": 1, 3198 | "w": 24, 3199 | "x": 0, 3200 | "y": 80 3201 | }, 3202 | "id": 29, 3203 | "panels": [], 3204 | "title": "Wireless", 3205 | "type": "row" 3206 | }, 3207 | { 3208 | "aliasColors": {}, 3209 | "bars": false, 3210 | "dashLength": 10, 3211 | "dashes": false, 3212 | "datasource": "Prometheus", 3213 | "fieldConfig": { 3214 | "defaults": { 3215 | "links": [] 3216 | }, 3217 | "overrides": [] 3218 | }, 3219 | "fill": 1, 3220 | "fillGradient": 0, 3221 | "gridPos": { 3222 | "h": 8, 3223 | "w": 12, 3224 | "x": 0, 3225 | "y": 81 3226 | }, 3227 | "hiddenSeries": false, 3228 | "id": 31, 3229 | "legend": { 3230 | "alignAsTable": true, 3231 | "avg": true, 3232 | "current": true, 3233 | "hideEmpty": true, 3234 | "hideZero": true, 3235 | "max": true, 3236 | "min": true, 3237 | "show": true, 3238 | "total": false, 3239 | "values": true 3240 | }, 3241 | "lines": true, 3242 | "linewidth": 1, 3243 | "nullPointMode": "null", 3244 | "options": { 3245 | "alertThreshold": true 3246 | }, 3247 | "percentage": false, 3248 | "pluginVersion": "8.0.4", 3249 | "pointradius": 2, 3250 | "points": false, 3251 | "renderer": "flot", 3252 | "seriesOverrides": [], 3253 | "spaceLength": 10, 3254 | "stack": false, 3255 | "steppedLine": false, 3256 | "targets": [ 3257 | { 3258 | "expr": "mktxp_wlan_noise_floor{routerboard_address=\"$node\"}", 3259 | "interval": "", 3260 | "legendFormat": "{{channel}}", 3261 | "refId": "A" 3262 | } 3263 | ], 3264 | "thresholds": [], 3265 | "timeFrom": null, 3266 | "timeRegions": [], 3267 | "timeShift": null, 3268 | "title": "Noise Floor", 3269 | "tooltip": { 3270 | "shared": true, 3271 | "sort": 0, 3272 | "value_type": "individual" 3273 | }, 3274 | "type": "graph", 3275 | "xaxis": { 3276 | "buckets": null, 3277 | "mode": "time", 3278 | "name": null, 3279 | "show": true, 3280 | "values": [] 3281 | }, 3282 | "yaxes": [ 3283 | { 3284 | "$$hashKey": "object:156", 3285 | "decimals": 1, 3286 | "format": "dB", 3287 | "label": null, 3288 | "logBase": 1, 3289 | "max": null, 3290 | "min": null, 3291 | "show": true 3292 | }, 3293 | { 3294 | "$$hashKey": "object:157", 3295 | "format": "short", 3296 | "label": null, 3297 | "logBase": 1, 3298 | "max": null, 3299 | "min": null, 3300 | "show": false 3301 | } 3302 | ], 3303 | "yaxis": { 3304 | "align": false, 3305 | "alignLevel": null 3306 | } 3307 | }, 3308 | { 3309 | "aliasColors": {}, 3310 | "bars": false, 3311 | "dashLength": 10, 3312 | "dashes": false, 3313 | "datasource": "Prometheus", 3314 | "decimals": 2, 3315 | "fieldConfig": { 3316 | "defaults": { 3317 | "links": [] 3318 | }, 3319 | "overrides": [] 3320 | }, 3321 | "fill": 1, 3322 | "fillGradient": 0, 3323 | "gridPos": { 3324 | "h": 8, 3325 | "w": 12, 3326 | "x": 12, 3327 | "y": 81 3328 | }, 3329 | "hiddenSeries": false, 3330 | "id": 73, 3331 | "legend": { 3332 | "alignAsTable": true, 3333 | "avg": true, 3334 | "current": true, 3335 | "hideEmpty": true, 3336 | "hideZero": true, 3337 | "max": true, 3338 | "min": true, 3339 | "show": true, 3340 | "total": false, 3341 | "values": true 3342 | }, 3343 | "lines": true, 3344 | "linewidth": 1, 3345 | "nullPointMode": "null", 3346 | "options": { 3347 | "alertThreshold": true 3348 | }, 3349 | "percentage": false, 3350 | "pluginVersion": "8.0.4", 3351 | "pointradius": 2, 3352 | "points": false, 3353 | "renderer": "flot", 3354 | "seriesOverrides": [], 3355 | "spaceLength": 10, 3356 | "stack": false, 3357 | "steppedLine": false, 3358 | "targets": [ 3359 | { 3360 | "expr": "mktxp_wlan_overall_tx_ccq{routerboard_address=\"$node\"}", 3361 | "instant": false, 3362 | "interval": "", 3363 | "legendFormat": "{{channel}}", 3364 | "refId": "A" 3365 | } 3366 | ], 3367 | "thresholds": [], 3368 | "timeFrom": null, 3369 | "timeRegions": [], 3370 | "timeShift": null, 3371 | "title": "Overall Tx CCQ", 3372 | "tooltip": { 3373 | "shared": true, 3374 | "sort": 0, 3375 | "value_type": "individual" 3376 | }, 3377 | "type": "graph", 3378 | "xaxis": { 3379 | "buckets": null, 3380 | "mode": "time", 3381 | "name": null, 3382 | "show": true, 3383 | "values": [] 3384 | }, 3385 | "yaxes": [ 3386 | { 3387 | "$$hashKey": "object:54", 3388 | "decimals": 2, 3389 | "format": "percent", 3390 | "label": null, 3391 | "logBase": 1, 3392 | "max": "100", 3393 | "min": null, 3394 | "show": true 3395 | }, 3396 | { 3397 | "$$hashKey": "object:55", 3398 | "format": "short", 3399 | "label": null, 3400 | "logBase": 1, 3401 | "max": null, 3402 | "min": null, 3403 | "show": true 3404 | } 3405 | ], 3406 | "yaxis": { 3407 | "align": false, 3408 | "alignLevel": null 3409 | } 3410 | }, 3411 | { 3412 | "datasource": "Prometheus", 3413 | "fieldConfig": { 3414 | "defaults": { 3415 | "color": { 3416 | "mode": "fixed" 3417 | }, 3418 | "custom": { 3419 | "align": "center", 3420 | "displayMode": "auto", 3421 | "filterable": false 3422 | }, 3423 | "mappings": [], 3424 | "thresholds": { 3425 | "mode": "absolute", 3426 | "steps": [ 3427 | { 3428 | "color": "green", 3429 | "value": null 3430 | }, 3431 | { 3432 | "color": "red", 3433 | "value": 80 3434 | } 3435 | ] 3436 | } 3437 | }, 3438 | "overrides": [ 3439 | { 3440 | "matcher": { 3441 | "id": "byName", 3442 | "options": "__name__" 3443 | }, 3444 | "properties": [ 3445 | { 3446 | "id": "displayName" 3447 | } 3448 | ] 3449 | }, 3450 | { 3451 | "matcher": { 3452 | "id": "byName", 3453 | "options": "rx_signal" 3454 | }, 3455 | "properties": [ 3456 | { 3457 | "id": "custom.width", 3458 | "value": 127 3459 | } 3460 | ] 3461 | }, 3462 | { 3463 | "matcher": { 3464 | "id": "byName", 3465 | "options": "name" 3466 | }, 3467 | "properties": [ 3468 | { 3469 | "id": "custom.width", 3470 | "value": 267 3471 | } 3472 | ] 3473 | }, 3474 | { 3475 | "matcher": { 3476 | "id": "byName", 3477 | "options": "mac_address" 3478 | }, 3479 | "properties": [ 3480 | { 3481 | "id": "custom.width", 3482 | "value": 165 3483 | } 3484 | ] 3485 | }, 3486 | { 3487 | "matcher": { 3488 | "id": "byName", 3489 | "options": "ssid" 3490 | }, 3491 | "properties": [ 3492 | { 3493 | "id": "custom.width", 3494 | "value": 140 3495 | } 3496 | ] 3497 | } 3498 | ] 3499 | }, 3500 | "gridPos": { 3501 | "h": 8, 3502 | "w": 12, 3503 | "x": 0, 3504 | "y": 89 3505 | }, 3506 | "id": 68, 3507 | "options": { 3508 | "showHeader": true, 3509 | "sortBy": [ 3510 | { 3511 | "desc": true, 3512 | "displayName": "rx_signal" 3513 | } 3514 | ] 3515 | }, 3516 | "pluginVersion": "8.0.4", 3517 | "repeat": null, 3518 | "targets": [ 3519 | { 3520 | "expr": "mktxp_wlan_clients_devices_info{routerboard_address=\"$node\"}", 3521 | "format": "table", 3522 | "instant": true, 3523 | "interval": "", 3524 | "legendFormat": "", 3525 | "refId": "A" 3526 | } 3527 | ], 3528 | "timeFrom": null, 3529 | "timeShift": null, 3530 | "title": "Client Devices", 3531 | "transformations": [ 3532 | { 3533 | "id": "organize", 3534 | "options": { 3535 | "excludeByName": { 3536 | "Time": true, 3537 | "Value": true, 3538 | "__name__": true, 3539 | "instance": true, 3540 | "job": true, 3541 | "routerboard_address": true, 3542 | "routerboard_name": true 3543 | }, 3544 | "indexByName": { 3545 | "Time": 0, 3546 | "Value": 13, 3547 | "__name__": 1, 3548 | "dhcp_address": 3, 3549 | "dhcp_name": 2, 3550 | "instance": 12, 3551 | "interface": 11, 3552 | "job": 5, 3553 | "mac_address": 4, 3554 | "routerboard_address": 6, 3555 | "routerboard_name": 7, 3556 | "rx_rate": 8, 3557 | "tx_rate": 9, 3558 | "uptime": 10 3559 | }, 3560 | "renameByName": {} 3561 | } 3562 | } 3563 | ], 3564 | "type": "table" 3565 | }, 3566 | { 3567 | "aliasColors": {}, 3568 | "bars": false, 3569 | "dashLength": 10, 3570 | "dashes": false, 3571 | "datasource": "Prometheus", 3572 | "decimals": 0, 3573 | "fieldConfig": { 3574 | "defaults": { 3575 | "links": [] 3576 | }, 3577 | "overrides": [] 3578 | }, 3579 | "fill": 1, 3580 | "fillGradient": 0, 3581 | "gridPos": { 3582 | "h": 8, 3583 | "w": 12, 3584 | "x": 12, 3585 | "y": 89 3586 | }, 3587 | "hiddenSeries": false, 3588 | "id": 37, 3589 | "legend": { 3590 | "alignAsTable": true, 3591 | "avg": true, 3592 | "current": true, 3593 | "hideEmpty": true, 3594 | "hideZero": true, 3595 | "max": true, 3596 | "min": true, 3597 | "show": true, 3598 | "total": false, 3599 | "values": true 3600 | }, 3601 | "lines": true, 3602 | "linewidth": 1, 3603 | "nullPointMode": "null", 3604 | "options": { 3605 | "alertThreshold": true 3606 | }, 3607 | "percentage": false, 3608 | "pluginVersion": "8.0.4", 3609 | "pointradius": 2, 3610 | "points": false, 3611 | "renderer": "flot", 3612 | "seriesOverrides": [], 3613 | "spaceLength": 10, 3614 | "stack": false, 3615 | "steppedLine": false, 3616 | "targets": [ 3617 | { 3618 | "expr": "mktxp_wlan_registered_clients{routerboard_address=\"$node\"}", 3619 | "interval": "", 3620 | "legendFormat": "{{channel}}", 3621 | "refId": "A" 3622 | } 3623 | ], 3624 | "thresholds": [], 3625 | "timeFrom": null, 3626 | "timeRegions": [], 3627 | "timeShift": null, 3628 | "title": "Number of clients", 3629 | "tooltip": { 3630 | "shared": true, 3631 | "sort": 0, 3632 | "value_type": "individual" 3633 | }, 3634 | "type": "graph", 3635 | "xaxis": { 3636 | "buckets": null, 3637 | "mode": "time", 3638 | "name": null, 3639 | "show": true, 3640 | "values": [] 3641 | }, 3642 | "yaxes": [ 3643 | { 3644 | "$$hashKey": "object:501", 3645 | "decimals": 0, 3646 | "format": "short", 3647 | "label": null, 3648 | "logBase": 1, 3649 | "max": null, 3650 | "min": null, 3651 | "show": true 3652 | }, 3653 | { 3654 | "$$hashKey": "object:502", 3655 | "format": "short", 3656 | "label": null, 3657 | "logBase": 1, 3658 | "max": null, 3659 | "min": null, 3660 | "show": true 3661 | } 3662 | ], 3663 | "yaxis": { 3664 | "align": false, 3665 | "alignLevel": null 3666 | } 3667 | }, 3668 | { 3669 | "aliasColors": {}, 3670 | "bars": false, 3671 | "dashLength": 10, 3672 | "dashes": false, 3673 | "datasource": "Prometheus", 3674 | "decimals": 0, 3675 | "description": "", 3676 | "fieldConfig": { 3677 | "defaults": { 3678 | "links": [] 3679 | }, 3680 | "overrides": [] 3681 | }, 3682 | "fill": 1, 3683 | "fillGradient": 0, 3684 | "gridPos": { 3685 | "h": 8, 3686 | "w": 12, 3687 | "x": 0, 3688 | "y": 97 3689 | }, 3690 | "hiddenSeries": false, 3691 | "id": 61, 3692 | "legend": { 3693 | "alignAsTable": true, 3694 | "avg": true, 3695 | "current": false, 3696 | "hideEmpty": true, 3697 | "hideZero": false, 3698 | "max": false, 3699 | "min": false, 3700 | "rightSide": true, 3701 | "show": true, 3702 | "total": false, 3703 | "values": true 3704 | }, 3705 | "lines": true, 3706 | "linewidth": 1, 3707 | "nullPointMode": "null", 3708 | "options": { 3709 | "alertThreshold": true 3710 | }, 3711 | "percentage": false, 3712 | "pluginVersion": "8.0.4", 3713 | "pointradius": 2, 3714 | "points": false, 3715 | "renderer": "flot", 3716 | "seriesOverrides": [], 3717 | "spaceLength": 10, 3718 | "stack": false, 3719 | "steppedLine": false, 3720 | "targets": [ 3721 | { 3722 | "expr": "mktxp_wlan_clients_tx_ccq{routerboard_address=\"$node\"}", 3723 | "instant": false, 3724 | "interval": "", 3725 | "legendFormat": "{{dhcp_name}}", 3726 | "refId": "A" 3727 | } 3728 | ], 3729 | "thresholds": [], 3730 | "timeFrom": null, 3731 | "timeRegions": [], 3732 | "timeShift": null, 3733 | "title": "WLAN Clients Tx CCQ", 3734 | "tooltip": { 3735 | "shared": true, 3736 | "sort": 0, 3737 | "value_type": "individual" 3738 | }, 3739 | "type": "graph", 3740 | "xaxis": { 3741 | "buckets": null, 3742 | "mode": "time", 3743 | "name": null, 3744 | "show": true, 3745 | "values": [] 3746 | }, 3747 | "yaxes": [ 3748 | { 3749 | "$$hashKey": "object:108", 3750 | "decimals": null, 3751 | "format": "percent", 3752 | "label": null, 3753 | "logBase": 1, 3754 | "max": "100", 3755 | "min": null, 3756 | "show": true 3757 | }, 3758 | { 3759 | "$$hashKey": "object:109", 3760 | "format": "short", 3761 | "label": null, 3762 | "logBase": 1, 3763 | "max": null, 3764 | "min": null, 3765 | "show": false 3766 | } 3767 | ], 3768 | "yaxis": { 3769 | "align": false, 3770 | "alignLevel": null 3771 | } 3772 | }, 3773 | { 3774 | "aliasColors": { 3775 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 3776 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 3777 | }, 3778 | "bars": false, 3779 | "dashLength": 10, 3780 | "dashes": false, 3781 | "datasource": "Prometheus", 3782 | "description": "", 3783 | "editable": true, 3784 | "error": false, 3785 | "fieldConfig": { 3786 | "defaults": { 3787 | "links": [] 3788 | }, 3789 | "overrides": [] 3790 | }, 3791 | "fill": 3, 3792 | "fillGradient": 0, 3793 | "gridPos": { 3794 | "h": 8, 3795 | "w": 12, 3796 | "x": 12, 3797 | "y": 97 3798 | }, 3799 | "hiddenSeries": false, 3800 | "id": 63, 3801 | "legend": { 3802 | "alignAsTable": true, 3803 | "avg": false, 3804 | "current": false, 3805 | "hideEmpty": false, 3806 | "hideZero": true, 3807 | "max": false, 3808 | "min": false, 3809 | "rightSide": true, 3810 | "show": true, 3811 | "total": false, 3812 | "values": false 3813 | }, 3814 | "lines": true, 3815 | "linewidth": 1, 3816 | "links": [], 3817 | "nullPointMode": "connected", 3818 | "options": { 3819 | "alertThreshold": true 3820 | }, 3821 | "paceLength": 10, 3822 | "percentage": false, 3823 | "pluginVersion": "8.0.4", 3824 | "pointradius": 5, 3825 | "points": false, 3826 | "renderer": "flot", 3827 | "seriesOverrides": [ 3828 | { 3829 | "$$hashKey": "object:176", 3830 | "alias": "/In/" 3831 | }, 3832 | { 3833 | "$$hashKey": "object:177", 3834 | "alias": "/Out/", 3835 | "color": "#EAB839", 3836 | "transform": "negative-Y" 3837 | } 3838 | ], 3839 | "spaceLength": 10, 3840 | "stack": false, 3841 | "steppedLine": false, 3842 | "targets": [ 3843 | { 3844 | "application": { 3845 | "filter": "Network" 3846 | }, 3847 | "expr": "rate(mktxp_wlan_clients_tx_bytes_total{routerboard_address=\"$node\"}[4m])", 3848 | "format": "time_series", 3849 | "functions": [], 3850 | "group": { 3851 | "filter": "Network" 3852 | }, 3853 | "hide": false, 3854 | "host": { 3855 | "filter": "MikroTik Router" 3856 | }, 3857 | "instant": false, 3858 | "interval": "", 3859 | "intervalFactor": 1, 3860 | "item": { 3861 | "filter": "Incoming traffic on interface ether1-gateway" 3862 | }, 3863 | "legendFormat": "In - {{ dhcp_name }}", 3864 | "mode": 0, 3865 | "options": { 3866 | "showDisabledItems": false 3867 | }, 3868 | "refId": "A" 3869 | }, 3870 | { 3871 | "application": { 3872 | "filter": "Network" 3873 | }, 3874 | "expr": "rate(mktxp_wlan_clients_rx_bytes_total{routerboard_address=\"$node\"}[4m])", 3875 | "format": "time_series", 3876 | "functions": [], 3877 | "group": { 3878 | "filter": "Network" 3879 | }, 3880 | "hide": false, 3881 | "host": { 3882 | "filter": "MikroTik Router" 3883 | }, 3884 | "interval": "", 3885 | "intervalFactor": 1, 3886 | "item": { 3887 | "filter": "Outgoing traffic on interface ether1-gateway" 3888 | }, 3889 | "legendFormat": "Out - {{ dhcp_name }}", 3890 | "mode": 0, 3891 | "options": { 3892 | "showDisabledItems": false 3893 | }, 3894 | "refId": "B" 3895 | } 3896 | ], 3897 | "thresholds": [], 3898 | "timeFrom": null, 3899 | "timeRegions": [], 3900 | "timeShift": null, 3901 | "title": "Clients Traffic", 3902 | "tooltip": { 3903 | "msResolution": false, 3904 | "shared": true, 3905 | "sort": 2, 3906 | "value_type": "individual" 3907 | }, 3908 | "type": "graph", 3909 | "xaxis": { 3910 | "buckets": null, 3911 | "mode": "time", 3912 | "name": null, 3913 | "show": true, 3914 | "values": [] 3915 | }, 3916 | "yaxes": [ 3917 | { 3918 | "$$hashKey": "object:706", 3919 | "format": "bps", 3920 | "label": null, 3921 | "logBase": 1, 3922 | "max": null, 3923 | "min": null, 3924 | "show": true 3925 | }, 3926 | { 3927 | "$$hashKey": "object:707", 3928 | "format": "short", 3929 | "label": null, 3930 | "logBase": 1, 3931 | "max": null, 3932 | "min": null, 3933 | "show": true 3934 | } 3935 | ], 3936 | "yaxis": { 3937 | "align": false, 3938 | "alignLevel": null 3939 | } 3940 | }, 3941 | { 3942 | "aliasColors": {}, 3943 | "bars": false, 3944 | "dashLength": 10, 3945 | "dashes": false, 3946 | "datasource": "Prometheus", 3947 | "decimals": 0, 3948 | "fieldConfig": { 3949 | "defaults": { 3950 | "links": [], 3951 | "unit": "dB" 3952 | }, 3953 | "overrides": [] 3954 | }, 3955 | "fill": 0, 3956 | "fillGradient": 0, 3957 | "gridPos": { 3958 | "h": 7, 3959 | "w": 12, 3960 | "x": 0, 3961 | "y": 105 3962 | }, 3963 | "hiddenSeries": false, 3964 | "id": 65, 3965 | "legend": { 3966 | "alignAsTable": false, 3967 | "avg": true, 3968 | "current": false, 3969 | "hideEmpty": false, 3970 | "hideZero": false, 3971 | "max": false, 3972 | "min": false, 3973 | "rightSide": true, 3974 | "show": true, 3975 | "total": false, 3976 | "values": true 3977 | }, 3978 | "lines": true, 3979 | "linewidth": 1, 3980 | "links": [], 3981 | "nullPointMode": "null", 3982 | "options": { 3983 | "alertThreshold": true 3984 | }, 3985 | "percentage": false, 3986 | "pluginVersion": "8.0.4", 3987 | "pointradius": 2, 3988 | "points": false, 3989 | "renderer": "flot", 3990 | "seriesOverrides": [], 3991 | "spaceLength": 10, 3992 | "stack": false, 3993 | "steppedLine": false, 3994 | "targets": [ 3995 | { 3996 | "application": { 3997 | "filter": "Network" 3998 | }, 3999 | "expr": "mktxp_wlan_clients_signal_strength{routerboard_address=\"$node\"}", 4000 | "format": "time_series", 4001 | "functions": [], 4002 | "group": { 4003 | "filter": "Network" 4004 | }, 4005 | "hide": false, 4006 | "host": { 4007 | "filter": "MikroTik Router" 4008 | }, 4009 | "instant": false, 4010 | "interval": "", 4011 | "intervalFactor": 1, 4012 | "item": { 4013 | "filter": "Incoming traffic on interface ether1-gateway" 4014 | }, 4015 | "legendFormat": "{{ dhcp_name }}", 4016 | "mode": 0, 4017 | "options": { 4018 | "showDisabledItems": false 4019 | }, 4020 | "refId": "A" 4021 | } 4022 | ], 4023 | "thresholds": [], 4024 | "timeFrom": null, 4025 | "timeRegions": [], 4026 | "timeShift": null, 4027 | "title": "Clients Signal Strength", 4028 | "tooltip": { 4029 | "shared": true, 4030 | "sort": 2, 4031 | "value_type": "individual" 4032 | }, 4033 | "type": "graph", 4034 | "xaxis": { 4035 | "buckets": null, 4036 | "mode": "time", 4037 | "name": null, 4038 | "show": true, 4039 | "values": [] 4040 | }, 4041 | "yaxes": [ 4042 | { 4043 | "$$hashKey": "object:788", 4044 | "decimals": null, 4045 | "format": "dB", 4046 | "label": null, 4047 | "logBase": 1, 4048 | "max": null, 4049 | "min": null, 4050 | "show": true 4051 | }, 4052 | { 4053 | "$$hashKey": "object:789", 4054 | "format": "short", 4055 | "label": null, 4056 | "logBase": 1, 4057 | "max": null, 4058 | "min": null, 4059 | "show": false 4060 | } 4061 | ], 4062 | "yaxis": { 4063 | "align": false, 4064 | "alignLevel": null 4065 | } 4066 | }, 4067 | { 4068 | "aliasColors": {}, 4069 | "bars": false, 4070 | "dashLength": 10, 4071 | "dashes": false, 4072 | "datasource": "Prometheus", 4073 | "fieldConfig": { 4074 | "defaults": { 4075 | "links": [], 4076 | "unit": "none" 4077 | }, 4078 | "overrides": [] 4079 | }, 4080 | "fill": 0, 4081 | "fillGradient": 0, 4082 | "gridPos": { 4083 | "h": 7, 4084 | "w": 12, 4085 | "x": 12, 4086 | "y": 105 4087 | }, 4088 | "hiddenSeries": false, 4089 | "id": 66, 4090 | "legend": { 4091 | "alignAsTable": true, 4092 | "avg": true, 4093 | "current": false, 4094 | "hideEmpty": false, 4095 | "hideZero": false, 4096 | "max": false, 4097 | "min": false, 4098 | "rightSide": true, 4099 | "show": true, 4100 | "total": false, 4101 | "values": true 4102 | }, 4103 | "lines": true, 4104 | "linewidth": 1, 4105 | "links": [], 4106 | "nullPointMode": "null", 4107 | "options": { 4108 | "alertThreshold": true 4109 | }, 4110 | "percentage": false, 4111 | "pluginVersion": "8.0.4", 4112 | "pointradius": 2, 4113 | "points": false, 4114 | "renderer": "flot", 4115 | "seriesOverrides": [], 4116 | "spaceLength": 10, 4117 | "stack": false, 4118 | "steppedLine": false, 4119 | "targets": [ 4120 | { 4121 | "application": { 4122 | "filter": "Network" 4123 | }, 4124 | "expr": "mktxp_wlan_clients_signal_to_noise{routerboard_address=\"$node\"}", 4125 | "format": "time_series", 4126 | "functions": [], 4127 | "group": { 4128 | "filter": "Network" 4129 | }, 4130 | "hide": false, 4131 | "host": { 4132 | "filter": "MikroTik Router" 4133 | }, 4134 | "instant": false, 4135 | "interval": "", 4136 | "intervalFactor": 1, 4137 | "item": { 4138 | "filter": "Incoming traffic on interface ether1-gateway" 4139 | }, 4140 | "legendFormat": "{{ dhcp_name }}", 4141 | "mode": 0, 4142 | "options": { 4143 | "showDisabledItems": false 4144 | }, 4145 | "refId": "A" 4146 | } 4147 | ], 4148 | "thresholds": [], 4149 | "timeFrom": null, 4150 | "timeRegions": [], 4151 | "timeShift": null, 4152 | "title": "Clients Signal-to-Noise ", 4153 | "tooltip": { 4154 | "shared": true, 4155 | "sort": 2, 4156 | "value_type": "individual" 4157 | }, 4158 | "type": "graph", 4159 | "xaxis": { 4160 | "buckets": null, 4161 | "mode": "time", 4162 | "name": null, 4163 | "show": true, 4164 | "values": [] 4165 | }, 4166 | "yaxes": [ 4167 | { 4168 | "$$hashKey": "object:788", 4169 | "decimals": null, 4170 | "format": "none", 4171 | "label": null, 4172 | "logBase": 1, 4173 | "max": null, 4174 | "min": null, 4175 | "show": true 4176 | }, 4177 | { 4178 | "$$hashKey": "object:789", 4179 | "format": "short", 4180 | "label": null, 4181 | "logBase": 1, 4182 | "max": null, 4183 | "min": null, 4184 | "show": true 4185 | } 4186 | ], 4187 | "yaxis": { 4188 | "align": false, 4189 | "alignLevel": null 4190 | } 4191 | }, 4192 | { 4193 | "collapsed": false, 4194 | "datasource": "Prometheus", 4195 | "fieldConfig": { 4196 | "defaults": {}, 4197 | "overrides": [] 4198 | }, 4199 | "gridPos": { 4200 | "h": 1, 4201 | "w": 24, 4202 | "x": 0, 4203 | "y": 112 4204 | }, 4205 | "id": 33, 4206 | "panels": [], 4207 | "title": "CAPsMAN", 4208 | "type": "row" 4209 | }, 4210 | { 4211 | "datasource": "Prometheus", 4212 | "fieldConfig": { 4213 | "defaults": { 4214 | "custom": { 4215 | "align": "center", 4216 | "displayMode": "auto", 4217 | "filterable": false 4218 | }, 4219 | "decimals": 2, 4220 | "mappings": [], 4221 | "thresholds": { 4222 | "mode": "absolute", 4223 | "steps": [ 4224 | { 4225 | "color": "green", 4226 | "value": null 4227 | }, 4228 | { 4229 | "color": "red", 4230 | "value": 80 4231 | } 4232 | ] 4233 | }, 4234 | "unit": "none" 4235 | }, 4236 | "overrides": [ 4237 | { 4238 | "matcher": { 4239 | "id": "byName", 4240 | "options": "board" 4241 | }, 4242 | "properties": [ 4243 | { 4244 | "id": "custom.width", 4245 | "value": 189 4246 | } 4247 | ] 4248 | }, 4249 | { 4250 | "matcher": { 4251 | "id": "byName", 4252 | "options": "identity" 4253 | }, 4254 | "properties": [ 4255 | { 4256 | "id": "custom.width", 4257 | "value": 103 4258 | } 4259 | ] 4260 | }, 4261 | { 4262 | "matcher": { 4263 | "id": "byName", 4264 | "options": "version" 4265 | }, 4266 | "properties": [ 4267 | { 4268 | "id": "custom.width", 4269 | "value": 110 4270 | } 4271 | ] 4272 | } 4273 | ] 4274 | }, 4275 | "gridPos": { 4276 | "h": 6, 4277 | "w": 6, 4278 | "x": 0, 4279 | "y": 113 4280 | }, 4281 | "id": 35, 4282 | "options": { 4283 | "showHeader": true, 4284 | "sortBy": [] 4285 | }, 4286 | "pluginVersion": "8.0.4", 4287 | "targets": [ 4288 | { 4289 | "expr": "mktxp_capsman_remote_caps_info{routerboard_address=\"$node\"}", 4290 | "format": "table", 4291 | "instant": true, 4292 | "interval": "", 4293 | "legendFormat": "{{identity}}", 4294 | "refId": "A" 4295 | } 4296 | ], 4297 | "timeFrom": null, 4298 | "timeShift": null, 4299 | "title": "Remote Caps", 4300 | "transformations": [ 4301 | { 4302 | "id": "organize", 4303 | "options": { 4304 | "excludeByName": { 4305 | "Time": true, 4306 | "Value": true, 4307 | "__name__": true, 4308 | "instance": true, 4309 | "job": true, 4310 | "routerboard_address": true, 4311 | "routerboard_name": true 4312 | }, 4313 | "indexByName": { 4314 | "Time": 0, 4315 | "Value": 10, 4316 | "__name__": 1, 4317 | "base_mac": 4, 4318 | "board": 3, 4319 | "identity": 2, 4320 | "instance": 5, 4321 | "job": 6, 4322 | "routerboard_address": 7, 4323 | "routerboard_name": 8, 4324 | "version": 9 4325 | }, 4326 | "renameByName": {} 4327 | } 4328 | } 4329 | ], 4330 | "type": "table" 4331 | }, 4332 | { 4333 | "datasource": "Prometheus", 4334 | "fieldConfig": { 4335 | "defaults": { 4336 | "color": { 4337 | "mode": "fixed" 4338 | }, 4339 | "custom": { 4340 | "align": "center", 4341 | "displayMode": "auto", 4342 | "filterable": false 4343 | }, 4344 | "mappings": [], 4345 | "thresholds": { 4346 | "mode": "absolute", 4347 | "steps": [ 4348 | { 4349 | "color": "green", 4350 | "value": null 4351 | }, 4352 | { 4353 | "color": "red", 4354 | "value": 80 4355 | } 4356 | ] 4357 | } 4358 | }, 4359 | "overrides": [ 4360 | { 4361 | "matcher": { 4362 | "id": "byName", 4363 | "options": "__name__" 4364 | }, 4365 | "properties": [ 4366 | { 4367 | "id": "displayName" 4368 | } 4369 | ] 4370 | }, 4371 | { 4372 | "matcher": { 4373 | "id": "byName", 4374 | "options": "rx_signal" 4375 | }, 4376 | "properties": [ 4377 | { 4378 | "id": "custom.width", 4379 | "value": 127 4380 | } 4381 | ] 4382 | }, 4383 | { 4384 | "matcher": { 4385 | "id": "byName", 4386 | "options": "name" 4387 | }, 4388 | "properties": [ 4389 | { 4390 | "id": "custom.width", 4391 | "value": 267 4392 | } 4393 | ] 4394 | }, 4395 | { 4396 | "matcher": { 4397 | "id": "byName", 4398 | "options": "mac_address" 4399 | }, 4400 | "properties": [ 4401 | { 4402 | "id": "custom.width", 4403 | "value": 165 4404 | } 4405 | ] 4406 | }, 4407 | { 4408 | "matcher": { 4409 | "id": "byName", 4410 | "options": "ssid" 4411 | }, 4412 | "properties": [ 4413 | { 4414 | "id": "custom.width", 4415 | "value": 140 4416 | } 4417 | ] 4418 | } 4419 | ] 4420 | }, 4421 | "gridPos": { 4422 | "h": 15, 4423 | "w": 18, 4424 | "x": 6, 4425 | "y": 113 4426 | }, 4427 | "id": 41, 4428 | "options": { 4429 | "showHeader": true, 4430 | "sortBy": [ 4431 | { 4432 | "desc": true, 4433 | "displayName": "rx_signal" 4434 | } 4435 | ] 4436 | }, 4437 | "pluginVersion": "8.0.4", 4438 | "repeat": null, 4439 | "targets": [ 4440 | { 4441 | "expr": "mktxp_capsman_clients_devices_info{routerboard_address=\"$node\"}", 4442 | "format": "table", 4443 | "instant": true, 4444 | "interval": "", 4445 | "legendFormat": "", 4446 | "refId": "A" 4447 | } 4448 | ], 4449 | "timeFrom": null, 4450 | "timeShift": null, 4451 | "title": "CAPsMAN Clients", 4452 | "transformations": [ 4453 | { 4454 | "id": "organize", 4455 | "options": { 4456 | "excludeByName": { 4457 | "Time": true, 4458 | "Value": true, 4459 | "__name__": true, 4460 | "instance": true, 4461 | "job": true, 4462 | "routerboard_address": true, 4463 | "routerboard_name": true 4464 | }, 4465 | "indexByName": { 4466 | "Time": 0, 4467 | "Value": 15, 4468 | "__name__": 1, 4469 | "dhcp_address": 3, 4470 | "dhcp_name": 2, 4471 | "instance": 9, 4472 | "interface": 10, 4473 | "job": 12, 4474 | "mac_address": 4, 4475 | "routerboard_address": 13, 4476 | "routerboard_name": 14, 4477 | "rx_rate": 6, 4478 | "rx_signal": 5, 4479 | "ssid": 11, 4480 | "tx_rate": 7, 4481 | "uptime": 8 4482 | }, 4483 | "renameByName": {} 4484 | } 4485 | } 4486 | ], 4487 | "type": "table" 4488 | }, 4489 | { 4490 | "cacheTimeout": null, 4491 | "datasource": "Prometheus", 4492 | "description": "", 4493 | "fieldConfig": { 4494 | "defaults": { 4495 | "decimals": 0, 4496 | "links": [], 4497 | "mappings": [], 4498 | "min": 1, 4499 | "thresholds": { 4500 | "mode": "absolute", 4501 | "steps": [ 4502 | { 4503 | "color": "green", 4504 | "value": null 4505 | }, 4506 | { 4507 | "color": "#EAB839", 4508 | "value": 30 4509 | }, 4510 | { 4511 | "color": "red", 4512 | "value": 80 4513 | } 4514 | ] 4515 | } 4516 | }, 4517 | "overrides": [] 4518 | }, 4519 | "gridPos": { 4520 | "h": 7, 4521 | "w": 6, 4522 | "x": 0, 4523 | "y": 119 4524 | }, 4525 | "id": 47, 4526 | "interval": null, 4527 | "links": [], 4528 | "options": { 4529 | "displayMode": "lcd", 4530 | "orientation": "horizontal", 4531 | "reduceOptions": { 4532 | "calcs": [ 4533 | "mean" 4534 | ], 4535 | "fields": "", 4536 | "values": false 4537 | }, 4538 | "showUnfilled": true, 4539 | "text": {} 4540 | }, 4541 | "pluginVersion": "8.0.4", 4542 | "targets": [ 4543 | { 4544 | "application": { 4545 | "filter": "Network" 4546 | }, 4547 | "expr": "mktxp_capsman_registrations_count{routerboard_address=\"$node\"}", 4548 | "format": "time_series", 4549 | "functions": [], 4550 | "group": { 4551 | "filter": "Network" 4552 | }, 4553 | "hide": false, 4554 | "host": { 4555 | "filter": "MikroTik Router" 4556 | }, 4557 | "instant": true, 4558 | "interval": "", 4559 | "intervalFactor": 1, 4560 | "item": { 4561 | "filter": "Incoming traffic on interface ether1-gateway" 4562 | }, 4563 | "legendFormat": "{{ interface }}", 4564 | "mode": 0, 4565 | "options": { 4566 | "showDisabledItems": false 4567 | }, 4568 | "refId": "A" 4569 | }, 4570 | { 4571 | "expr": "sum(mktxp_capsman_registrations_count{routerboard_address=\"$node\"})", 4572 | "instant": true, 4573 | "interval": "", 4574 | "legendFormat": "Total", 4575 | "refId": "B" 4576 | } 4577 | ], 4578 | "timeFrom": null, 4579 | "timeShift": null, 4580 | "title": "CAPsMAN Registrations", 4581 | "type": "bargauge" 4582 | }, 4583 | { 4584 | "datasource": "Prometheus", 4585 | "fieldConfig": { 4586 | "defaults": { 4587 | "color": { 4588 | "mode": "thresholds" 4589 | }, 4590 | "links": [], 4591 | "mappings": [], 4592 | "thresholds": { 4593 | "mode": "absolute", 4594 | "steps": [ 4595 | { 4596 | "color": "red", 4597 | "value": null 4598 | }, 4599 | { 4600 | "color": "orange", 4601 | "value": -80 4602 | }, 4603 | { 4604 | "color": "purple", 4605 | "value": -70 4606 | }, 4607 | { 4608 | "color": "green", 4609 | "value": -60 4610 | }, 4611 | { 4612 | "color": "rgb(20, 104, 9)", 4613 | "value": -40 4614 | } 4615 | ] 4616 | }, 4617 | "unit": "dB" 4618 | }, 4619 | "overrides": [] 4620 | }, 4621 | "gridPos": { 4622 | "h": 11, 4623 | "w": 6, 4624 | "x": 0, 4625 | "y": 126 4626 | }, 4627 | "id": 48, 4628 | "links": [], 4629 | "options": { 4630 | "displayMode": "gradient", 4631 | "orientation": "horizontal", 4632 | "reduceOptions": { 4633 | "calcs": [ 4634 | "lastNotNull" 4635 | ], 4636 | "fields": "", 4637 | "values": false 4638 | }, 4639 | "showUnfilled": true, 4640 | "text": {} 4641 | }, 4642 | "pluginVersion": "8.0.4", 4643 | "targets": [ 4644 | { 4645 | "application": { 4646 | "filter": "Network" 4647 | }, 4648 | "expr": "mktxp_capsman_clients_signal_strength{routerboard_address=\"$node\"}", 4649 | "format": "time_series", 4650 | "functions": [], 4651 | "group": { 4652 | "filter": "Network" 4653 | }, 4654 | "hide": false, 4655 | "host": { 4656 | "filter": "MikroTik Router" 4657 | }, 4658 | "instant": true, 4659 | "interval": "", 4660 | "intervalFactor": 1, 4661 | "item": { 4662 | "filter": "Incoming traffic on interface ether1-gateway" 4663 | }, 4664 | "legendFormat": "{{ dhcp_name }}", 4665 | "mode": 0, 4666 | "options": { 4667 | "showDisabledItems": false 4668 | }, 4669 | "refId": "A" 4670 | } 4671 | ], 4672 | "timeFrom": null, 4673 | "timeShift": null, 4674 | "title": "Registered Client Signal Strength", 4675 | "type": "bargauge" 4676 | }, 4677 | { 4678 | "aliasColors": {}, 4679 | "bars": false, 4680 | "dashLength": 10, 4681 | "dashes": false, 4682 | "datasource": "Prometheus", 4683 | "fieldConfig": { 4684 | "defaults": { 4685 | "links": [], 4686 | "unit": "dB" 4687 | }, 4688 | "overrides": [] 4689 | }, 4690 | "fill": 0, 4691 | "fillGradient": 0, 4692 | "gridPos": { 4693 | "h": 9, 4694 | "w": 18, 4695 | "x": 6, 4696 | "y": 128 4697 | }, 4698 | "hiddenSeries": false, 4699 | "id": 49, 4700 | "legend": { 4701 | "alignAsTable": true, 4702 | "avg": true, 4703 | "current": false, 4704 | "hideEmpty": false, 4705 | "hideZero": false, 4706 | "max": false, 4707 | "min": false, 4708 | "rightSide": true, 4709 | "show": true, 4710 | "total": false, 4711 | "values": true 4712 | }, 4713 | "lines": true, 4714 | "linewidth": 1, 4715 | "links": [], 4716 | "nullPointMode": "null", 4717 | "options": { 4718 | "alertThreshold": true 4719 | }, 4720 | "percentage": false, 4721 | "pluginVersion": "8.0.4", 4722 | "pointradius": 2, 4723 | "points": false, 4724 | "renderer": "flot", 4725 | "seriesOverrides": [], 4726 | "spaceLength": 10, 4727 | "stack": false, 4728 | "steppedLine": false, 4729 | "targets": [ 4730 | { 4731 | "application": { 4732 | "filter": "Network" 4733 | }, 4734 | "expr": "mktxp_capsman_clients_signal_strength{routerboard_address=\"$node\"}", 4735 | "format": "time_series", 4736 | "functions": [], 4737 | "group": { 4738 | "filter": "Network" 4739 | }, 4740 | "hide": false, 4741 | "host": { 4742 | "filter": "MikroTik Router" 4743 | }, 4744 | "instant": false, 4745 | "interval": "", 4746 | "intervalFactor": 1, 4747 | "item": { 4748 | "filter": "Incoming traffic on interface ether1-gateway" 4749 | }, 4750 | "legendFormat": "{{ dhcp_name }}", 4751 | "mode": 0, 4752 | "options": { 4753 | "showDisabledItems": false 4754 | }, 4755 | "refId": "A" 4756 | } 4757 | ], 4758 | "thresholds": [], 4759 | "timeFrom": null, 4760 | "timeRegions": [], 4761 | "timeShift": null, 4762 | "title": "CAPsMan Clients Signal Strength", 4763 | "tooltip": { 4764 | "shared": true, 4765 | "sort": 2, 4766 | "value_type": "individual" 4767 | }, 4768 | "type": "graph", 4769 | "xaxis": { 4770 | "buckets": null, 4771 | "mode": "time", 4772 | "name": null, 4773 | "show": true, 4774 | "values": [] 4775 | }, 4776 | "yaxes": [ 4777 | { 4778 | "$$hashKey": "object:788", 4779 | "decimals": null, 4780 | "format": "dB", 4781 | "label": null, 4782 | "logBase": 1, 4783 | "max": "-16", 4784 | "min": "-80", 4785 | "show": true 4786 | }, 4787 | { 4788 | "$$hashKey": "object:789", 4789 | "format": "short", 4790 | "label": null, 4791 | "logBase": 1, 4792 | "max": null, 4793 | "min": null, 4794 | "show": false 4795 | } 4796 | ], 4797 | "yaxis": { 4798 | "align": false, 4799 | "alignLevel": null 4800 | } 4801 | }, 4802 | { 4803 | "aliasColors": { 4804 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 4805 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 4806 | }, 4807 | "bars": false, 4808 | "dashLength": 10, 4809 | "dashes": false, 4810 | "datasource": "Prometheus", 4811 | "editable": true, 4812 | "error": false, 4813 | "fieldConfig": { 4814 | "defaults": { 4815 | "links": [] 4816 | }, 4817 | "overrides": [] 4818 | }, 4819 | "fill": 3, 4820 | "fillGradient": 0, 4821 | "gridPos": { 4822 | "h": 10, 4823 | "w": 24, 4824 | "x": 0, 4825 | "y": 137 4826 | }, 4827 | "hiddenSeries": false, 4828 | "id": 39, 4829 | "legend": { 4830 | "alignAsTable": true, 4831 | "avg": true, 4832 | "current": false, 4833 | "hideEmpty": false, 4834 | "hideZero": true, 4835 | "max": false, 4836 | "min": false, 4837 | "rightSide": true, 4838 | "show": true, 4839 | "total": false, 4840 | "values": true 4841 | }, 4842 | "lines": true, 4843 | "linewidth": 1, 4844 | "links": [], 4845 | "nullPointMode": "connected", 4846 | "options": { 4847 | "alertThreshold": true 4848 | }, 4849 | "paceLength": 10, 4850 | "percentage": false, 4851 | "pluginVersion": "8.0.4", 4852 | "pointradius": 5, 4853 | "points": false, 4854 | "renderer": "flot", 4855 | "seriesOverrides": [ 4856 | { 4857 | "$$hashKey": "object:176", 4858 | "alias": "/In/" 4859 | }, 4860 | { 4861 | "$$hashKey": "object:177", 4862 | "alias": "/Out/", 4863 | "color": "#EAB839", 4864 | "transform": "negative-Y" 4865 | } 4866 | ], 4867 | "spaceLength": 10, 4868 | "stack": false, 4869 | "steppedLine": false, 4870 | "targets": [ 4871 | { 4872 | "application": { 4873 | "filter": "Network" 4874 | }, 4875 | "expr": "rate(mktxp_capsman_clients_tx_bytes_total{routerboard_address=\"$node\"}[4m])", 4876 | "format": "time_series", 4877 | "functions": [], 4878 | "group": { 4879 | "filter": "Network" 4880 | }, 4881 | "hide": false, 4882 | "host": { 4883 | "filter": "MikroTik Router" 4884 | }, 4885 | "instant": false, 4886 | "interval": "", 4887 | "intervalFactor": 1, 4888 | "item": { 4889 | "filter": "Incoming traffic on interface ether1-gateway" 4890 | }, 4891 | "legendFormat": "In | {{ dhcp_name }}", 4892 | "mode": 0, 4893 | "options": { 4894 | "showDisabledItems": false 4895 | }, 4896 | "refId": "A" 4897 | }, 4898 | { 4899 | "application": { 4900 | "filter": "Network" 4901 | }, 4902 | "expr": "rate(mktxp_capsman_clients_rx_bytes_total{routerboard_address=\"$node\"}[4m])", 4903 | "format": "time_series", 4904 | "functions": [], 4905 | "group": { 4906 | "filter": "Network" 4907 | }, 4908 | "hide": false, 4909 | "host": { 4910 | "filter": "MikroTik Router" 4911 | }, 4912 | "interval": "", 4913 | "intervalFactor": 1, 4914 | "item": { 4915 | "filter": "Outgoing traffic on interface ether1-gateway" 4916 | }, 4917 | "legendFormat": "Out | {{ dhcp_name }}", 4918 | "mode": 0, 4919 | "options": { 4920 | "showDisabledItems": false 4921 | }, 4922 | "refId": "B" 4923 | } 4924 | ], 4925 | "thresholds": [], 4926 | "timeFrom": null, 4927 | "timeRegions": [], 4928 | "timeShift": null, 4929 | "title": "CAPsMAN Clients Traffic", 4930 | "tooltip": { 4931 | "msResolution": false, 4932 | "shared": true, 4933 | "sort": 2, 4934 | "value_type": "individual" 4935 | }, 4936 | "type": "graph", 4937 | "xaxis": { 4938 | "buckets": null, 4939 | "mode": "time", 4940 | "name": null, 4941 | "show": true, 4942 | "values": [] 4943 | }, 4944 | "yaxes": [ 4945 | { 4946 | "$$hashKey": "object:706", 4947 | "format": "bps", 4948 | "label": null, 4949 | "logBase": 1, 4950 | "max": null, 4951 | "min": null, 4952 | "show": true 4953 | }, 4954 | { 4955 | "$$hashKey": "object:707", 4956 | "format": "short", 4957 | "label": null, 4958 | "logBase": 1, 4959 | "max": null, 4960 | "min": null, 4961 | "show": false 4962 | } 4963 | ], 4964 | "yaxis": { 4965 | "align": false, 4966 | "alignLevel": null 4967 | } 4968 | }, 4969 | { 4970 | "collapsed": false, 4971 | "datasource": "Prometheus", 4972 | "fieldConfig": { 4973 | "defaults": {}, 4974 | "overrides": [] 4975 | }, 4976 | "gridPos": { 4977 | "h": 1, 4978 | "w": 24, 4979 | "x": 0, 4980 | "y": 147 4981 | }, 4982 | "id": 80, 4983 | "panels": [], 4984 | "title": "MKTXP Metrics", 4985 | "type": "row" 4986 | }, 4987 | { 4988 | "datasource": "Prometheus", 4989 | "fieldConfig": { 4990 | "defaults": { 4991 | "color": { 4992 | "mode": "thresholds" 4993 | }, 4994 | "links": [], 4995 | "mappings": [], 4996 | "thresholds": { 4997 | "mode": "absolute", 4998 | "steps": [ 4999 | { 5000 | "color": "green", 5001 | "value": null 5002 | }, 5003 | { 5004 | "color": "yellow", 5005 | "value": 10 5006 | }, 5007 | { 5008 | "color": "purple", 5009 | "value": 20 5010 | }, 5011 | { 5012 | "color": "orange", 5013 | "value": 50 5014 | } 5015 | ] 5016 | }, 5017 | "unit": "ms" 5018 | }, 5019 | "overrides": [] 5020 | }, 5021 | "gridPos": { 5022 | "h": 8, 5023 | "w": 6, 5024 | "x": 0, 5025 | "y": 148 5026 | }, 5027 | "id": 78, 5028 | "links": [], 5029 | "options": { 5030 | "displayMode": "gradient", 5031 | "orientation": "horizontal", 5032 | "reduceOptions": { 5033 | "calcs": [ 5034 | "lastNotNull" 5035 | ], 5036 | "fields": "", 5037 | "values": false 5038 | }, 5039 | "showUnfilled": true, 5040 | "text": {} 5041 | }, 5042 | "pluginVersion": "8.0.4", 5043 | "targets": [ 5044 | { 5045 | "application": { 5046 | "filter": "Network" 5047 | }, 5048 | "expr": "rate(mktxp_collection_time_total{routerboard_address=\"$node\"}[4m]) ", 5049 | "format": "time_series", 5050 | "functions": [], 5051 | "group": { 5052 | "filter": "Network" 5053 | }, 5054 | "hide": false, 5055 | "host": { 5056 | "filter": "MikroTik Router" 5057 | }, 5058 | "instant": true, 5059 | "interval": "", 5060 | "intervalFactor": 1, 5061 | "item": { 5062 | "filter": "Incoming traffic on interface ether1-gateway" 5063 | }, 5064 | "legendFormat": "{{ name }}", 5065 | "mode": 0, 5066 | "options": { 5067 | "showDisabledItems": false 5068 | }, 5069 | "refId": "A" 5070 | } 5071 | ], 5072 | "timeFrom": null, 5073 | "timeShift": null, 5074 | "title": "MKTXP Collection Times", 5075 | "type": "bargauge" 5076 | }, 5077 | { 5078 | "aliasColors": { 5079 | "Incoming traffic on interface ether1-gateway": "#1F78C1", 5080 | "Outgoing traffic on interface ether1-gateway": "#EAB839" 5081 | }, 5082 | "bars": false, 5083 | "dashLength": 10, 5084 | "dashes": false, 5085 | "datasource": "Prometheus", 5086 | "editable": true, 5087 | "error": false, 5088 | "fieldConfig": { 5089 | "defaults": { 5090 | "links": [] 5091 | }, 5092 | "overrides": [] 5093 | }, 5094 | "fill": 3, 5095 | "fillGradient": 0, 5096 | "gridPos": { 5097 | "h": 8, 5098 | "w": 18, 5099 | "x": 6, 5100 | "y": 148 5101 | }, 5102 | "hiddenSeries": false, 5103 | "id": 77, 5104 | "legend": { 5105 | "alignAsTable": true, 5106 | "avg": true, 5107 | "current": false, 5108 | "hideEmpty": false, 5109 | "hideZero": true, 5110 | "max": false, 5111 | "min": false, 5112 | "rightSide": true, 5113 | "show": true, 5114 | "total": false, 5115 | "values": true 5116 | }, 5117 | "lines": true, 5118 | "linewidth": 1, 5119 | "links": [], 5120 | "nullPointMode": "connected", 5121 | "options": { 5122 | "alertThreshold": true 5123 | }, 5124 | "paceLength": 10, 5125 | "percentage": false, 5126 | "pluginVersion": "8.0.4", 5127 | "pointradius": 5, 5128 | "points": false, 5129 | "renderer": "flot", 5130 | "seriesOverrides": [ 5131 | { 5132 | "$$hashKey": "object:176", 5133 | "alias": "/In/" 5134 | }, 5135 | { 5136 | "$$hashKey": "object:177", 5137 | "alias": "/Out/", 5138 | "color": "#EAB839", 5139 | "transform": "negative-Y" 5140 | } 5141 | ], 5142 | "spaceLength": 10, 5143 | "stack": false, 5144 | "steppedLine": false, 5145 | "targets": [ 5146 | { 5147 | "application": { 5148 | "filter": "Network" 5149 | }, 5150 | "expr": "rate(mktxp_collection_time_total{routerboard_address=\"$node\"}[4m])", 5151 | "format": "time_series", 5152 | "functions": [], 5153 | "group": { 5154 | "filter": "Network" 5155 | }, 5156 | "hide": false, 5157 | "host": { 5158 | "filter": "MikroTik Router" 5159 | }, 5160 | "instant": false, 5161 | "interval": "", 5162 | "intervalFactor": 1, 5163 | "item": { 5164 | "filter": "Incoming traffic on interface ether1-gateway" 5165 | }, 5166 | "legendFormat": "{{ name }}", 5167 | "mode": 0, 5168 | "options": { 5169 | "showDisabledItems": false 5170 | }, 5171 | "refId": "A" 5172 | }, 5173 | { 5174 | "expr": "sum(rate(mktxp_collection_time_total{routerboard_address=\"$node\"}[4m]))", 5175 | "interval": "", 5176 | "legendFormat": "Total", 5177 | "refId": "B" 5178 | } 5179 | ], 5180 | "thresholds": [], 5181 | "timeFrom": null, 5182 | "timeRegions": [], 5183 | "timeShift": null, 5184 | "title": "MKTXP Collection Times", 5185 | "tooltip": { 5186 | "msResolution": false, 5187 | "shared": true, 5188 | "sort": 2, 5189 | "value_type": "individual" 5190 | }, 5191 | "type": "graph", 5192 | "xaxis": { 5193 | "buckets": null, 5194 | "mode": "time", 5195 | "name": null, 5196 | "show": true, 5197 | "values": [] 5198 | }, 5199 | "yaxes": [ 5200 | { 5201 | "$$hashKey": "object:706", 5202 | "format": "ms", 5203 | "label": null, 5204 | "logBase": 2, 5205 | "max": null, 5206 | "min": null, 5207 | "show": true 5208 | }, 5209 | { 5210 | "$$hashKey": "object:707", 5211 | "format": "short", 5212 | "label": null, 5213 | "logBase": 2, 5214 | "max": null, 5215 | "min": null, 5216 | "show": true 5217 | } 5218 | ], 5219 | "yaxis": { 5220 | "align": false, 5221 | "alignLevel": null 5222 | } 5223 | } 5224 | ], 5225 | "refresh": "10s", 5226 | "schemaVersion": 30, 5227 | "style": "dark", 5228 | "tags": [ 5229 | "mikrotik", 5230 | "dashboard", 5231 | "mktxp" 5232 | ], 5233 | "templating": { 5234 | "list": [ 5235 | { 5236 | "allValue": null, 5237 | "current": { 5238 | "selected": false, 5239 | "text": "192.168.0.1", 5240 | "value": "192.168.0.1" 5241 | }, 5242 | "datasource": "Prometheus", 5243 | "definition": "label_values(mktxp_system_identity_info, routerboard_address)", 5244 | "description": null, 5245 | "error": null, 5246 | "hide": 0, 5247 | "includeAll": false, 5248 | "label": "node", 5249 | "multi": false, 5250 | "name": "node", 5251 | "options": [], 5252 | "query": { 5253 | "query": "label_values(mktxp_system_identity_info, routerboard_address)", 5254 | "refId": "Prometheus-node-Variable-Query" 5255 | }, 5256 | "refresh": 1, 5257 | "regex": "", 5258 | "skipUrlSync": false, 5259 | "sort": 1, 5260 | "tagValuesQuery": "", 5261 | "tagsQuery": "", 5262 | "type": "query", 5263 | "useTags": false 5264 | } 5265 | ] 5266 | }, 5267 | "time": { 5268 | "from": "now-5m", 5269 | "to": "now" 5270 | }, 5271 | "timepicker": {}, 5272 | "timezone": "", 5273 | "title": "Mikrotik MKTXP Exporter", 5274 | "uid": "0j4sdLm7z", 5275 | "version": 1 5276 | } --------------------------------------------------------------------------------