File

misc/grafterm/dashboard.json @ 6112:4c0e3fe57e92

mod_compliance_latest: Gracefull error logging on missing dependency. diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md --- a/mod_compliance_latest/README.md +++ b/mod_compliance_latest/README.md @@ -9,13 +9,15 @@ rockspec: # Introduction -This module will always require and load to the lastest compliance tester we have in the community modules. -Currently this is [mod_compliance_2023]. +This meta-module will always `require` (and therefore auto-load) the lastest compliance tester we have in the community modules. +Currently this is [mod_compliance_2023]. See the linked module for further details. + +If you do not use the *Prosody plugin installer* this module will likely have limited value to you. +You can also just install the current compliance tester manually. # Configuration -Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer. -See the linked module for further details. +Just load this module as any other module and it will automatically install and load [mod_compliance_2023] if you use the *Prosody plugin installer*. # Compatibility diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua --- a/mod_compliance_latest/mod_compliance_latest.lua +++ b/mod_compliance_latest/mod_compliance_latest.lua @@ -1,1 +1,6 @@ -module:depends("compliance_2023"); +local success, err = pcall(function() module:depends("compliance_2023") end) + +if not success then + module:log("error", "Error, can't load module: mod_compliance_2023. Is this module downloaded in a folder readable by prosody?") + return 1, "Error: Couldn't load dependency mod_compliance_2023." +end
author Menel <menel@snikket.de>
date Mon, 23 Dec 2024 12:58:03 +0100
parent 5762:7e6bf0a5aef2
line wrap: on
line source

{
  "version": "v1",
  "datasources": {
    "prometheus": {
      "prometheus": {
        "address": "http://127.0.0.1:9090"
      }
    }
  },
  "dashboard": {
    "variables": {
      "job": {
        "constant": {
          "value": "prosody"
        }
      }
    },
    "widgets": [
      {
        "title": "CPU",
        "gridPos": {
          "w": 50
        },
        "graph": {
          "visualization": {
            "yAxis": {
              "unit": "percent",
              "decimals": 2
            }
          },
          "queries": [
            {
              "datasourceID": "prometheus",
              "expr": "rate(process_cpu_seconds_total{job=\"{{.job}}\"}[5m])",
              "legend": "CPU"
            }
          ]
        }
      },
      {
        "title": "Memory",
        "gridPos": {
          "w": 50
        },
        "graph": {
          "visualization": {
            "yAxis": {
              "unit": "bytes"
            }
          },
          "queries": [
            {
              "datasourceID": "prometheus",
              "expr": "max_over_time(process_resident_memory_bytes{job=\"{{.job}}\"}[5m])",
              "legend": "RSS"
            },
            {
              "datasourceID": "prometheus",
              "expr": "max_over_time(malloc_heap_used_bytes{job=\"{{.job}}\"}[5m])",
              "legend": "Malloc"
            },
            {
              "datasourceID": "prometheus",
              "expr": "max_over_time(lua_heap_bytes{job=\"{{.job}}\"}[5m])",
              "legend": "Lua"
            }
          ]
        }
      },
      {
        "title": "C2S",
        "gridPos": {
          "x": 50,
          "w": 50
        },
        "graph": {
          "visualization": {
            "yAxis": {
              "unit": "none",
              "decimals": 0
            }
          },
          "queries": [
            {
              "datasourceID": "prometheus",
              "expr": "sum(prosody_mod_c2s__connections{type=\"c2s\",job=\"{{.job}}\"})",
              "legend": "c2s"
            }
          ]
        }
      },
      {
        "title": "S2S",
        "gridPos": {
          "x": 50,
          "w": 50
        },
        "graph": {
          "visualization": {
            "yAxis": {
              "unit": "none",
              "decimals": 0
            }
          },
          "queries": [
            {
              "datasourceID": "prometheus",
              "expr": "sum(prosody_mod_s2s__connections_inbound{type=\"s2sin\",job=\"{{.job}}\"})",
              "legend": "s2sin"
            },
            {
              "datasourceID": "prometheus",
              "expr": "sum(prosody_mod_s2s__connections_outbound{type=\"s2sout\",job=\"{{.job}}\"})",
              "legend": "s2sout"
            }
          ]
        }
      }
    ]
  }
}