diff --git a/ydb/core/base/counters.cpp b/ydb/core/base/counters.cpp index 538266429c5a..ddb144838703 100644 --- a/ydb/core/base/counters.cpp +++ b/ydb/core/base/counters.cpp @@ -10,6 +10,7 @@ static const THashSet DATABASE_SERVICES = {{ TString("compile"), TString("coordinator"), TString("dsproxy"), + TString("dsproxy_mon"), TString("dsproxynode"), TString("dsproxy_overview"), TString("dsproxy_percentile"), diff --git a/ydb/core/blobstorage/dsproxy/dsproxy_monactor.cpp b/ydb/core/blobstorage/dsproxy/dsproxy_monactor.cpp index c082235cc18f..6aba81c8ec94 100644 --- a/ydb/core/blobstorage/dsproxy/dsproxy_monactor.cpp +++ b/ydb/core/blobstorage/dsproxy/dsproxy_monactor.cpp @@ -402,8 +402,15 @@ class TBlobStorageGroupProxyMonActor : public TActorBootstrappedRegisterActorPage(proxiesMonPage, path, name, false, TlsActivationContext->ExecutorThread.ActorSystem, - SelfId()); + mon->RegisterActorPage(TMon::TRegisterActorPageFields{ + .Title = name, + .RelPath = path, + .ActorSystem = TlsActivationContext->ExecutorThread.ActorSystem, + .Index = proxiesMonPage, + .PreTag = false, + .ActorId = SelfId(), + .MonServiceName = "dsproxy_mon" + }); } Become(&TThis::StateOnline); diff --git a/ydb/core/mon/async_http_mon.cpp b/ydb/core/mon/async_http_mon.cpp index 2dec0b669fcd..5542359baefd 100644 --- a/ydb/core/mon/async_http_mon.cpp +++ b/ydb/core/mon/async_http_mon.cpp @@ -219,7 +219,8 @@ class THttpMonLegacyActorRequest : public TActorBootstrappedGet()->Request->URL.Before('?')); TString status(response->Status); - NMonitoring::THistogramPtr ResponseTimeHgram = NKikimr::GetServiceCounters(NKikimr::AppData()->Counters, "utils") + NMonitoring::THistogramPtr ResponseTimeHgram = NKikimr::GetServiceCounters(NKikimr::AppData()->Counters, + ActorMonPage->MonServiceName) ->GetSubgroup("subsystem", "mon") ->GetSubgroup("url", url) ->GetSubgroup("status", status) @@ -870,7 +871,8 @@ NMonitoring::IMonPage* TAsyncHttpMon::RegisterActorPage(TRegisterActorPageFields fields.ActorSystem, fields.ActorId, fields.AllowedSIDs ? fields.AllowedSIDs : Config.AllowedSIDs, - fields.UseAuth ? Config.Authorizer : TRequestAuthorizer()); + fields.UseAuth ? Config.Authorizer : TRequestAuthorizer(), + fields.MonServiceName); if (fields.Index) { fields.Index->Register(page); if (fields.SortPages) { diff --git a/ydb/core/mon/mon.h b/ydb/core/mon/mon.h index 0252e2b061cb..bdf30bc354ba 100644 --- a/ydb/core/mon/mon.h +++ b/ydb/core/mon/mon.h @@ -60,6 +60,7 @@ class TMon { bool UseAuth = true; TVector AllowedSIDs; bool SortPages = true; + TString MonServiceName = "utils"; }; virtual NMonitoring::IMonPage* RegisterActorPage(TRegisterActorPageFields fields) = 0; diff --git a/ydb/core/mon/mon_impl.h b/ydb/core/mon/mon_impl.h index 135b95c69ef9..99ea18cba1d7 100644 --- a/ydb/core/mon/mon_impl.h +++ b/ydb/core/mon/mon_impl.h @@ -360,7 +360,7 @@ class TActorMonPage: public IMonPage { public: TActorMonPage(const TString &path, const TString &title, const TString &host, bool preTag, TActorSystem *actorSystem, const TActorId &actorId, const TVector &sids, - TMon::TRequestAuthorizer authorizer) + TMon::TRequestAuthorizer authorizer, TString monServiceName = "utils") : IMonPage(path, title) , Host(host) , PreTag(preTag) @@ -368,6 +368,7 @@ class TActorMonPage: public IMonPage { , TargetActorId(actorId) , AllowedSIDs(sids) , Authorizer(std::move(authorizer)) + , MonServiceName(monServiceName) { } @@ -405,6 +406,7 @@ class TActorMonPage: public IMonPage { TActorId TargetActorId; const TVector AllowedSIDs; TMon::TRequestAuthorizer Authorizer; + TString MonServiceName; }; inline TString GetPageFullPath(const NMonitoring::IMonPage* page) { diff --git a/ydb/core/mon/sync_http_mon.cpp b/ydb/core/mon/sync_http_mon.cpp index 822cd7e3389e..4fc334def9d8 100644 --- a/ydb/core/mon/sync_http_mon.cpp +++ b/ydb/core/mon/sync_http_mon.cpp @@ -81,7 +81,8 @@ namespace NActors { fields.ActorSystem, fields.ActorId, fields.AllowedSIDs ? fields.AllowedSIDs : Config.AllowedSIDs, - fields.UseAuth ? Config.Authorizer : TRequestAuthorizer()); + fields.UseAuth ? Config.Authorizer : TRequestAuthorizer(), + fields.MonServiceName); if (fields.Index) { fields.Index->Register(page); if (fields.SortPages) { diff --git a/ydb/deploy/helm/ydb-prometheus/values.yaml b/ydb/deploy/helm/ydb-prometheus/values.yaml index 1321adf77c97..09239822cccf 100644 --- a/ydb/deploy/helm/ydb-prometheus/values.yaml +++ b/ydb/deploy/helm/ydb-prometheus/values.yaml @@ -102,6 +102,7 @@ ydb: format: prometheus tenant: "{{ .target.path }}" skipNameRelabeling: true + - counter: dsproxy_mon # Cluster which will be monitored clusters: []