Jenkins Distribution.2.303-b2

Jenkins Synthetic Monitoring

As part of this release, we now enable by default, a monitoring job within Jenkins. This job runs hourly on a pre-defined cron, which can also be over-written. The job runs a simple docker pipeline, validating that a EC2 agent can be launched and a docker job can be run, a metric is then put to cloudwatch where we can set alarms with guardian.

The monitoring job runs on a specific agent config, which launches as a T3ANano and has an idle timeout of two minutes. Additional EC2 cloud configuration has been added to cater for this.

As mentioned above, there is a way to over-ride the default cron value. This introduces a new concept to ciinabox2, an additional yaml file in the customer repo called ‘parameters.yaml’. For a full list of potential parameters to over-ride and the list of defaults, see here

In this example we’re over-riding the monitoring cron key/value

MONITORING_CRON: '5 * * * *'

The custom metric posted to cloudwatch is under the Ciinabox/Jenkins namespace, the dimensions are based off the Jenkins URL.

Guardian has an in-built type specific for this metric. The default alarm action is currently set to WARN. Its default alarm period is 1 hour - the same as the default cron. Be sure to change this metric if you have changed the job cron above.

Resources:
  Jenkins:
  - Id: https://my_full_jenkins_url/