@@ -74,23 +74,28 @@ interface Info {
7474 version : string ;
7575 version_url : string ;
7676}
77+
7778interface Version {
7879 version : string ;
7980}
81+
8082export interface LogRecord {
8183 date : string ;
8284 file : string ;
8385 level : "critical" | "error" | "warning" | "info" | "success" | "debug" | "unknown" ;
8486 line : number ;
8587 message : string ;
8688}
89+
8790export interface LogStatus {
8891 errors : number ;
8992 last_error : string ;
9093}
94+
9195interface ModulesQuery {
9296 all : boolean ;
9397}
98+
9499export interface ModuleListItem {
95100 id : string ;
96101 name : string ;
@@ -140,10 +145,12 @@ interface Query {
140145 execute_nagios_url : string ;
141146 execute_url : string ;
142147}
148+
143149export interface ExecuteQueryArgs {
144150 query : string ;
145151 args : string [ ] ;
146152}
153+
147154export interface QueryExecutionResultLinePerf {
148155 critical : number ;
149156 maximum : number ;
@@ -159,6 +166,7 @@ export interface QueryExecutionResultLine {
159166 [ key : string ] : QueryExecutionResultLinePerf ;
160167 } ;
161168}
169+
162170export interface QueryExecutionResult {
163171 command : string ;
164172 lines : QueryExecutionResultLine [ ] ;
@@ -171,11 +179,13 @@ export interface SettingsStatus {
171179 type : string ;
172180 has_changed : boolean ;
173181}
182+
174183export interface Settings {
175184 key : string ;
176185 path : string ;
177186 value : string ;
178187}
188+
179189export interface SettingsCommand {
180190 command : "load" | "save" | "reload" ;
181191}
@@ -196,6 +206,8 @@ export interface SettingsDescription {
196206 value : string ;
197207}
198208
209+ export type Metrics = { [ key : string ] : string | number } ;
210+
199211const baseQuery = fetchBaseQuery ( {
200212 baseUrl : "/api" ,
201213 prepareHeaders : ( headers , { getState } ) => {
@@ -248,6 +260,7 @@ export const nsclientApi = createApi({
248260 "SettingsStatus" ,
249261 "SettingsDescriptions" ,
250262 "LogStatus" ,
263+ "Metrics" ,
251264 ] ,
252265 endpoints : ( builder ) => ( {
253266 getEndpoints : builder . query < EndpointList , void > ( {
@@ -438,6 +451,12 @@ export const nsclientApi = createApi({
438451 } ,
439452 } ) ,
440453 } ) ,
454+ getMetrics : builder . query < Metrics , void > ( {
455+ query : ( ) => ( {
456+ url : "/v2/metrics" ,
457+ } ) ,
458+ providesTags : [ "Metrics" ] ,
459+ } ) ,
441460 } ) ,
442461} ) ;
443462
@@ -465,4 +484,5 @@ export const {
465484 useGetLogStatusQuery,
466485 useResetLogStatusMutation,
467486 useLoginMutation,
487+ useGetMetricsQuery,
468488} = nsclientApi ;
0 commit comments