Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 12x 12x 12x 12x 12x 103x 103x 103x 12x 5x 12x 1x 12x 4x 12x 1x 12x 1x 12x 1x 12x 1x 12x 1x 12x 1x 12x 2x 2x 12x | import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { AlertmanagerSilence } from '../models/alertmanager-silence'; import { AlertmanagerAlert, AlertmanagerNotification, PrometheusRule } from '../models/prometheus-alerts'; import { ApiModule } from './api.module'; import { SettingsService } from './settings.service'; @Injectable({ providedIn: ApiModule }) export class PrometheusService { private baseURL = 'api/prometheus'; private settingsKey = { alertmanager: 'api/settings/alertmanager-api-host', prometheus: 'api/settings/prometheus-api-host' }; constructor(private http: HttpClient, private settingsService: SettingsService) {} ifAlertmanagerConfigured(fn, elseFn?): void { this.settingsService.ifSettingConfigured(this.settingsKey.alertmanager, fn, elseFn); } disableAlertmanagerConfig(): void { this.settingsService.disableSetting(this.settingsKey.alertmanager); } ifPrometheusConfigured(fn, elseFn?): void { this.settingsService.ifSettingConfigured(this.settingsKey.prometheus, fn, elseFn); } disablePrometheusConfig(): void { this.settingsService.disableSetting(this.settingsKey.prometheus); } getAlerts(Eparams = {}): Observable<AlertmanagerAlert[]> { return this.http.get<AlertmanagerAlert[]>(this.baseURL, { params }); } getSilences(Eparams = {}): Observable<AlertmanagerSilence[]> { return this.http.get<AlertmanagerSilence[]>(`${this.baseURL}/silences`, { params }); } getRules(Iparams = {}): Observable<PrometheusRule[]> { return this.http.get<PrometheusRule[]>(`${this.baseURL}/rules`, { params }); } setSilence(silence: AlertmanagerSilence) { return this.http.post(`${this.baseURL}/silence`, silence, { observe: 'response' }); } expireSilence(silenceId: string) { return this.http.delete(`${this.baseURL}/silence/${silenceId}`, { observe: 'response' }); } getNotifications( notification?: AlertmanagerNotification ): Observable<AlertmanagerNotification[]> { const url = `${this.baseURL}/notifications?from=${ notification && notification.id ? notification.id : 'last' }`; return this.http.get<AlertmanagerNotification[]>(url); } } |