File

misc/grafana/prosody-dashboard.json @ 6261:8c9eb4b6d02f draft default tip

Merge updates
author Trần H. Trung <xmpp:trần.h.trung@trung.fun>
date Sun, 18 May 2025 20:52:00 +0700
parent 6243:e2648638f3e0
line wrap: on
line source

{
   "editable" : true,
   "fiscalYearStartMonth" : 0,
   "graphTooltip" : 1,
   "id" : 1,
   "links" : [],
   "panels" : [
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 0
         },
         "id" : 26,
         "panels" : [],
         "title" : "Core",
         "type" : "row"
      },
      {
         "description" : "This panel requires [mod_measure_process](https://modules.prosody.im/mod_measure_process.html)",
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "continuous-GrYlRd",
                  "seriesBy" : "last"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "right",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 10,
                  "gradientMode" : "scheme",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "smooth",
                  "lineStyle" : {
                     "fill" : "solid"
                  },
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : 300000,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "min" : 0,
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "percentunit"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 1
         },
         "id" : 6,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "rate(process_cpu_seconds_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "instant" : false,
               "interval" : "",
               "intervalFactor" : 2,
               "legendFormat" : "usage",
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "CPU",
         "type" : "timeseries"
      },
      {
         "description" : "This panel requires [mod_measure_lua](https://modules.prosody.im/mod_measure_lua.html), [mod_measure_malloc](https://modules.prosody.im/mod_measure_malloc.html), and [mod_measure_process](https://modules.prosody.im/mod_measure_process.html),",
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "right",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 10,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "smooth",
                  "lineStyle" : {
                     "fill" : "solid"
                  },
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "log" : 2,
                     "type" : "log"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : 300000,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "percentage",
                  "steps" : [
                     {
                        "color" : "green"
                     }
                  ]
               },
               "unit" : "bytes"
            },
            "overrides" : [
               {
                  "__systemRef" : "hideSeriesFrom",
                  "matcher" : {
                     "id" : "byNames",
                     "options" : {
                        "mode" : "exclude",
                        "names" : [
                           "Lua",
                           "RSS",
                           "Used"
                        ],
                        "prefix" : "All except:",
                        "readOnly" : true
                     }
                  },
                  "properties" : [
                     {
                        "id" : "custom.hideFrom",
                        "value" : {
                           "legend" : false,
                           "tooltip" : false,
                           "viz" : true
                        }
                     }
                  ]
               }
            ]
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 1
         },
         "id" : 4,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "code",
               "exemplar" : true,
               "expr" : "max_over_time(process_virtual_memory_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "fullMetaSearch" : false,
               "hide" : false,
               "includeNullMetadata" : true,
               "interval" : "",
               "intervalFactor" : 1,
               "legendFormat" : "Virtual",
               "range" : true,
               "refId" : "VIRT",
               "useBackend" : false
            },
            {
               "exemplar" : false,
               "expr" : "max_over_time(process_resident_memory_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "interval" : "",
               "legendFormat" : "RSS",
               "refId" : "RSS"
            },
            {
               "exemplar" : false,
               "expr" : "max_over_time(malloc_heap_allocated_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "hide" : false,
               "interval" : "",
               "legendFormat" : "Allocated ({{mode}})",
               "refId" : "Malloc allocated"
            },
            {
               "editorMode" : "code",
               "exemplar" : false,
               "expr" : "max_over_time(malloc_heap_used_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "hide" : false,
               "interval" : "",
               "legendFormat" : "Used",
               "range" : true,
               "refId" : "Malloc Used"
            },
            {
               "editorMode" : "code",
               "exemplar" : false,
               "expr" : "max_over_time(lua_heap_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "hide" : false,
               "interval" : "",
               "legendFormat" : "Lua",
               "range" : true,
               "refId" : "Lua"
            },
            {
               "exemplar" : false,
               "expr" : "sum(lua_heap_bytes{job=~\"$job\",instance=~\"$instance\"}) / (\nsum(prosody_mod_c2s__connections{job=~\"$job\",instance=~\"$instance\"}) +\nsum(prosody_mod_s2s__connections_inbound{job=~\"$job\",instance=~\"$instance\"}) +\nsum(prosody_mod_s2s__connections_outbound{job=~\"$job\",instance=~\"$instance\"})\n)",
               "hide" : false,
               "interval" : "",
               "legendFormat" : "Lua (per connection)",
               "refId" : "LuaPerConn"
            },
            {
               "editorMode" : "code",
               "expr" : "max_over_time(malloc_heap_unused_bytes{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "hide" : false,
               "instant" : false,
               "legendFormat" : "Unused",
               "range" : true,
               "refId" : "A"
            }
         ],
         "title" : "Memory",
         "type" : "timeseries"
      },
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 9
         },
         "id" : 31,
         "panels" : [],
         "title" : "Connections",
         "type" : "row"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "right",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 100,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "stepAfter",
                  "lineWidth" : 0,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "normal"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "min" : 0,
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "none"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 10
         },
         "id" : 13,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "exemplar" : true,
               "expr" : "prosody_mod_c2s__connections{job=~\"$job\",instance=~\"$instance\",type=\"c2s\"}",
               "interval" : "",
               "legendFormat" : "{{ip_family}} {{type}}",
               "refId" : "c2s"
            }
         ],
         "title" : "Client-to-Server Connections",
         "type" : "timeseries"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "right",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 100,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "stepAfter",
                  "lineWidth" : 0,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "normal"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "min" : 0,
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "none"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 10
         },
         "id" : 12,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "exemplar" : true,
               "expr" : "sum(prosody_mod_s2s__connections_inbound{job=~\"$job\",instance=~\"$instance\",type=\"s2sin\"}) by (ip_family)",
               "interval" : "",
               "legendFormat" : "{{ip_family}} s2sin",
               "refId" : "s2sin"
            },
            {
               "exemplar" : true,
               "expr" : "sum(prosody_mod_s2s__connections_outbound{job=~\"$job\",instance=~\"$instance\",type=\"s2sout\"}) by (ip_family)",
               "hide" : false,
               "interval" : "",
               "legendFormat" : "{{ip_family}} s2sout",
               "refId" : "s2sout"
            }
         ],
         "title" : "Server-to-Server Connections",
         "type" : "timeseries"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 18
         },
         "id" : 29,
         "options" : {
            "calculate" : false,
            "cellGap" : 1,
            "color" : {
               "exponent" : 0.5,
               "fill" : "dark-orange",
               "mode" : "scheme",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "Spectral",
               "steps" : 64
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : true
            },
            "rowsFrame" : {
               "layout" : "auto"
            },
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "reverse" : false
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : false,
               "expr" : "changes(prosody_mod_c2s__encrypted_total{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "interval" : "10m",
               "legendFormat" : "{{protocol}} {{cipher}}",
               "range" : true,
               "refId" : "c2s",
               "useBackend" : false
            }
         ],
         "title" : "Client-to-Server Connections Encrypted",
         "type" : "heatmap"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 18
         },
         "id" : 30,
         "options" : {
            "calculate" : false,
            "cellGap" : 1,
            "color" : {
               "exponent" : 0.5,
               "fill" : "dark-orange",
               "mode" : "scheme",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "Spectral",
               "steps" : 64
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : true
            },
            "rowsFrame" : {
               "layout" : "auto"
            },
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "reverse" : false
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : false,
               "expr" : "changes(prosody_mod_s2s__encrypted_total{job=~\"$job\",instance=~\"$instance\"}[$__interval])",
               "format" : "time_series",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "instant" : false,
               "interval" : "10m",
               "legendFormat" : "{{protocol}} {{cipher}}",
               "range" : true,
               "refId" : "s2sin",
               "useBackend" : false
            }
         ],
         "title" : "Server-to-Server Connections Encrypted",
         "type" : "heatmap"
      },
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 26
         },
         "id" : 24,
         "panels" : [],
         "title" : "Stream Management",
         "type" : "row"
      },
      {
         "description" : "How long a session has been hibernating when a client resumes it",
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 27
         },
         "id" : 14,
         "options" : {
            "calculate" : false,
            "calculation" : {},
            "cellGap" : 2,
            "cellValues" : {},
            "color" : {
               "exponent" : 0.5,
               "fill" : "#b4ff00",
               "mode" : "scheme",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "RdYlGn",
               "steps" : 128
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : true
            },
            "rowsFrame" : {
               "layout" : "ge"
            },
            "showValue" : "never",
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "decimals" : 0,
               "reverse" : false,
               "unit" : "clocks"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "rate(prosody_mod_smacks__resumption_age_seconds_bucket{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "format" : "heatmap",
               "fullMetaSearch" : false,
               "includeNullMetadata" : false,
               "interval" : "",
               "legendFormat" : "{{le}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "Resumption Age",
         "type" : "heatmap"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "auto",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 0,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "linear",
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "pps"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 27
         },
         "id" : 16,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "rate(prosody_mod_smacks__tx_queued_stanzas_total{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "interval" : "600",
               "legendFormat" : "queued on {{host}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            },
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "rate(prosody_mod_smacks__tx_acked_stanzas_count{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__interval])",
               "fullMetaSearch" : false,
               "hide" : false,
               "includeNullMetadata" : true,
               "interval" : "600",
               "legendFormat" : "acked on {{host}}",
               "range" : true,
               "refId" : "B",
               "useBackend" : false
            }
         ],
         "title" : "Stanzas",
         "type" : "timeseries"
      },
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 35
         },
         "id" : 28,
         "panels" : [],
         "title" : "Mobile optimizations",
         "type" : "row"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 36
         },
         "id" : 18,
         "options" : {
            "calculate" : false,
            "cellGap" : 1,
            "color" : {
               "exponent" : 0.5,
               "fill" : "dark-orange",
               "mode" : "scheme",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "RdYlGn",
               "steps" : 64
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : true
            },
            "rowsFrame" : {
               "layout" : "auto"
            },
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "reverse" : false,
               "unit" : "s"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : false,
               "expr" : "rate(prosody_mod_csi_simple__buffer_hold_seconds_bucket{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "format" : "heatmap",
               "fullMetaSearch" : false,
               "includeNullMetadata" : false,
               "instant" : false,
               "interval" : "",
               "legendFormat" : "__auto",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "Hold time",
         "type" : "heatmap"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 36
         },
         "id" : 20,
         "options" : {
            "calculate" : false,
            "cellGap" : 1,
            "color" : {
               "exponent" : 0.5,
               "fill" : "dark-orange",
               "mode" : "scheme",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "PRGn",
               "steps" : 64
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : true
            },
            "rowsFrame" : {
               "layout" : "auto"
            },
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "reverse" : false
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "expr" : "rate(prosody_mod_csi_simple__flush_stanza_count_bucket{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "format" : "heatmap",
               "fullMetaSearch" : false,
               "includeNullMetadata" : false,
               "legendFormat" : "Stanzas flushed",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "Flush sizes",
         "type" : "heatmap"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "auto",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 50,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "smooth",
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "percent"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "none"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 44
         },
         "id" : 32,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "expr" : "avg_over_time(prosody_mod_csi__state_sessions{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__interval])",
               "format" : "time_series",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "legendFormat" : "{{csi_state}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "CSI States",
         "type" : "timeseries"
      },
      {
         "description" : "This panel requires [mod_measure_conn_buffers](https://modules.prosody.im/mod_measure_conn_buffers.html)",
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "auto",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 0,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "linear",
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "bytes"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 44
         },
         "id" : 33,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "expr" : "max_over_time(prosody_mod_measure_conn_buffers__total_pending_tx{job=~\"$job\",instance=~\"$instance\",host=\"\"}[$__interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "legendFormat" : "{{instance}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "Connection Buffers",
         "type" : "timeseries"
      },
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 52
         },
         "id" : 22,
         "panels" : [],
         "title" : "HTTP Upload",
         "type" : "row"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "custom" : {
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "scaleDistribution" : {
                     "type" : "linear"
                  }
               }
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 18,
            "x" : 0,
            "y" : 53
         },
         "id" : 8,
         "options" : {
            "calculate" : false,
            "calculation" : {},
            "cellGap" : 2,
            "cellValues" : {
               "decimals" : 0
            },
            "color" : {
               "exponent" : 0.5,
               "fill" : "#b4ff00",
               "max" : 5,
               "min" : 0,
               "mode" : "opacity",
               "reverse" : false,
               "scale" : "exponential",
               "scheme" : "Oranges",
               "steps" : 128
            },
            "exemplars" : {
               "color" : "rgba(255,0,255,0.7)"
            },
            "filterValues" : {
               "le" : 1e-09
            },
            "legend" : {
               "show" : false
            },
            "rowsFrame" : {
               "layout" : "ge"
            },
            "showValue" : "never",
            "tooltip" : {
               "mode" : "single",
               "showColorScale" : false,
               "yHistogram" : false
            },
            "yAxis" : {
               "axisPlacement" : "left",
               "reverse" : false,
               "unit" : "bytes"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "sum by(le) (increase(prosody_mod_http_file_share__upload_bytes_bucket{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[1h]))",
               "format" : "heatmap",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "interval" : "1h",
               "intervalFactor" : 1,
               "legendFormat" : "{{le}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "Upload sizes",
         "type" : "heatmap"
      },
      {
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "continuous-GrYlRd"
               },
               "mappings" : [],
               "max" : 10737418240,
               "min" : 0,
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     }
                  ]
               },
               "unit" : "bytes"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 6,
            "x" : 18,
            "y" : 53
         },
         "id" : 10,
         "options" : {
            "minVizHeight" : 75,
            "minVizWidth" : 75,
            "orientation" : "auto",
            "reduceOptions" : {
               "calcs" : [
                  "lastNotNull"
               ],
               "fields" : "",
               "values" : false
            },
            "showThresholdLabels" : false,
            "showThresholdMarkers" : false,
            "sizing" : "auto",
            "text" : {}
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "editorMode" : "builder",
               "exemplar" : true,
               "expr" : "prosody_mod_http_file_share__total_storage_bytes{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}",
               "instant" : false,
               "interval" : "",
               "legendFormat" : "",
               "refId" : "A"
            }
         ],
         "title" : "Total uploads",
         "type" : "gauge"
      },
      {
         "collapsed" : false,
         "gridPos" : {
            "h" : 1,
            "w" : 24,
            "x" : 0,
            "y" : 61
         },
         "id" : 34,
         "panels" : [],
         "title" : "Spam",
         "type" : "row"
      },
      {
         "description" : "This panel requires [mod_anti_spam](https://modules.prosody.im/mod_anti_spam.html)",
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "auto",
                  "barAlignment" : 0,
                  "barWidthFactor" : 0.6,
                  "drawStyle" : "line",
                  "fillOpacity" : 0,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "linear",
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "pps"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 0,
            "y" : 62
         },
         "id" : 36,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "expr" : "rate(prosody_mod_anti_spam__anti_spam_blocked_stanzas_total{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "legendFormat" : "{{reason}}",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            }
         ],
         "title" : "mod_anti_spam",
         "type" : "timeseries"
      },
      {
         "description" : "This panel requires [mod_spam_reporting](https://modules.prosody.im/mod_spam_reporting.html) and [mod_report_forward](https://modules.prosody.im/mod_report_forward.html)",
         "fieldConfig" : {
            "defaults" : {
               "color" : {
                  "mode" : "palette-classic"
               },
               "custom" : {
                  "axisBorderShow" : false,
                  "axisCenteredZero" : false,
                  "axisColorMode" : "text",
                  "axisLabel" : "",
                  "axisPlacement" : "auto",
                  "barAlignment" : 0,
                  "barWidthFactor" : 1,
                  "drawStyle" : "line",
                  "fillOpacity" : 25,
                  "gradientMode" : "none",
                  "hideFrom" : {
                     "legend" : false,
                     "tooltip" : false,
                     "viz" : false
                  },
                  "insertNulls" : false,
                  "lineInterpolation" : "smooth",
                  "lineWidth" : 1,
                  "pointSize" : 5,
                  "scaleDistribution" : {
                     "type" : "linear"
                  },
                  "showPoints" : "auto",
                  "spanNulls" : false,
                  "stacking" : {
                     "group" : "A",
                     "mode" : "none"
                  },
                  "thresholdsStyle" : {
                     "mode" : "off"
                  }
               },
               "mappings" : [],
               "thresholds" : {
                  "mode" : "absolute",
                  "steps" : [
                     {
                        "color" : "green"
                     },
                     {
                        "color" : "red",
                        "value" : 80
                     }
                  ]
               },
               "unit" : "pps"
            },
            "overrides" : []
         },
         "gridPos" : {
            "h" : 8,
            "w" : 12,
            "x" : 12,
            "y" : 62
         },
         "id" : 35,
         "options" : {
            "legend" : {
               "calcs" : [],
               "displayMode" : "list",
               "placement" : "bottom",
               "showLegend" : true
            },
            "tooltip" : {
               "hideZeros" : false,
               "mode" : "single",
               "sort" : "none"
            }
         },
         "pluginVersion" : "11.6.0",
         "targets" : [
            {
               "disableTextWrap" : false,
               "editorMode" : "builder",
               "expr" : "rate(prosody_mod_spam_reporting__received_reports_total{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "fullMetaSearch" : false,
               "includeNullMetadata" : true,
               "interval" : "",
               "legendFormat" : "{{report_type}} reports",
               "range" : true,
               "refId" : "A",
               "useBackend" : false
            },
            {
               "disableTextWrap" : false,
               "editorMode" : "code",
               "expr" : "-rate(prosody_mod_report_forward__forwarded_reports_total{job=~\"$job\",instance=~\"$instance\",host=~\"$virtualhost\"}[$__rate_interval])",
               "fullMetaSearch" : false,
               "hide" : false,
               "includeNullMetadata" : true,
               "instant" : false,
               "legendFormat" : "forwarded",
               "range" : true,
               "refId" : "B",
               "useBackend" : false
            }
         ],
         "title" : "Reports",
         "type" : "timeseries"
      }
   ],
   "preload" : false,
   "refresh" : "5m",
   "schemaVersion" : 41,
   "tags" : [
      "prosody",
      "xmpp"
   ],
   "templating" : {
      "list" : [
         {
            "current" : {
               "text" : "prosody",
               "value" : "prosody"
            },
            "definition" : "label_values(prosody_info,job)",
            "label" : "Job",
            "name" : "job",
            "options" : [],
            "query" : {
               "qryType" : 1,
               "query" : "label_values(prosody_info,job)",
               "refId" : "PrometheusVariableQueryEditor-VariableQuery"
            },
            "refresh" : 1,
            "regex" : "",
            "type" : "query"
         },
         {
            "current" : {
               "text" : "All",
               "value" : [
                  "$__all"
               ]
            },
            "definition" : "label_values(prosody_info{job=~\"$job\"},instance)",
            "includeAll" : true,
            "multi" : true,
            "name" : "instance",
            "options" : [],
            "query" : {
               "qryType" : 1,
               "query" : "label_values(prosody_info{job=~\"$job\"},instance)",
               "refId" : "PrometheusVariableQueryEditor-VariableQuery"
            },
            "refresh" : 1,
            "regex" : "",
            "type" : "query"
         },
         {
            "definition" : "label_values({job=~\"$job\", instance=~\"$instance\"},host)",
            "includeAll" : false,
            "label" : "VirtualHost",
            "name" : "virtualhost",
            "options" : [],
            "query" : {
               "qryType" : 1,
               "query" : "label_values({job=~\"$job\", instance=~\"$instance\"},host)",
               "refId" : "PrometheusVariableQueryEditor-VariableQuery"
            },
            "refresh" : 1,
            "regex" : "",
            "type" : "query"
         }
      ]
   },
   "time" : {
      "from" : "now-2d",
      "to" : "now"
   },
   "timepicker" : {},
   "timezone" : "",
   "title" : "Prosody",
   "uid" : "y1Onovt7z",
   "version" : 134
}