org.onebusaway.aws.monitoring.impl.alarms.RealtimeAlarmsImpl.java Source code

Java tutorial

Introduction

Here is the source code for org.onebusaway.aws.monitoring.impl.alarms.RealtimeAlarmsImpl.java

Source

/**
 * Copyright (C) 2015 Cambridge Systematics
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.onebusaway.aws.monitoring.impl.alarms;

import org.onebusaway.aws.monitoring.model.metrics.MetricName;
import org.onebusaway.aws.monitoring.service.alarms.RealtimeAlarms;
import org.springframework.stereotype.Component;

import com.amazonaws.services.cloudwatch.model.ComparisonOperator;
import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest;
import com.amazonaws.services.cloudwatch.model.StandardUnit;

@Component
public class RealtimeAlarmsImpl extends AlarmsTemplate implements RealtimeAlarms {

    @Override
    public void createRealtimeLocationsTotalAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeLocationsTotal);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtLocationsTotal", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);
    }

    @Override
    public void createRealtimeLocationsInvalidAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeLocationsInvalid);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtLocationsInvalid", 30d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeStopsMatchedAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeStopsMatched);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtStopsMatched", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeStopsUnmatchedAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeStopsUnmatched);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtStopsUnmatched", 300d));// about 4-5%
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);
    }

    @Override
    public void createRealtimeTripsTotalAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeTripsTotal);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest.setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTripsTotal", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeTripsMatchedAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeTripsMatched);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTripsMatched", 200d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeTripsUnmatchedAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeTripsUnmatched);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTripsUnmatched", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createScheduleRealtimeDeltaAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.ScheduleRealtimeDelta);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest.setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtDelta", 50d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeLocationsTotalPctAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeLocationsTotalPct);
        putMetricAlarmRequest.setAlarmActions(getNonCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtLocationsTotalPct", 10d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeInvalidLatLonPctAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeInvalidLatLonPct);
        putMetricAlarmRequest.setAlarmActions(getNonCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTnvalidLatLonPct", 10d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeStopsMatchedPctAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeStopsMatchedPct);
        putMetricAlarmRequest.setAlarmActions(getNonCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtStopsMatchedPct", 10d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeStopsUnmatchedPctAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeStopsUnmatchedPct);
        putMetricAlarmRequest.setAlarmActions(getNonCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtStopsUnmatchedPct", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeTripTotalPctAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeTripTotalPct);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTripTotalPct", 10d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeTripsMatchedAvgAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeTripsMatchedAvg);
        putMetricAlarmRequest.setAlarmActions(getNonCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Count);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtTripsMatchedAvg", 50d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);

    }

    @Override
    public void createRealtimeBusesInServiceAlarm() {
        PutMetricAlarmRequest putMetricAlarmRequest = getMetricAlarmRequest(MetricName.RealtimeBusesInServicePct);
        putMetricAlarmRequest.setAlarmActions(getCriticalAction());
        putMetricAlarmRequest.setInsufficientDataActions(getNonCriticalAction());
        putMetricAlarmRequest.setUnit(StandardUnit.Percent);
        putMetricAlarmRequest.setComparisonOperator(ComparisonOperator.LessThanOrEqualToThreshold);
        putMetricAlarmRequest
                .setThreshold(_configService.getConfigurationValueAsDouble("alarm.rtBusesInServicePct", 0d));
        _cloudWatchService.publishAlarm(putMetricAlarmRequest);
    }

}