status-group.json.in 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645
  1. {
  2. "annotations": {
  3. "list": []
  4. },
  5. "editable": true,
  6. "gnetId": null,
  7. "graphTooltip": 0,
  8. "hideControls": false,
  9. "id": null,
  10. "links": [
  11. {
  12. "icon": "dashboard",
  13. "keepTime": true,
  14. "tags": [],
  15. "title": "Mesh",
  16. "type": "link",
  17. "url": "%%DASHBOARD_PATH%%%%DASHBOARD_PREFIX%%status-mesh.json?var-mesh_name=[[mesh_name]]"
  18. }
  19. ],
  20. "rows": [
  21. {
  22. "collapse": false,
  23. "height": 250,
  24. "panels": [
  25. {
  26. "aliasColors": {
  27. "Router": "#1f78c1",
  28. "Routeranzahl": "#1f78c1"
  29. },
  30. "bars": false,
  31. "dashLength": 10,
  32. "dashes": false,
  33. "datasource": null,
  34. "decimals": 0,
  35. "fill": 0,
  36. "id": 5,
  37. "legend": {
  38. "alignAsTable": true,
  39. "avg": true,
  40. "current": true,
  41. "hideEmpty": true,
  42. "hideZero": false,
  43. "max": false,
  44. "min": false,
  45. "rightSide": true,
  46. "show": true,
  47. "total": false,
  48. "values": true
  49. },
  50. "lines": true,
  51. "linewidth": 2,
  52. "links": [],
  53. "nullPointMode": "null",
  54. "percentage": false,
  55. "pointradius": 5,
  56. "points": false,
  57. "renderer": "flot",
  58. "seriesOverrides": [],
  59. "spaceLength": 10,
  60. "span": 12,
  61. "stack": false,
  62. "steppedLine": false,
  63. "targets": [
  64. {
  65. "expr": "count(ffdo_nodes_detail_clients{hostname=~\"([[regex]])\"})",
  66. "format": "time_series",
  67. "hide": false,
  68. "instant": false,
  69. "intervalFactor": 2,
  70. "legendFormat": "Router",
  71. "refId": "A"
  72. },
  73. {
  74. "expr": "sum(ffdo_nodes_detail_clients{hostname=~\"([[regex]])\"})",
  75. "format": "time_series",
  76. "intervalFactor": 2,
  77. "legendFormat": "NutzerInnen",
  78. "refId": "B"
  79. }
  80. ],
  81. "thresholds": [],
  82. "timeFrom": null,
  83. "timeShift": null,
  84. "title": "Freifunk '[[group]]': NutzerInnen und Router",
  85. "tooltip": {
  86. "shared": true,
  87. "sort": 0,
  88. "value_type": "individual"
  89. },
  90. "type": "graph",
  91. "xaxis": {
  92. "buckets": null,
  93. "mode": "time",
  94. "name": null,
  95. "show": true,
  96. "values": []
  97. },
  98. "yaxes": [
  99. {
  100. "decimals": 0,
  101. "format": "short",
  102. "label": "NutzerInnen",
  103. "logBase": 1,
  104. "max": null,
  105. "min": "0",
  106. "show": true
  107. },
  108. {
  109. "format": "short",
  110. "label": "Router",
  111. "logBase": 1,
  112. "max": null,
  113. "min": null,
  114. "show": true
  115. }
  116. ]
  117. }
  118. ],
  119. "repeat": null,
  120. "repeatIteration": null,
  121. "repeatRowId": null,
  122. "showTitle": false,
  123. "title": "Gruppe '[[group]]': NutzerInnen und Router",
  124. "titleSize": "h6"
  125. },
  126. {
  127. "collapse": false,
  128. "height": 278,
  129. "panels": [
  130. {
  131. "aliasColors": {},
  132. "bars": false,
  133. "dashLength": 10,
  134. "dashes": false,
  135. "datasource": null,
  136. "fill": 0,
  137. "id": 3,
  138. "legend": {
  139. "alignAsTable": true,
  140. "avg": true,
  141. "current": true,
  142. "hideEmpty": true,
  143. "max": false,
  144. "min": false,
  145. "rightSide": true,
  146. "show": true,
  147. "total": false,
  148. "values": true
  149. },
  150. "lines": true,
  151. "linewidth": 1,
  152. "links": [],
  153. "nullPointMode": "null",
  154. "percentage": false,
  155. "pointradius": 5,
  156. "points": false,
  157. "renderer": "flot",
  158. "seriesOverrides": [],
  159. "spaceLength": 10,
  160. "span": 12,
  161. "stack": false,
  162. "steppedLine": false,
  163. "targets": [
  164. {
  165. "expr": "%%PROM_STATS_PREFIX%%%%PROM_SEPERATOR%%clients{hostname=~\"([[regex]])\"}",
  166. "format": "time_series",
  167. "hide": false,
  168. "interval": "",
  169. "intervalFactor": 2,
  170. "legendFormat": "{{hostname}}",
  171. "refId": "A",
  172. "step": 120
  173. },
  174. {
  175. "expr": "sum(%%PROM_STATS_PREFIX%%%%PROM_SEPERATOR%%clients{hostname=~\"([[regex]])\"})",
  176. "format": "time_series",
  177. "hide": false,
  178. "interval": "",
  179. "intervalFactor": 2,
  180. "legendFormat": "Summe",
  181. "refId": "B",
  182. "step": 120
  183. }
  184. ],
  185. "thresholds": [],
  186. "timeFrom": null,
  187. "timeShift": null,
  188. "title": "[[group]] (clients)",
  189. "tooltip": {
  190. "shared": true,
  191. "sort": 1,
  192. "value_type": "individual"
  193. },
  194. "type": "graph",
  195. "xaxis": {
  196. "buckets": null,
  197. "mode": "time",
  198. "name": null,
  199. "show": true,
  200. "values": []
  201. },
  202. "yaxes": [
  203. {
  204. "decimals": 0,
  205. "format": "short",
  206. "label": "",
  207. "logBase": 1,
  208. "max": null,
  209. "min": null,
  210. "show": true
  211. },
  212. {
  213. "format": "short",
  214. "label": null,
  215. "logBase": 1,
  216. "max": null,
  217. "min": null,
  218. "show": true
  219. }
  220. ]
  221. }
  222. ],
  223. "repeat": null,
  224. "repeatIteration": null,
  225. "repeatRowId": null,
  226. "showTitle": false,
  227. "title": "[[group]] (clients)",
  228. "titleSize": "h6"
  229. },
  230. {
  231. "collapse": false,
  232. "height": "100",
  233. "panels": [
  234. {
  235. "content": "<p>Links zu Router [[hostname]], Node ID [[node_id]]: <a href=\"%%DASHBOARD_PATH%%%%DASHBOARD_PREFIX%%status.json?var-hostname=[[hostname]]&var-node_id=[[node_id]]\">Status Dashboard</a>, <a href=\"%%MAP_NODE_URL%%[[node_id]]\">Map</a>.</p>\n",
  236. "height": "80px",
  237. "id": 4,
  238. "links": [],
  239. "mode": "html",
  240. "repeat": null,
  241. "span": 12,
  242. "title": "Links zu [[hostname]], Node ID [[node_id]]",
  243. "type": "text"
  244. }
  245. ],
  246. "repeat": null,
  247. "repeatIteration": null,
  248. "repeatRowId": null,
  249. "showTitle": false,
  250. "title": "Links zu [[hostname]], Node ID [[node_id]]",
  251. "titleSize": "h6"
  252. },
  253. {
  254. "collapse": true,
  255. "height": "500",
  256. "panels": [
  257. {
  258. "columns": [],
  259. "datasource": null,
  260. "fontSize": "100%",
  261. "id": 7,
  262. "links": [],
  263. "pageSize": null,
  264. "scroll": true,
  265. "showHeader": true,
  266. "sort": {
  267. "col": 5,
  268. "desc": false
  269. },
  270. "span": 12,
  271. "styles": [
  272. {
  273. "alias": "Time",
  274. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  275. "pattern": "Time",
  276. "type": "hidden"
  277. },
  278. {
  279. "alias": "",
  280. "colorMode": null,
  281. "colors": [
  282. "rgba(245, 54, 54, 0.9)",
  283. "rgba(237, 129, 40, 0.89)",
  284. "rgba(50, 172, 45, 0.97)"
  285. ],
  286. "decimals": 2,
  287. "pattern": "/__name__|Value/",
  288. "thresholds": [],
  289. "type": "hidden",
  290. "unit": "short"
  291. },
  292. {
  293. "alias": "Autoupd.",
  294. "colorMode": null,
  295. "colors": [
  296. "rgba(245, 54, 54, 0.9)",
  297. "rgba(237, 129, 40, 0.89)",
  298. "rgba(50, 172, 45, 0.97)"
  299. ],
  300. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  301. "decimals": 2,
  302. "pattern": "autoupdater",
  303. "thresholds": [],
  304. "type": "string",
  305. "unit": "short"
  306. },
  307. {
  308. "alias": "Branch",
  309. "colorMode": null,
  310. "colors": [
  311. "rgba(245, 54, 54, 0.9)",
  312. "rgba(237, 129, 40, 0.89)",
  313. "rgba(50, 172, 45, 0.97)"
  314. ],
  315. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  316. "decimals": 2,
  317. "pattern": "branch",
  318. "thresholds": [],
  319. "type": "string",
  320. "unit": "short"
  321. },
  322. {
  323. "alias": "Firmware",
  324. "colorMode": null,
  325. "colors": [
  326. "rgba(245, 54, 54, 0.9)",
  327. "rgba(237, 129, 40, 0.89)",
  328. "rgba(50, 172, 45, 0.97)"
  329. ],
  330. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  331. "decimals": 2,
  332. "pattern": "firmware",
  333. "thresholds": [],
  334. "type": "string",
  335. "unit": "short"
  336. },
  337. {
  338. "alias": "Hardware",
  339. "colorMode": null,
  340. "colors": [
  341. "rgba(245, 54, 54, 0.9)",
  342. "rgba(237, 129, 40, 0.89)",
  343. "rgba(50, 172, 45, 0.97)"
  344. ],
  345. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  346. "decimals": 2,
  347. "pattern": "model",
  348. "thresholds": [],
  349. "type": "string",
  350. "unit": "short"
  351. },
  352. {
  353. "alias": "Routername",
  354. "colorMode": null,
  355. "colors": [
  356. "rgba(245, 54, 54, 0.9)",
  357. "rgba(237, 129, 40, 0.89)",
  358. "rgba(50, 172, 45, 0.97)"
  359. ],
  360. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  361. "decimals": 2,
  362. "link": true,
  363. "linkTargetBlank": true,
  364. "linkTooltip": "zur Statusseite f\u00fcr $__cell",
  365. "linkUrl": "%%DASHBOARD_PATH%%%%DASHBOARD_PREFIX%%status.json?var-hostname=$__cell",
  366. "pattern": "hostname",
  367. "thresholds": [],
  368. "type": "string",
  369. "unit": "short"
  370. },
  371. {
  372. "alias": "Node ID",
  373. "colorMode": null,
  374. "colors": [
  375. "rgba(245, 54, 54, 0.9)",
  376. "rgba(237, 129, 40, 0.89)",
  377. "rgba(50, 172, 45, 0.97)"
  378. ],
  379. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  380. "decimals": 2,
  381. "pattern": "node_id",
  382. "thresholds": [],
  383. "type": "string",
  384. "unit": "short"
  385. },
  386. {
  387. "alias": "Meshinterfaces",
  388. "colorMode": null,
  389. "colors": [
  390. "rgba(245, 54, 54, 0.9)",
  391. "rgba(237, 129, 40, 0.89)",
  392. "rgba(50, 172, 45, 0.97)"
  393. ],
  394. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  395. "decimals": 2,
  396. "pattern": "interfaces",
  397. "thresholds": [],
  398. "type": "string",
  399. "unit": "short"
  400. },
  401. {
  402. "alias": "Gateway",
  403. "colorMode": null,
  404. "colors": [
  405. "rgba(245, 54, 54, 0.9)",
  406. "rgba(237, 129, 40, 0.89)",
  407. "rgba(50, 172, 45, 0.97)"
  408. ],
  409. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  410. "decimals": 2,
  411. "pattern": "gateway",
  412. "thresholds": [],
  413. "type": "string",
  414. "unit": "short"
  415. },
  416. {
  417. "alias": "",
  418. "colorMode": null,
  419. "colors": [
  420. "rgba(245, 54, 54, 0.9)",
  421. "rgba(237, 129, 40, 0.89)",
  422. "rgba(50, 172, 45, 0.97)"
  423. ],
  424. "dateFormat": "YYYY-MM-DD HH:mm:ss",
  425. "decimals": 2,
  426. "pattern": "/.*/",
  427. "thresholds": [],
  428. "type": "string",
  429. "unit": "short"
  430. }
  431. ],
  432. "targets": [
  433. {
  434. "expr": "max(%%PROM_INFO_PREFIX%%{hostname=~\"[[regex]]\"}) by (autoupdater,branch,firmware,gateway,hostname,interfaces,model,node_id)",
  435. "format": "table",
  436. "instant": true,
  437. "intervalFactor": 2,
  438. "refId": "A"
  439. }
  440. ],
  441. "title": "Liste der Router in Gruppe '[[group]]'",
  442. "transform": "table",
  443. "type": "table"
  444. }
  445. ],
  446. "repeat": null,
  447. "repeatIteration": null,
  448. "repeatRowId": null,
  449. "showTitle": false,
  450. "title": "Liste der Router in Gruppe '[[group]]'",
  451. "titleSize": "h6"
  452. }
  453. ],
  454. "schemaVersion": 14,
  455. "style": "dark",
  456. "tags": [],
  457. "templating": {
  458. "list": [
  459. {
  460. "allValue": null,
  461. "current": {
  462. "text": " - noch keine Auswahl -",
  463. "value": null
  464. },
  465. "datasource": null,
  466. "hide": 0,
  467. "includeAll": false,
  468. "label": "Routergruppe",
  469. "multi": false,
  470. "name": "group",
  471. "options": [],
  472. "query": "label_values(%%PROM_GROUPS_PREFIX%%,group)",
  473. "refresh": 2,
  474. "regex": "",
  475. "sort": 1,
  476. "tagValuesQuery": "",
  477. "tags": [],
  478. "tagsQuery": "",
  479. "type": "query",
  480. "useTags": false
  481. },
  482. {
  483. "allValue": null,
  484. "current": {
  485. "text": null,
  486. "value": null
  487. },
  488. "datasource": null,
  489. "hide": 2,
  490. "includeAll": false,
  491. "label": null,
  492. "multi": false,
  493. "name": "regex",
  494. "options": [],
  495. "query": "query_result(max(%%PROM_GROUPS_PREFIX%%{group=\"[[group]]\"}) by (regex))",
  496. "refresh": 2,
  497. "regex": "/.*regex=\"(.*)\".*/",
  498. "sort": 1,
  499. "tagValuesQuery": "",
  500. "tags": [],
  501. "tagsQuery": "",
  502. "type": "query",
  503. "useTags": false
  504. },
  505. {
  506. "allValue": null,
  507. "current": {
  508. "text": " - noch keine Auswahl -",
  509. "value": null
  510. },
  511. "datasource": null,
  512. "hide": 0,
  513. "includeAll": false,
  514. "label": null,
  515. "multi": false,
  516. "name": "hostname",
  517. "options": [],
  518. "query": "label_values(%%PROM_INFO_PREFIX%%{hostname=~\"[[regex]]\"},hostname)",
  519. "refresh": 2,
  520. "regex": "",
  521. "sort": 1,
  522. "tagValuesQuery": "",
  523. "tags": [],
  524. "tagsQuery": "",
  525. "type": "query",
  526. "useTags": false
  527. },
  528. {
  529. "allValue": null,
  530. "current": {
  531. "text": null,
  532. "value": null
  533. },
  534. "datasource": null,
  535. "hide": 0,
  536. "includeAll": false,
  537. "label": null,
  538. "multi": false,
  539. "name": "node_id",
  540. "options": [],
  541. "query": "label_values(%%PROM_INFO_PREFIX%%{hostname=\"[[hostname]]\"},node_id)",
  542. "refresh": 2,
  543. "regex": "",
  544. "sort": 1,
  545. "tagValuesQuery": "",
  546. "tags": [],
  547. "tagsQuery": "",
  548. "type": "query",
  549. "useTags": false
  550. },
  551. {
  552. "allValue": null,
  553. "current": {},
  554. "datasource": null,
  555. "hide": 2,
  556. "includeAll": false,
  557. "label": null,
  558. "multi": false,
  559. "name": "link_target_id",
  560. "options": [],
  561. "query": "query_result(%%PROM_GRAPH_PREFIX%%%%PROM_SEPERATOR%%link{source=\"[[node_id]]\",target=\"[[neighbor_id]]\"} or %%PROM_GRAPH_PREFIX%%%%PROM_SEPERATOR%%link{source=\"[[neighbor_id]]\",target=\"[[node_id]]\"})",
  562. "refresh": 2,
  563. "regex": "/.*target=\"([^\"]+)\".*/",
  564. "sort": 0,
  565. "tagValuesQuery": "",
  566. "tags": [],
  567. "tagsQuery": "",
  568. "type": "query",
  569. "useTags": false
  570. },
  571. {
  572. "allValue": null,
  573. "current": {},
  574. "datasource": null,
  575. "hide": 2,
  576. "includeAll": false,
  577. "label": null,
  578. "multi": false,
  579. "name": "mesh_id",
  580. "options": [],
  581. "query": "label_values(%%PROM_GRAPH_PREFIX%%%%PROM_SEPERATOR%%mesh{members=~\".*[[node_id]].*\"},node_id)",
  582. "refresh": 2,
  583. "regex": "",
  584. "sort": 0,
  585. "tagValuesQuery": "",
  586. "tags": [],
  587. "tagsQuery": "",
  588. "type": "query",
  589. "useTags": false
  590. },
  591. {
  592. "allValue": null,
  593. "current": {},
  594. "datasource": null,
  595. "hide": 2,
  596. "includeAll": false,
  597. "label": null,
  598. "multi": false,
  599. "name": "mesh_name",
  600. "options": [],
  601. "query": "label_values(%%PROM_INFO_PREFIX%%{node_id=\"[[mesh_id]]\"},hostname)",
  602. "refresh": 2,
  603. "regex": "",
  604. "sort": 0,
  605. "tagValuesQuery": "",
  606. "tags": [],
  607. "tagsQuery": "",
  608. "type": "query",
  609. "useTags": false
  610. }
  611. ]
  612. },
  613. "time": {
  614. "from": "now-24h",
  615. "to": "now"
  616. },
  617. "timepicker": {
  618. "refresh_intervals": [
  619. "5s",
  620. "10s",
  621. "30s",
  622. "1m",
  623. "5m",
  624. "15m",
  625. "30m",
  626. "1h",
  627. "2h",
  628. "1d"
  629. ],
  630. "time_options": [
  631. "5m",
  632. "15m",
  633. "1h",
  634. "6h",
  635. "12h",
  636. "24h",
  637. "2d",
  638. "7d",
  639. "30d"
  640. ]
  641. },
  642. "timezone": "",
  643. "title": "%%DASHBOARD_PREFIX%%status-group",
  644. "version": 9
  645. }