diff --git a/metager/app/Models/Authorization/KeyAuthorization.php b/metager/app/Models/Authorization/KeyAuthorization.php index 3e146dc253c6787aa671f4bb213b1259655f056b..1dfe10779fc82c45ff914dec19e3dacf1b4b2b0e 100644 --- a/metager/app/Models/Authorization/KeyAuthorization.php +++ b/metager/app/Models/Authorization/KeyAuthorization.php @@ -2,7 +2,9 @@ namespace App\Models\Authorization; +use App\PrometheusExporter; use Illuminate\Support\Facades\Redis; +use Prometheus\CollectorRegistry; class KeyAuthorization extends Authorization { @@ -87,6 +89,10 @@ class KeyAuthorization extends Authorization $mission = json_encode($mission); Redis::rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission); + if (config('metager.metager.keys.uni_mainz') === $this->key) { + PrometheusExporter::UpdateMainzKeyStatus($this->availableTokens); + } + return true; } /** diff --git a/metager/app/PrometheusExporter.php b/metager/app/PrometheusExporter.php index c686f2479dbc1411e358f95d0c614ae28d80487f..8bf1da97c25eebf96c1d83b15ee297cdcf50ff92 100644 --- a/metager/app/PrometheusExporter.php +++ b/metager/app/PrometheusExporter.php @@ -73,4 +73,10 @@ class PrometheusExporter $counter = $registry->getOrRegisterCounter("metager", "key_used", "Counts MetaGer Key Usage", ["searchengine", "cached"]); $counter->inc([$engine, json_encode($cached)]); } + public static function UpdateMainzKeyStatus($tokens) + { + $registry = CollectorRegistry::getDefault(); + $gauge = $registry->getOrRegisterGauge("metager", "key", "Tracks status of the Mainz Key", ["owner"]); + $gauge->set($tokens, ["mainz"]); + } } \ No newline at end of file