├── README.md ├── images └── screencapture-localhost-3333-d-6gm-OtWWk-rt-cm-graph-2019-05-20-15_58_40.png └── telegraf └── rtPoller ├── addRtCM.py ├── clearRtCM.sh └── templates ├── RT_CM_GRAPH-GRAFANA.json ├── cmts.json ├── tmp.cm.conf └── tmp.cmts.conf /README.md: -------------------------------------------------------------------------------- 1 | # CM Real time GRAPH 2 | RealTime Cable Modem Graph for Docsis cable modems 3 | 4 | >Displaying current docsis information about the customer or cable modem is always something you must have an option to look at. This is a real time CM graph running for 5 minutes and refreshing after 10 seconds. It is displaying the following information: 5 | 6 | - Downstream Signal 7 | - Downstream Signal To Noise Ratio 8 | - Downstream Micro Reflections 9 | - Downstream Codeword Error Ratio 10 | - Downstream Forward Error Correction 11 | - Upstream Signal 12 | - Upstream Signal To Noise Ratio 13 | - Upstream Cable Modem RX Power 14 | - Upstream Codeword Error Ratio 15 | - Upstream Forward Error Correction 16 | - Current Traffic On Cable Interface 17 | 18 | ***Dashboard*** 19 | ![Dashboard](https://raw.githubusercontent.com/l-n-monitoring/CM-RT-GRAPH/master/images/screencapture-localhost-3333-d-6gm-OtWWk-rt-cm-graph-2019-05-20-15_58_40.png) 20 | 21 | **Prerequirements** 22 | - InfluxDB 23 | - Telegraf 24 | - Grafana 25 | - net-snmp 26 | - puresnmp (pip3 install puresnmp) 27 | 28 | **Installation** 29 | ``` 30 | sudo su 31 | pip3 install puresnmp 32 | cd /opt 33 | git clone https://github.com/l-n-monitoring/CM-RT-GRAPH.git 34 | chmod +x /opt/CM-RT-GRAPH/telegraf/rtPoller/clearRtCM.sh 35 | chmod +x /opt/CM-RT-GRAPH/telegraf/rtPoller/addRtCM.py 36 | sudo echo "*/1 * * * * root /opt/CM-RT-GRAPH/telegraf/rtPoller/clearRtCM.sh" > /etc/cron.d/rtCheck 37 | ``` 38 | > Edit cmts.json file and add/change your CMTS(es). 39 | ``` 40 | nano /opt/CM-RT-GRAPH/telegraf/rtPoller/templates/cmts.json 41 | ``` 42 | ``` 43 | [ 44 | { 45 | "hostname": "10.10.1.8", 46 | "community": "sadfssda25234563", 47 | "port": 161, 48 | "cmCommunity": "352672427643vds!dd" 49 | }, 50 | { 51 | "hostname": "10.10.1.9", 52 | "community": "sadfssda25234563", 53 | "port": 161, 54 | "cmCommunity": "352672427643vds!dd" 55 | } 56 | 57 | ] 58 | 59 | ``` 60 | **Grafana** 61 | > Login to your grafana server: http://yourserver.ip:3000/ (admin/admin by default) 62 | 63 | ***Add Data Source*** 64 | > Let's create data source called "telegraf". 65 | 66 | ![Add Data Source](https://github.com/l-n-monitoring/CMTS-Monitoring/raw/master/images/create_datasource.jpg) 67 | > Choose green button: Add data source 68 | 69 | ***Save Data Source*** 70 | > Probably influxdb is running on the same server. Database is called "telegraf" and also data source should be called "telegraf". 71 | 72 | ![Add Data Source](https://github.com/l-n-monitoring/CMTS-Monitoring/raw/master/images/save_datasource.jpg) 73 | 74 | ***Import Dashboard*** 75 | - Slide over dashboard button and click on "Manage". 76 | - On the right side click "Import". 77 | ![Add Data Source](https://github.com/l-n-monitoring/CMTS-Monitoring/raw/master/images/manage_dashboard.jpg) 78 | 79 | - Click on green button "Upload .json File" 80 | - Choose RT_CM_GRAPH-GRAFANA.json" located in /opt/CM-RT-GRAPH/telegraf/rtPoller/templates/ and click "Import". " and click "Import". 81 | 82 | **Add CM To Real Time polling** 83 | ``` 84 | /opt/CM-RT-GRAPH/telegraf/rtPoller/addRtCM.py 00:22:33:55:33:11 85 | ``` 86 | >Navigate to http://grafanaip:3000/ choose RT CM GRAPH dashboard and enter cm_mac. Once you'll get the dashboard path you can use direct url. My is http://grafanaip:3000/d/6gm_OtWWk/rt-cm-graph?orgId=1&var-cm_mac=00:22:33:55:33:11. This way you can get direct link. 87 | 88 | -------------------------------------------------------------------------------- /images/screencapture-localhost-3333-d-6gm-OtWWk-rt-cm-graph-2019-05-20-15_58_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-n-monitoring/CM-RT-GRAPH/09af305e3d1f026e55febf5bfd74f47f80f470e0/images/screencapture-localhost-3333-d-6gm-OtWWk-rt-cm-graph-2019-05-20-15_58_40.png -------------------------------------------------------------------------------- /telegraf/rtPoller/addRtCM.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | from puresnmp import get 4 | import ipaddress 5 | import sys 6 | import json 7 | import os 8 | 9 | CMMAC = sys.argv[1].lower() 10 | cmtses = [] 11 | 12 | def returnDecMAC(CMMAC): 13 | rtnMAC = [] 14 | tmpMAC = CMMAC.split(":") 15 | for t in tmpMAC: 16 | rtnMAC.append(str(int(t,16))) 17 | return ".".join(rtnMAC) 18 | 19 | 20 | ## Some globalDefs 21 | 22 | TEMPLATE_DIR = '/opt/CM-RT-GRAPH/telegraf/rtPoller/templates/' 23 | CMTS_JSON = 'cmts.json' 24 | TELEGRAF_CONFIG_DIR = '/etc/telegraf/telegraf.d/' 25 | CMTS_TEMPLATE = ("%stmp.cmts.conf" % (TEMPLATE_DIR)) 26 | CM_TEMPLATE = ("%stmp.cm.conf" % (TEMPLATE_DIR)) 27 | 28 | 29 | with open("%s%s" % (TEMPLATE_DIR,CMTS_JSON), 'r') as f: 30 | cmtses = json.load(f) 31 | 32 | 33 | DECMAC = returnDecMAC(CMMAC) 34 | PTR_OID = ("1.3.6.1.2.1.10.127.1.3.7.1.2.%s" % (DECMAC)) 35 | 36 | 37 | for cmts in cmtses: 38 | ptr = None 39 | try: 40 | ptr = get(cmts['hostname'],cmts['community'],PTR_OID,cmts['port']) 41 | except: 42 | print("No such OID on CMTS:",cmts['hostname'],"proceed to the next one!") 43 | continue 44 | 45 | if ptr is not None: 46 | CM_IP_OID = ("1.3.6.1.2.1.10.127.1.3.3.1.3.%s" % (ptr)) 47 | CMIP = get(cmts['hostname'],cmts['community'],CM_IP_OID,cmts['port']) 48 | CMIP = str(ipaddress.IPv4Address(CMIP)) 49 | 50 | TMP_CM = open(CM_TEMPLATE,"r") 51 | CM_TELEGRAF_FILE = ("%stmp.cm.%s.conf" % (TELEGRAF_CONFIG_DIR,CMMAC)) 52 | TELE_CM = open(CM_TELEGRAF_FILE,"w") 53 | for line in TMP_CM: 54 | if 'CM_IP' in line: 55 | line = line.replace('CM_IP',CMIP) 56 | elif 'CM_COMMUNITY' in line: 57 | line = line.replace('CM_COMMUNITY',cmts['cmCommunity']) 58 | elif 'CM_HEX_MAC' in line: 59 | line = line.replace('CM_HEX_MAC',CMMAC) 60 | TELE_CM.write(line) 61 | 62 | TMP_CMTS = open(CMTS_TEMPLATE,"r") 63 | CMTS_TELEGRAF_FILE = ("%stmp.cmts.%s.conf" % (TELEGRAF_CONFIG_DIR,CMMAC)) 64 | TELE_CMTS = open(CMTS_TELEGRAF_FILE,"w") 65 | for line in TMP_CMTS: 66 | if 'CMTS_HOSTNAME' in line: 67 | line = line.replace('CMTS_HOSTNAME',cmts['hostname']) 68 | if 'PORT' in line: 69 | line = line.replace('PORT',cmts['port']) 70 | if 'CMTS_COMMUNITY' in line: 71 | line = line.replace('CMTS_COMMUNITY',cmts['community']) 72 | if 'CM_HEX_MAC' in line: 73 | line = line.replace('CM_HEX_MAC',CMMAC) 74 | if 'PTR' in line: 75 | line = line.replace('PTR',str(ptr)) 76 | TELE_CMTS.write(line) 77 | os.system("service telegraf reload") 78 | -------------------------------------------------------------------------------- /telegraf/rtPoller/clearRtCM.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | tmpFilesFind=$(find /etc/telegraf/telegraf.d/tmp* -mmin +5) 6 | 7 | if [[ ! -z "$tmpFilesFind" ]]; then 8 | find /etc/telegraf/telegraf.d/tmp* -mmin +5 -exec rm {} \; 9 | systemctl reload telegraf.service 10 | else 11 | echo "No files to delete!" 12 | fi 13 | 14 | -------------------------------------------------------------------------------- /telegraf/rtPoller/templates/RT_CM_GRAPH-GRAFANA.json: -------------------------------------------------------------------------------- 1 | { 2 | "__inputs": [ 3 | { 4 | "name": "DS_TELEGRAF", 5 | "label": "telegraf", 6 | "description": "", 7 | "type": "datasource", 8 | "pluginId": "influxdb", 9 | "pluginName": "InfluxDB" 10 | } 11 | ], 12 | "__requires": [ 13 | { 14 | "type": "grafana", 15 | "id": "grafana", 16 | "name": "Grafana", 17 | "version": "6.1.6" 18 | }, 19 | { 20 | "type": "panel", 21 | "id": "graph", 22 | "name": "Graph", 23 | "version": "" 24 | }, 25 | { 26 | "type": "datasource", 27 | "id": "influxdb", 28 | "name": "InfluxDB", 29 | "version": "1.0.0" 30 | } 31 | ], 32 | "annotations": { 33 | "list": [ 34 | { 35 | "builtIn": 1, 36 | "datasource": "-- Grafana --", 37 | "enable": true, 38 | "hide": true, 39 | "iconColor": "rgba(0, 211, 255, 1)", 40 | "name": "Annotations & Alerts", 41 | "type": "dashboard" 42 | } 43 | ] 44 | }, 45 | "editable": true, 46 | "gnetId": null, 47 | "graphTooltip": 0, 48 | "id": null, 49 | "iteration": 1558356152996, 50 | "links": [], 51 | "panels": [ 52 | { 53 | "aliasColors": {}, 54 | "bars": false, 55 | "dashLength": 10, 56 | "dashes": false, 57 | "datasource": "${DS_TELEGRAF}", 58 | "decimals": 2, 59 | "fill": 0, 60 | "gridPos": { 61 | "h": 7, 62 | "w": 8, 63 | "x": 0, 64 | "y": 0 65 | }, 66 | "id": 2, 67 | "legend": { 68 | "alignAsTable": true, 69 | "avg": true, 70 | "current": true, 71 | "max": true, 72 | "min": true, 73 | "rightSide": true, 74 | "show": true, 75 | "total": false, 76 | "values": true 77 | }, 78 | "lines": true, 79 | "linewidth": 2, 80 | "links": [], 81 | "nullPointMode": "null", 82 | "percentage": false, 83 | "pointradius": 2, 84 | "points": false, 85 | "renderer": "flot", 86 | "seriesOverrides": [], 87 | "spaceLength": 10, 88 | "stack": false, 89 | "steppedLine": false, 90 | "targets": [ 91 | { 92 | "alias": "$tag_docsIfDownChannelFrequency", 93 | "groupBy": [ 94 | { 95 | "params": [ 96 | "10s" 97 | ], 98 | "type": "time" 99 | }, 100 | { 101 | "params": [ 102 | "docsIfDownChannelFrequency" 103 | ], 104 | "type": "tag" 105 | }, 106 | { 107 | "params": [ 108 | "null" 109 | ], 110 | "type": "fill" 111 | } 112 | ], 113 | "measurement": "cablemodem", 114 | "orderByTime": "ASC", 115 | "policy": "default", 116 | "refId": "A", 117 | "resultFormat": "time_series", 118 | "select": [ 119 | [ 120 | { 121 | "params": [ 122 | "docsIfDownChannelPower" 123 | ], 124 | "type": "field" 125 | }, 126 | { 127 | "params": [], 128 | "type": "mean" 129 | }, 130 | { 131 | "params": [ 132 | " / 10" 133 | ], 134 | "type": "math" 135 | } 136 | ] 137 | ], 138 | "tags": [ 139 | { 140 | "key": "cm_mac", 141 | "operator": "=~", 142 | "value": "/^$cm_mac$/" 143 | } 144 | ] 145 | } 146 | ], 147 | "thresholds": [], 148 | "timeFrom": null, 149 | "timeRegions": [], 150 | "timeShift": null, 151 | "title": "Ds Signal", 152 | "tooltip": { 153 | "shared": true, 154 | "sort": 0, 155 | "value_type": "individual" 156 | }, 157 | "type": "graph", 158 | "xaxis": { 159 | "buckets": null, 160 | "mode": "time", 161 | "name": null, 162 | "show": true, 163 | "values": [] 164 | }, 165 | "yaxes": [ 166 | { 167 | "format": "dB", 168 | "label": null, 169 | "logBase": 1, 170 | "max": "20", 171 | "min": "-20", 172 | "show": true 173 | }, 174 | { 175 | "format": "short", 176 | "label": null, 177 | "logBase": 1, 178 | "max": null, 179 | "min": null, 180 | "show": true 181 | } 182 | ], 183 | "yaxis": { 184 | "align": false, 185 | "alignLevel": null 186 | } 187 | }, 188 | { 189 | "aliasColors": {}, 190 | "bars": false, 191 | "dashLength": 10, 192 | "dashes": false, 193 | "datasource": "${DS_TELEGRAF}", 194 | "decimals": 2, 195 | "fill": 0, 196 | "gridPos": { 197 | "h": 7, 198 | "w": 8, 199 | "x": 8, 200 | "y": 0 201 | }, 202 | "id": 3, 203 | "legend": { 204 | "alignAsTable": true, 205 | "avg": true, 206 | "current": true, 207 | "max": true, 208 | "min": true, 209 | "rightSide": true, 210 | "show": true, 211 | "total": false, 212 | "values": true 213 | }, 214 | "lines": true, 215 | "linewidth": 2, 216 | "links": [], 217 | "nullPointMode": "null", 218 | "percentage": false, 219 | "pointradius": 2, 220 | "points": false, 221 | "renderer": "flot", 222 | "seriesOverrides": [], 223 | "spaceLength": 10, 224 | "stack": false, 225 | "steppedLine": false, 226 | "targets": [ 227 | { 228 | "alias": "$tag_docsIfDownChannelFrequency", 229 | "groupBy": [ 230 | { 231 | "params": [ 232 | "10s" 233 | ], 234 | "type": "time" 235 | }, 236 | { 237 | "params": [ 238 | "docsIfDownChannelFrequency" 239 | ], 240 | "type": "tag" 241 | }, 242 | { 243 | "params": [ 244 | "null" 245 | ], 246 | "type": "fill" 247 | } 248 | ], 249 | "measurement": "cablemodem", 250 | "orderByTime": "ASC", 251 | "policy": "default", 252 | "refId": "A", 253 | "resultFormat": "time_series", 254 | "select": [ 255 | [ 256 | { 257 | "params": [ 258 | "docsIfSigQSignalNoise" 259 | ], 260 | "type": "field" 261 | }, 262 | { 263 | "params": [], 264 | "type": "mean" 265 | }, 266 | { 267 | "params": [ 268 | " / 10" 269 | ], 270 | "type": "math" 271 | } 272 | ] 273 | ], 274 | "tags": [ 275 | { 276 | "key": "cm_mac", 277 | "operator": "=~", 278 | "value": "/^$cm_mac$/" 279 | } 280 | ] 281 | } 282 | ], 283 | "thresholds": [], 284 | "timeFrom": null, 285 | "timeRegions": [], 286 | "timeShift": null, 287 | "title": "DS SNR", 288 | "tooltip": { 289 | "shared": true, 290 | "sort": 0, 291 | "value_type": "individual" 292 | }, 293 | "type": "graph", 294 | "xaxis": { 295 | "buckets": null, 296 | "mode": "time", 297 | "name": null, 298 | "show": true, 299 | "values": [] 300 | }, 301 | "yaxes": [ 302 | { 303 | "format": "dB", 304 | "label": null, 305 | "logBase": 1, 306 | "max": null, 307 | "min": "20", 308 | "show": true 309 | }, 310 | { 311 | "format": "short", 312 | "label": null, 313 | "logBase": 1, 314 | "max": null, 315 | "min": null, 316 | "show": true 317 | } 318 | ], 319 | "yaxis": { 320 | "align": false, 321 | "alignLevel": null 322 | } 323 | }, 324 | { 325 | "aliasColors": {}, 326 | "bars": false, 327 | "dashLength": 10, 328 | "dashes": false, 329 | "datasource": "${DS_TELEGRAF}", 330 | "decimals": 0, 331 | "fill": 0, 332 | "gridPos": { 333 | "h": 7, 334 | "w": 8, 335 | "x": 16, 336 | "y": 0 337 | }, 338 | "id": 12, 339 | "legend": { 340 | "alignAsTable": true, 341 | "avg": true, 342 | "current": true, 343 | "max": true, 344 | "min": true, 345 | "rightSide": true, 346 | "show": true, 347 | "total": false, 348 | "values": true 349 | }, 350 | "lines": true, 351 | "linewidth": 2, 352 | "links": [], 353 | "nullPointMode": "null", 354 | "percentage": false, 355 | "pointradius": 2, 356 | "points": false, 357 | "renderer": "flot", 358 | "seriesOverrides": [], 359 | "spaceLength": 10, 360 | "stack": false, 361 | "steppedLine": false, 362 | "targets": [ 363 | { 364 | "alias": "$tag_docsIfDownChannelFrequency", 365 | "groupBy": [ 366 | { 367 | "params": [ 368 | "10s" 369 | ], 370 | "type": "time" 371 | }, 372 | { 373 | "params": [ 374 | "docsIfDownChannelFrequency" 375 | ], 376 | "type": "tag" 377 | }, 378 | { 379 | "params": [ 380 | "null" 381 | ], 382 | "type": "fill" 383 | } 384 | ], 385 | "measurement": "cablemodem", 386 | "orderByTime": "ASC", 387 | "policy": "default", 388 | "refId": "A", 389 | "resultFormat": "time_series", 390 | "select": [ 391 | [ 392 | { 393 | "params": [ 394 | "docsIfSigQMicroreflections" 395 | ], 396 | "type": "field" 397 | }, 398 | { 399 | "params": [], 400 | "type": "mean" 401 | } 402 | ] 403 | ], 404 | "tags": [ 405 | { 406 | "key": "cm_mac", 407 | "operator": "=~", 408 | "value": "/^$cm_mac$/" 409 | } 410 | ] 411 | } 412 | ], 413 | "thresholds": [], 414 | "timeFrom": null, 415 | "timeRegions": [], 416 | "timeShift": null, 417 | "title": "DS Micro Reflections", 418 | "tooltip": { 419 | "shared": true, 420 | "sort": 0, 421 | "value_type": "individual" 422 | }, 423 | "type": "graph", 424 | "xaxis": { 425 | "buckets": null, 426 | "mode": "time", 427 | "name": null, 428 | "show": true, 429 | "values": [] 430 | }, 431 | "yaxes": [ 432 | { 433 | "format": "dB", 434 | "label": null, 435 | "logBase": 1, 436 | "max": null, 437 | "min": "10", 438 | "show": true 439 | }, 440 | { 441 | "format": "short", 442 | "label": null, 443 | "logBase": 1, 444 | "max": null, 445 | "min": null, 446 | "show": true 447 | } 448 | ], 449 | "yaxis": { 450 | "align": false, 451 | "alignLevel": null 452 | } 453 | }, 454 | { 455 | "aliasColors": {}, 456 | "bars": false, 457 | "dashLength": 10, 458 | "dashes": false, 459 | "datasource": "${DS_TELEGRAF}", 460 | "decimals": 2, 461 | "fill": 1, 462 | "gridPos": { 463 | "h": 7, 464 | "w": 12, 465 | "x": 0, 466 | "y": 7 467 | }, 468 | "id": 5, 469 | "legend": { 470 | "alignAsTable": true, 471 | "avg": true, 472 | "current": true, 473 | "max": true, 474 | "min": true, 475 | "rightSide": true, 476 | "show": true, 477 | "total": false, 478 | "values": true 479 | }, 480 | "lines": true, 481 | "linewidth": 1, 482 | "links": [], 483 | "nullPointMode": "null", 484 | "percentage": false, 485 | "pointradius": 2, 486 | "points": false, 487 | "renderer": "flot", 488 | "seriesOverrides": [], 489 | "spaceLength": 10, 490 | "stack": false, 491 | "steppedLine": false, 492 | "targets": [ 493 | { 494 | "alias": "$tag_docsIfDownChannelFrequency", 495 | "groupBy": [ 496 | { 497 | "params": [ 498 | "$__interval" 499 | ], 500 | "type": "time" 501 | }, 502 | { 503 | "params": [ 504 | "null" 505 | ], 506 | "type": "fill" 507 | } 508 | ], 509 | "measurement": "cablemodem", 510 | "orderByTime": "ASC", 511 | "policy": "default", 512 | "query": "SELECT 100*(non_negative_derivative(mean(\"docsIfSigQUncorrectables\"), 1s)/(non_negative_derivative(mean(\"docsIfSigQUncorrectables\"), 1s) + non_negative_derivative(mean(\"docsIfSigQCorrecteds\"), 1s) + non_negative_derivative(mean(\"docsIfSigQUnerroreds\"), 1s))) FROM \"cablemodem\" WHERE (\"cm_mac\" =~ /^$cm_mac$/) AND $timeFilter GROUP BY time(10s),\"docsIfDownChannelFrequency\" fill(null)", 513 | "rawQuery": true, 514 | "refId": "A", 515 | "resultFormat": "time_series", 516 | "select": [ 517 | [ 518 | { 519 | "params": [ 520 | "value" 521 | ], 522 | "type": "field" 523 | }, 524 | { 525 | "params": [], 526 | "type": "mean" 527 | } 528 | ] 529 | ], 530 | "tags": [ 531 | { 532 | "key": "cm_mac", 533 | "operator": "=~", 534 | "value": "/^$cm_mac$/" 535 | } 536 | ] 537 | } 538 | ], 539 | "thresholds": [], 540 | "timeFrom": null, 541 | "timeRegions": [], 542 | "timeShift": null, 543 | "title": "DS CER", 544 | "tooltip": { 545 | "shared": true, 546 | "sort": 0, 547 | "value_type": "individual" 548 | }, 549 | "type": "graph", 550 | "xaxis": { 551 | "buckets": null, 552 | "mode": "time", 553 | "name": null, 554 | "show": true, 555 | "values": [] 556 | }, 557 | "yaxes": [ 558 | { 559 | "format": "percent", 560 | "label": null, 561 | "logBase": 1, 562 | "max": null, 563 | "min": null, 564 | "show": true 565 | }, 566 | { 567 | "format": "short", 568 | "label": null, 569 | "logBase": 1, 570 | "max": null, 571 | "min": null, 572 | "show": true 573 | } 574 | ], 575 | "yaxis": { 576 | "align": false, 577 | "alignLevel": null 578 | } 579 | }, 580 | { 581 | "aliasColors": {}, 582 | "bars": false, 583 | "dashLength": 10, 584 | "dashes": false, 585 | "datasource": "${DS_TELEGRAF}", 586 | "decimals": 2, 587 | "fill": 1, 588 | "gridPos": { 589 | "h": 7, 590 | "w": 12, 591 | "x": 12, 592 | "y": 7 593 | }, 594 | "id": 8, 595 | "legend": { 596 | "alignAsTable": true, 597 | "avg": true, 598 | "current": true, 599 | "max": true, 600 | "min": true, 601 | "rightSide": true, 602 | "show": true, 603 | "total": false, 604 | "values": true 605 | }, 606 | "lines": true, 607 | "linewidth": 1, 608 | "links": [], 609 | "nullPointMode": "null", 610 | "percentage": false, 611 | "pointradius": 2, 612 | "points": false, 613 | "renderer": "flot", 614 | "seriesOverrides": [], 615 | "spaceLength": 10, 616 | "stack": false, 617 | "steppedLine": false, 618 | "targets": [ 619 | { 620 | "alias": "$tag_docsIfDownChannelFrequency", 621 | "groupBy": [ 622 | { 623 | "params": [ 624 | "$__interval" 625 | ], 626 | "type": "time" 627 | }, 628 | { 629 | "params": [ 630 | "null" 631 | ], 632 | "type": "fill" 633 | } 634 | ], 635 | "measurement": "cablemodem", 636 | "orderByTime": "ASC", 637 | "policy": "default", 638 | "query": "SELECT 100*(non_negative_derivative(mean(\"docsIfSigQCorrecteds\"), 1s)/(non_negative_derivative(mean(\"docsIfSigQUncorrectables\"), 1s) + non_negative_derivative(mean(\"docsIfSigQCorrecteds\"), 1s) + non_negative_derivative(mean(\"docsIfSigQUnerroreds\"), 1s))) FROM \"cablemodem\" WHERE (\"cm_mac\" =~ /^$cm_mac$/) AND $timeFilter GROUP BY time(10s),\"docsIfDownChannelFrequency\" fill(null)", 639 | "rawQuery": true, 640 | "refId": "A", 641 | "resultFormat": "time_series", 642 | "select": [ 643 | [ 644 | { 645 | "params": [ 646 | "value" 647 | ], 648 | "type": "field" 649 | }, 650 | { 651 | "params": [], 652 | "type": "mean" 653 | } 654 | ] 655 | ], 656 | "tags": [ 657 | { 658 | "key": "cm_mac", 659 | "operator": "=~", 660 | "value": "/^$cm_mac$/" 661 | } 662 | ] 663 | } 664 | ], 665 | "thresholds": [], 666 | "timeFrom": null, 667 | "timeRegions": [], 668 | "timeShift": null, 669 | "title": "DS FEC", 670 | "tooltip": { 671 | "shared": true, 672 | "sort": 0, 673 | "value_type": "individual" 674 | }, 675 | "type": "graph", 676 | "xaxis": { 677 | "buckets": null, 678 | "mode": "time", 679 | "name": null, 680 | "show": true, 681 | "values": [] 682 | }, 683 | "yaxes": [ 684 | { 685 | "format": "percent", 686 | "label": null, 687 | "logBase": 1, 688 | "max": null, 689 | "min": null, 690 | "show": true 691 | }, 692 | { 693 | "format": "short", 694 | "label": null, 695 | "logBase": 1, 696 | "max": null, 697 | "min": null, 698 | "show": true 699 | } 700 | ], 701 | "yaxis": { 702 | "align": false, 703 | "alignLevel": null 704 | } 705 | }, 706 | { 707 | "aliasColors": {}, 708 | "bars": false, 709 | "dashLength": 10, 710 | "dashes": false, 711 | "datasource": "${DS_TELEGRAF}", 712 | "decimals": 2, 713 | "fill": 0, 714 | "gridPos": { 715 | "h": 8, 716 | "w": 8, 717 | "x": 0, 718 | "y": 14 719 | }, 720 | "id": 14, 721 | "legend": { 722 | "alignAsTable": true, 723 | "avg": true, 724 | "current": true, 725 | "max": true, 726 | "min": true, 727 | "rightSide": false, 728 | "show": true, 729 | "total": false, 730 | "values": true 731 | }, 732 | "lines": true, 733 | "linewidth": 2, 734 | "links": [], 735 | "nullPointMode": "null", 736 | "percentage": false, 737 | "pointradius": 2, 738 | "points": false, 739 | "renderer": "flot", 740 | "seriesOverrides": [], 741 | "spaceLength": 10, 742 | "stack": false, 743 | "steppedLine": false, 744 | "targets": [ 745 | { 746 | "alias": "$tag_docsIfUpChannelFrequency", 747 | "groupBy": [ 748 | { 749 | "params": [ 750 | "10s" 751 | ], 752 | "type": "time" 753 | }, 754 | { 755 | "params": [ 756 | "docsIfUpChannelFrequency" 757 | ], 758 | "type": "tag" 759 | }, 760 | { 761 | "params": [ 762 | "null" 763 | ], 764 | "type": "fill" 765 | } 766 | ], 767 | "measurement": "usParams", 768 | "orderByTime": "ASC", 769 | "policy": "default", 770 | "refId": "A", 771 | "resultFormat": "time_series", 772 | "select": [ 773 | [ 774 | { 775 | "params": [ 776 | "docsIf3CmtsCmUsStatusSignalNoise" 777 | ], 778 | "type": "field" 779 | }, 780 | { 781 | "params": [], 782 | "type": "mean" 783 | }, 784 | { 785 | "params": [ 786 | " / 10" 787 | ], 788 | "type": "math" 789 | } 790 | ] 791 | ], 792 | "tags": [ 793 | { 794 | "key": "cm_mac", 795 | "operator": "=~", 796 | "value": "/^$cm_mac$/" 797 | } 798 | ] 799 | } 800 | ], 801 | "thresholds": [], 802 | "timeFrom": null, 803 | "timeRegions": [], 804 | "timeShift": null, 805 | "title": "US SNR", 806 | "tooltip": { 807 | "shared": true, 808 | "sort": 0, 809 | "value_type": "individual" 810 | }, 811 | "type": "graph", 812 | "xaxis": { 813 | "buckets": null, 814 | "mode": "time", 815 | "name": null, 816 | "show": true, 817 | "values": [] 818 | }, 819 | "yaxes": [ 820 | { 821 | "format": "dB", 822 | "label": null, 823 | "logBase": 1, 824 | "max": "46", 825 | "min": "10", 826 | "show": true 827 | }, 828 | { 829 | "format": "short", 830 | "label": null, 831 | "logBase": 1, 832 | "max": null, 833 | "min": null, 834 | "show": true 835 | } 836 | ], 837 | "yaxis": { 838 | "align": false, 839 | "alignLevel": null 840 | } 841 | }, 842 | { 843 | "aliasColors": {}, 844 | "bars": false, 845 | "dashLength": 10, 846 | "dashes": false, 847 | "datasource": "${DS_TELEGRAF}", 848 | "decimals": 2, 849 | "fill": 0, 850 | "gridPos": { 851 | "h": 8, 852 | "w": 8, 853 | "x": 8, 854 | "y": 14 855 | }, 856 | "id": 7, 857 | "legend": { 858 | "alignAsTable": true, 859 | "avg": true, 860 | "current": true, 861 | "max": true, 862 | "min": true, 863 | "rightSide": false, 864 | "show": true, 865 | "total": false, 866 | "values": true 867 | }, 868 | "lines": true, 869 | "linewidth": 2, 870 | "links": [], 871 | "nullPointMode": "null", 872 | "percentage": false, 873 | "pointradius": 2, 874 | "points": false, 875 | "renderer": "flot", 876 | "seriesOverrides": [], 877 | "spaceLength": 10, 878 | "stack": false, 879 | "steppedLine": false, 880 | "targets": [ 881 | { 882 | "alias": "$tag_docsIfUpChannelFrequency", 883 | "groupBy": [ 884 | { 885 | "params": [ 886 | "10s" 887 | ], 888 | "type": "time" 889 | }, 890 | { 891 | "params": [ 892 | "docsIfUpChannelFrequency" 893 | ], 894 | "type": "tag" 895 | }, 896 | { 897 | "params": [ 898 | "null" 899 | ], 900 | "type": "fill" 901 | } 902 | ], 903 | "measurement": "cablemodem", 904 | "orderByTime": "ASC", 905 | "policy": "default", 906 | "refId": "A", 907 | "resultFormat": "time_series", 908 | "select": [ 909 | [ 910 | { 911 | "params": [ 912 | "docsIf3CmStatusUsTxPower" 913 | ], 914 | "type": "field" 915 | }, 916 | { 917 | "params": [], 918 | "type": "mean" 919 | }, 920 | { 921 | "params": [ 922 | " / 10" 923 | ], 924 | "type": "math" 925 | } 926 | ] 927 | ], 928 | "tags": [ 929 | { 930 | "key": "cm_mac", 931 | "operator": "=~", 932 | "value": "/^$cm_mac$/" 933 | } 934 | ] 935 | } 936 | ], 937 | "thresholds": [], 938 | "timeFrom": null, 939 | "timeRegions": [], 940 | "timeShift": null, 941 | "title": "US Signal", 942 | "tooltip": { 943 | "shared": true, 944 | "sort": 0, 945 | "value_type": "individual" 946 | }, 947 | "type": "graph", 948 | "xaxis": { 949 | "buckets": null, 950 | "mode": "time", 951 | "name": null, 952 | "show": true, 953 | "values": [] 954 | }, 955 | "yaxes": [ 956 | { 957 | "format": "dB", 958 | "label": null, 959 | "logBase": 1, 960 | "max": "62", 961 | "min": "20", 962 | "show": true 963 | }, 964 | { 965 | "format": "short", 966 | "label": null, 967 | "logBase": 1, 968 | "max": null, 969 | "min": null, 970 | "show": true 971 | } 972 | ], 973 | "yaxis": { 974 | "align": false, 975 | "alignLevel": null 976 | } 977 | }, 978 | { 979 | "aliasColors": {}, 980 | "bars": false, 981 | "dashLength": 10, 982 | "dashes": false, 983 | "datasource": "${DS_TELEGRAF}", 984 | "decimals": 2, 985 | "fill": 0, 986 | "gridPos": { 987 | "h": 8, 988 | "w": 8, 989 | "x": 16, 990 | "y": 14 991 | }, 992 | "id": 13, 993 | "legend": { 994 | "alignAsTable": true, 995 | "avg": true, 996 | "current": true, 997 | "max": true, 998 | "min": true, 999 | "rightSide": false, 1000 | "show": true, 1001 | "total": false, 1002 | "values": true 1003 | }, 1004 | "lines": true, 1005 | "linewidth": 2, 1006 | "links": [], 1007 | "nullPointMode": "null", 1008 | "percentage": false, 1009 | "pointradius": 2, 1010 | "points": false, 1011 | "renderer": "flot", 1012 | "seriesOverrides": [], 1013 | "spaceLength": 10, 1014 | "stack": false, 1015 | "steppedLine": false, 1016 | "targets": [ 1017 | { 1018 | "alias": "$tag_docsIfUpChannelFrequency", 1019 | "groupBy": [ 1020 | { 1021 | "params": [ 1022 | "10s" 1023 | ], 1024 | "type": "time" 1025 | }, 1026 | { 1027 | "params": [ 1028 | "docsIfUpChannelFrequency" 1029 | ], 1030 | "type": "tag" 1031 | }, 1032 | { 1033 | "params": [ 1034 | "null" 1035 | ], 1036 | "type": "fill" 1037 | } 1038 | ], 1039 | "measurement": "usParams", 1040 | "orderByTime": "ASC", 1041 | "policy": "default", 1042 | "refId": "A", 1043 | "resultFormat": "time_series", 1044 | "select": [ 1045 | [ 1046 | { 1047 | "params": [ 1048 | "docsIf3CmtsCmUsStatusRxPower" 1049 | ], 1050 | "type": "field" 1051 | }, 1052 | { 1053 | "params": [], 1054 | "type": "mean" 1055 | } 1056 | ] 1057 | ], 1058 | "tags": [ 1059 | { 1060 | "key": "cm_mac", 1061 | "operator": "=~", 1062 | "value": "/^$cm_mac$/" 1063 | } 1064 | ] 1065 | } 1066 | ], 1067 | "thresholds": [], 1068 | "timeFrom": null, 1069 | "timeRegions": [], 1070 | "timeShift": null, 1071 | "title": "US CM Rx Power", 1072 | "tooltip": { 1073 | "shared": true, 1074 | "sort": 0, 1075 | "value_type": "individual" 1076 | }, 1077 | "type": "graph", 1078 | "xaxis": { 1079 | "buckets": null, 1080 | "mode": "time", 1081 | "name": null, 1082 | "show": true, 1083 | "values": [] 1084 | }, 1085 | "yaxes": [ 1086 | { 1087 | "format": "dB", 1088 | "label": null, 1089 | "logBase": 1, 1090 | "max": null, 1091 | "min": null, 1092 | "show": true 1093 | }, 1094 | { 1095 | "format": "short", 1096 | "label": null, 1097 | "logBase": 1, 1098 | "max": null, 1099 | "min": null, 1100 | "show": true 1101 | } 1102 | ], 1103 | "yaxis": { 1104 | "align": false, 1105 | "alignLevel": null 1106 | } 1107 | }, 1108 | { 1109 | "aliasColors": {}, 1110 | "bars": false, 1111 | "dashLength": 10, 1112 | "dashes": false, 1113 | "datasource": "${DS_TELEGRAF}", 1114 | "decimals": 2, 1115 | "fill": 1, 1116 | "gridPos": { 1117 | "h": 8, 1118 | "w": 13, 1119 | "x": 0, 1120 | "y": 22 1121 | }, 1122 | "id": 9, 1123 | "legend": { 1124 | "alignAsTable": true, 1125 | "avg": true, 1126 | "current": true, 1127 | "max": true, 1128 | "min": true, 1129 | "rightSide": false, 1130 | "show": true, 1131 | "total": false, 1132 | "values": true 1133 | }, 1134 | "lines": true, 1135 | "linewidth": 1, 1136 | "links": [], 1137 | "nullPointMode": "null", 1138 | "percentage": false, 1139 | "pointradius": 2, 1140 | "points": false, 1141 | "renderer": "flot", 1142 | "seriesOverrides": [], 1143 | "spaceLength": 10, 1144 | "stack": false, 1145 | "steppedLine": false, 1146 | "targets": [ 1147 | { 1148 | "alias": "$tag_docsIfUpChannelFrequency", 1149 | "groupBy": [ 1150 | { 1151 | "params": [ 1152 | "$__interval" 1153 | ], 1154 | "type": "time" 1155 | }, 1156 | { 1157 | "params": [ 1158 | "null" 1159 | ], 1160 | "type": "fill" 1161 | } 1162 | ], 1163 | "measurement": "cablemodem", 1164 | "orderByTime": "ASC", 1165 | "policy": "default", 1166 | "query": "SELECT 100*(non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusUncorrectables\"), 1s)/(non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusUncorrectables\"), 1s) + non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusCorrecteds\"), 1s) + non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusUnerroreds\"), 1s))) FROM \"usParams\" WHERE (\"cm_mac\" =~ /^$cm_mac$/) AND $timeFilter GROUP BY time(10s),\"docsIfUpChannelFrequency\" fill(null)", 1167 | "rawQuery": true, 1168 | "refId": "A", 1169 | "resultFormat": "time_series", 1170 | "select": [ 1171 | [ 1172 | { 1173 | "params": [ 1174 | "value" 1175 | ], 1176 | "type": "field" 1177 | }, 1178 | { 1179 | "params": [], 1180 | "type": "mean" 1181 | } 1182 | ] 1183 | ], 1184 | "tags": [ 1185 | { 1186 | "key": "cm_mac", 1187 | "operator": "=~", 1188 | "value": "/^$cm_mac$/" 1189 | } 1190 | ] 1191 | } 1192 | ], 1193 | "thresholds": [], 1194 | "timeFrom": null, 1195 | "timeRegions": [], 1196 | "timeShift": null, 1197 | "title": "US CER", 1198 | "tooltip": { 1199 | "shared": true, 1200 | "sort": 0, 1201 | "value_type": "individual" 1202 | }, 1203 | "type": "graph", 1204 | "xaxis": { 1205 | "buckets": null, 1206 | "mode": "time", 1207 | "name": null, 1208 | "show": true, 1209 | "values": [] 1210 | }, 1211 | "yaxes": [ 1212 | { 1213 | "format": "percent", 1214 | "label": null, 1215 | "logBase": 1, 1216 | "max": null, 1217 | "min": null, 1218 | "show": true 1219 | }, 1220 | { 1221 | "format": "short", 1222 | "label": null, 1223 | "logBase": 1, 1224 | "max": null, 1225 | "min": null, 1226 | "show": true 1227 | } 1228 | ], 1229 | "yaxis": { 1230 | "align": false, 1231 | "alignLevel": null 1232 | } 1233 | }, 1234 | { 1235 | "aliasColors": {}, 1236 | "bars": false, 1237 | "dashLength": 10, 1238 | "dashes": false, 1239 | "datasource": "${DS_TELEGRAF}", 1240 | "decimals": 2, 1241 | "fill": 1, 1242 | "gridPos": { 1243 | "h": 8, 1244 | "w": 11, 1245 | "x": 13, 1246 | "y": 22 1247 | }, 1248 | "id": 6, 1249 | "legend": { 1250 | "alignAsTable": true, 1251 | "avg": true, 1252 | "current": true, 1253 | "max": true, 1254 | "min": true, 1255 | "rightSide": false, 1256 | "show": true, 1257 | "total": false, 1258 | "values": true 1259 | }, 1260 | "lines": true, 1261 | "linewidth": 1, 1262 | "links": [], 1263 | "nullPointMode": "null", 1264 | "percentage": false, 1265 | "pointradius": 2, 1266 | "points": false, 1267 | "renderer": "flot", 1268 | "seriesOverrides": [], 1269 | "spaceLength": 10, 1270 | "stack": false, 1271 | "steppedLine": false, 1272 | "targets": [ 1273 | { 1274 | "alias": "$tag_docsIfUpChannelFrequency", 1275 | "groupBy": [ 1276 | { 1277 | "params": [ 1278 | "$__interval" 1279 | ], 1280 | "type": "time" 1281 | }, 1282 | { 1283 | "params": [ 1284 | "null" 1285 | ], 1286 | "type": "fill" 1287 | } 1288 | ], 1289 | "hide": false, 1290 | "measurement": "cablemodem", 1291 | "orderByTime": "ASC", 1292 | "policy": "default", 1293 | "query": "SELECT 100*(non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusCorrecteds\"), 1s)/(non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusUncorrectables\"), 1s) + non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusCorrecteds\"), 1s) + non_negative_derivative(mean(\"docsIf3CmtsCmUsStatusUnerroreds\"), 1s))) FROM \"usParams\" WHERE (\"cm_mac\" =~ /^$cm_mac$/) AND $timeFilter GROUP BY time(10s),\"docsIfUpChannelFrequency\" fill(null)", 1294 | "rawQuery": true, 1295 | "refId": "A", 1296 | "resultFormat": "time_series", 1297 | "select": [ 1298 | [ 1299 | { 1300 | "params": [ 1301 | "value" 1302 | ], 1303 | "type": "field" 1304 | }, 1305 | { 1306 | "params": [], 1307 | "type": "mean" 1308 | } 1309 | ] 1310 | ], 1311 | "tags": [ 1312 | { 1313 | "key": "cm_mac", 1314 | "operator": "=~", 1315 | "value": "/^$cm_mac$/" 1316 | } 1317 | ] 1318 | } 1319 | ], 1320 | "thresholds": [], 1321 | "timeFrom": null, 1322 | "timeRegions": [], 1323 | "timeShift": null, 1324 | "title": "US FEC", 1325 | "tooltip": { 1326 | "shared": true, 1327 | "sort": 0, 1328 | "value_type": "individual" 1329 | }, 1330 | "type": "graph", 1331 | "xaxis": { 1332 | "buckets": null, 1333 | "mode": "time", 1334 | "name": null, 1335 | "show": true, 1336 | "values": [] 1337 | }, 1338 | "yaxes": [ 1339 | { 1340 | "format": "percent", 1341 | "label": null, 1342 | "logBase": 1, 1343 | "max": null, 1344 | "min": null, 1345 | "show": true 1346 | }, 1347 | { 1348 | "format": "short", 1349 | "label": null, 1350 | "logBase": 1, 1351 | "max": null, 1352 | "min": null, 1353 | "show": true 1354 | } 1355 | ], 1356 | "yaxis": { 1357 | "align": false, 1358 | "alignLevel": null 1359 | } 1360 | }, 1361 | { 1362 | "aliasColors": {}, 1363 | "bars": false, 1364 | "dashLength": 10, 1365 | "dashes": false, 1366 | "datasource": "${DS_TELEGRAF}", 1367 | "decimals": 2, 1368 | "fill": 1, 1369 | "gridPos": { 1370 | "h": 6, 1371 | "w": 24, 1372 | "x": 0, 1373 | "y": 30 1374 | }, 1375 | "id": 11, 1376 | "legend": { 1377 | "alignAsTable": true, 1378 | "avg": true, 1379 | "current": true, 1380 | "max": true, 1381 | "min": false, 1382 | "rightSide": true, 1383 | "show": true, 1384 | "total": false, 1385 | "values": true 1386 | }, 1387 | "lines": true, 1388 | "linewidth": 1, 1389 | "links": [], 1390 | "nullPointMode": "null", 1391 | "percentage": false, 1392 | "pointradius": 2, 1393 | "points": false, 1394 | "renderer": "flot", 1395 | "seriesOverrides": [], 1396 | "spaceLength": 10, 1397 | "stack": false, 1398 | "steppedLine": false, 1399 | "targets": [ 1400 | { 1401 | "alias": "Download", 1402 | "groupBy": [ 1403 | { 1404 | "params": [ 1405 | "10s" 1406 | ], 1407 | "type": "time" 1408 | }, 1409 | { 1410 | "params": [ 1411 | "null" 1412 | ], 1413 | "type": "fill" 1414 | } 1415 | ], 1416 | "measurement": "cablemodem", 1417 | "orderByTime": "ASC", 1418 | "policy": "default", 1419 | "query": "SELECT non_negative_derivative(mean(\"ifHCInOctets\"), 1s) *8 FROM \"cablemodem\" WHERE (\"cm_mac\" =~ /^$cm_mac$/ AND \"ifName\" = 'cbl0') AND $timeFilter GROUP BY time(10s) fill(null)", 1420 | "rawQuery": false, 1421 | "refId": "A", 1422 | "resultFormat": "time_series", 1423 | "select": [ 1424 | [ 1425 | { 1426 | "params": [ 1427 | "ifHCInOctets" 1428 | ], 1429 | "type": "field" 1430 | }, 1431 | { 1432 | "params": [], 1433 | "type": "mean" 1434 | }, 1435 | { 1436 | "params": [ 1437 | "1s" 1438 | ], 1439 | "type": "non_negative_derivative" 1440 | }, 1441 | { 1442 | "params": [ 1443 | "*8" 1444 | ], 1445 | "type": "math" 1446 | } 1447 | ] 1448 | ], 1449 | "tags": [ 1450 | { 1451 | "key": "cm_mac", 1452 | "operator": "=~", 1453 | "value": "/^$cm_mac$/" 1454 | }, 1455 | { 1456 | "condition": "AND", 1457 | "key": "ifName", 1458 | "operator": "=", 1459 | "value": "cbl0" 1460 | } 1461 | ] 1462 | }, 1463 | { 1464 | "alias": "Upload", 1465 | "groupBy": [ 1466 | { 1467 | "params": [ 1468 | "10s" 1469 | ], 1470 | "type": "time" 1471 | }, 1472 | { 1473 | "params": [ 1474 | "null" 1475 | ], 1476 | "type": "fill" 1477 | } 1478 | ], 1479 | "measurement": "cablemodem", 1480 | "orderByTime": "ASC", 1481 | "policy": "default", 1482 | "query": "SELECT non_negative_derivative(mean(\"ifHCInOctets\"), 1s) *8 FROM \"cablemodem\" WHERE (\"cm_mac\" =~ /^$cm_mac$/ AND \"ifName\" = 'cbl0') AND $timeFilter GROUP BY time(10s) fill(null)", 1483 | "rawQuery": false, 1484 | "refId": "B", 1485 | "resultFormat": "time_series", 1486 | "select": [ 1487 | [ 1488 | { 1489 | "params": [ 1490 | "ifHCOutOctets" 1491 | ], 1492 | "type": "field" 1493 | }, 1494 | { 1495 | "params": [], 1496 | "type": "mean" 1497 | }, 1498 | { 1499 | "params": [ 1500 | "1s" 1501 | ], 1502 | "type": "non_negative_derivative" 1503 | }, 1504 | { 1505 | "params": [ 1506 | "*8" 1507 | ], 1508 | "type": "math" 1509 | } 1510 | ] 1511 | ], 1512 | "tags": [ 1513 | { 1514 | "key": "cm_mac", 1515 | "operator": "=~", 1516 | "value": "/^$cm_mac$/" 1517 | }, 1518 | { 1519 | "condition": "AND", 1520 | "key": "ifName", 1521 | "operator": "=", 1522 | "value": "cbl0" 1523 | } 1524 | ] 1525 | } 1526 | ], 1527 | "thresholds": [], 1528 | "timeFrom": null, 1529 | "timeRegions": [], 1530 | "timeShift": null, 1531 | "title": "Current Traffic", 1532 | "tooltip": { 1533 | "shared": true, 1534 | "sort": 0, 1535 | "value_type": "individual" 1536 | }, 1537 | "type": "graph", 1538 | "xaxis": { 1539 | "buckets": null, 1540 | "mode": "time", 1541 | "name": null, 1542 | "show": true, 1543 | "values": [] 1544 | }, 1545 | "yaxes": [ 1546 | { 1547 | "format": "bps", 1548 | "label": null, 1549 | "logBase": 1, 1550 | "max": null, 1551 | "min": null, 1552 | "show": true 1553 | }, 1554 | { 1555 | "format": "short", 1556 | "label": null, 1557 | "logBase": 1, 1558 | "max": null, 1559 | "min": null, 1560 | "show": true 1561 | } 1562 | ], 1563 | "yaxis": { 1564 | "align": false, 1565 | "alignLevel": null 1566 | } 1567 | } 1568 | ], 1569 | "refresh": "10s", 1570 | "schemaVersion": 18, 1571 | "style": "dark", 1572 | "tags": [], 1573 | "templating": { 1574 | "list": [ 1575 | { 1576 | "allValue": null, 1577 | "current": {}, 1578 | "datasource": "${DS_TELEGRAF}", 1579 | "definition": "show tag values from cablemodem with key=cm_mac", 1580 | "hide": 0, 1581 | "includeAll": false, 1582 | "label": null, 1583 | "multi": false, 1584 | "name": "cm_mac", 1585 | "options": [], 1586 | "query": "show tag values from cablemodem with key=cm_mac", 1587 | "refresh": 1, 1588 | "regex": "", 1589 | "skipUrlSync": false, 1590 | "sort": 0, 1591 | "tagValuesQuery": "", 1592 | "tags": [], 1593 | "tagsQuery": "", 1594 | "type": "query", 1595 | "useTags": false 1596 | } 1597 | ] 1598 | }, 1599 | "time": { 1600 | "from": "now-10m", 1601 | "to": "now" 1602 | }, 1603 | "timepicker": { 1604 | "refresh_intervals": [ 1605 | "5s", 1606 | "10s", 1607 | "30s", 1608 | "1m", 1609 | "5m", 1610 | "15m", 1611 | "30m", 1612 | "1h", 1613 | "2h", 1614 | "1d" 1615 | ], 1616 | "time_options": [ 1617 | "5m", 1618 | "15m", 1619 | "1h", 1620 | "6h", 1621 | "12h", 1622 | "24h", 1623 | "2d", 1624 | "7d", 1625 | "30d" 1626 | ] 1627 | }, 1628 | "timezone": "", 1629 | "title": "RT CM GRAPH", 1630 | "uid": "6gm_OtWWk", 1631 | "version": 8 1632 | } -------------------------------------------------------------------------------- /telegraf/rtPoller/templates/cmts.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "hostname": "10.10.1.8", 4 | "community": "sadfssda25234563", 5 | "port": 161, 6 | "cmCommunity": "352672427643vds!dd" 7 | } 8 | ] 9 | -------------------------------------------------------------------------------- /telegraf/rtPoller/templates/tmp.cm.conf: -------------------------------------------------------------------------------- 1 | [[inputs.snmp]] 2 | interval = "10s" 3 | agents = [ "CM_IP:161" ] 4 | version = 2 5 | community = "CM_COMMUNITY" 6 | name = "rtModem" 7 | 8 | [inputs.snmp.tags] 9 | cm_mac = "CM_HEX_MAC" 10 | 11 | [[inputs.snmp.field]] 12 | name = "uptime" 13 | oid = "RFC1213-MIB::sysUpTime.0" 14 | 15 | [[inputs.snmp.table]] 16 | name = "cablemodem" 17 | inherit_tags = [ "cm_mac" ] 18 | oid = "IF-MIB::ifXTable" 19 | index_as_tag = true 20 | 21 | [[inputs.snmp.table.field]] 22 | name = "ifName" 23 | oid = "IF-MIB::ifName" 24 | is_tag = true 25 | 26 | [[inputs.snmp.table.field]] 27 | name = "ifType" 28 | oid = "IF-MIB::ifType" 29 | is_tag = true 30 | 31 | [[inputs.snmp.table.field]] 32 | name = "ifAlias" 33 | oid = "IF-MIB::ifAlias" 34 | is_tag = true 35 | 36 | [[inputs.snmp.table.field]] 37 | name = "ifSpeed" 38 | oid = "IF-MIB::ifSpeed" 39 | 40 | [[inputs.snmp.table.field]] 41 | name = "docsIfSigQUnerroreds" 42 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.2" 43 | 44 | [[inputs.snmp.table.field]] 45 | name = "docsIfSigQCorrecteds" 46 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.3" 47 | 48 | [[inputs.snmp.table.field]] 49 | name = "docsIfSigQUnerroreds" 50 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.2" 51 | 52 | [[inputs.snmp.table.field]] 53 | name = "docsIfSigQUncorrectables" 54 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.4" 55 | 56 | [[inputs.snmp.table.field]] 57 | name = "docsIfSigQSignalNoise" 58 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.5" 59 | 60 | [[inputs.snmp.table.field]] 61 | name = "docsIfSigQMicroreflections" 62 | oid = "1.3.6.1.2.1.10.127.1.1.4.1.6" 63 | 64 | [[inputs.snmp.table.field]] 65 | name = "docsIfUpChannelFrequency" 66 | oid = "1.3.6.1.2.1.10.127.1.1.2.1.2" 67 | is_tag = true 68 | conversion = "int" 69 | 70 | [[inputs.snmp.table.field]] 71 | name = "docsIfUpChannelWidth" 72 | oid = "1.3.6.1.2.1.10.127.1.1.2.1.3" 73 | conversion = "int" 74 | 75 | [[inputs.snmp.table.field]] 76 | name = "docsIfUpChannelModulation" 77 | oid = "1.3.6.1.2.1.10.127.1.1.2.1.4" 78 | 79 | [[inputs.snmp.table.field]] 80 | name = "docsIfDownChannelFrequency" 81 | oid = "1.3.6.1.2.1.10.127.1.1.1.1.2" 82 | is_tag = true 83 | conversion = "int" 84 | 85 | [[inputs.snmp.table.field]] 86 | name = "docsIfDownChannelPower" 87 | oid = "1.3.6.1.2.1.10.127.1.1.1.1.6" 88 | conversion = "int" 89 | 90 | [[inputs.snmp.table.field]] 91 | name = "docsIfDownChannelWidth" 92 | oid = "1.3.6.1.2.1.10.127.1.1.1.1.3" 93 | conversion = "int" 94 | 95 | [[inputs.snmp.table.field]] 96 | name = "docsIfDownChannelModulation" 97 | oid = "1.3.6.1.2.1.10.127.1.1.1.1.4" 98 | 99 | [[inputs.snmp.table.field]] 100 | name = "docsIf3CmStatusUsTxPower" 101 | oid = "1.3.6.1.4.1.4491.2.1.20.1.2.1.1" 102 | 103 | -------------------------------------------------------------------------------- /telegraf/rtPoller/templates/tmp.cmts.conf: -------------------------------------------------------------------------------- 1 | [[inputs.snmp]] 2 | interval = "10s" 3 | agents = [ "CMTS_HOSTNAME:161" ] 4 | version = 2 5 | community = "CMTS_COMMUNITY" 6 | name = "rtModemCMTS" 7 | 8 | [[inputs.snmp.field]] 9 | name = "hostname" 10 | oid = "RFC1213-MIB::sysName.0" 11 | is_tag = true 12 | 13 | [inputs.snmp.tags] 14 | cm_mac = "CM_HEX_MAC" 15 | 16 | [[inputs.snmp.table]] 17 | name = "usParams" 18 | inherit_tags = [ "hostname","cm_mac" ] 19 | 20 | [[inputs.snmp.table.field]] 21 | name = "docsIf3CmtsCmUsStatusRxPower" 22 | oid = "1.3.6.1.4.1.4491.2.1.20.1.4.1.3.PTR" 23 | conversion = "int" 24 | 25 | [[inputs.snmp.table.field]] 26 | name = "docsIf3CmtsCmUsStatusSignalNoise" 27 | oid = "1.3.6.1.4.1.4491.2.1.20.1.4.1.4.PTR" 28 | conversion = "int" 29 | 30 | [[inputs.snmp.table.field]] 31 | name = "docsIf3CmtsCmUsStatusUnerroreds" 32 | oid = "1.3.6.1.4.1.4491.2.1.20.1.4.1.8.PTR" 33 | 34 | [[inputs.snmp.table.field]] 35 | name = "docsIf3CmtsCmUsStatusCorrecteds" 36 | oid = "1.3.6.1.4.1.4491.2.1.20.1.4.1.9.PTR" 37 | 38 | [[inputs.snmp.table.field]] 39 | name = "docsIf3CmtsCmUsStatusUncorrectables" 40 | oid = "1.3.6.1.4.1.4491.2.1.20.1.4.1.10.PTR" 41 | 42 | [[inputs.snmp.table.field]] 43 | name = "docsIfUpChannelFrequency" 44 | oid = "1.3.6.1.2.1.10.127.1.1.2.1.2" 45 | is_tag = true 46 | --------------------------------------------------------------------------------