From d9fab2b2d2a764021b2b2c11faec14b0719a2f51 Mon Sep 17 00:00:00 2001 From: Richard Morgan Date: Sat, 3 Nov 2018 09:05:48 -0400 Subject: [PATCH] add jenkinsfile to prometheus add graphana scraper to prometheus --- dockerfiles/services/jenkins/Jenkinsfile | 2 +- dockerfiles/services/prometheus/Jenkinsfile | 32 +++++++++++++++++++ .../services/prometheus/prometheus.yml | 9 ++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 dockerfiles/services/prometheus/Jenkinsfile diff --git a/dockerfiles/services/jenkins/Jenkinsfile b/dockerfiles/services/jenkins/Jenkinsfile index 0a56b56..d84169f 100644 --- a/dockerfiles/services/jenkins/Jenkinsfile +++ b/dockerfiles/services/jenkins/Jenkinsfile @@ -18,7 +18,7 @@ node('docker') { dir(workdir) { sh """ docker stack deploy -c docker-compose.yml jenkins - docker service update jenkins_app + docker service -q update jenkins_app """ } } diff --git a/dockerfiles/services/prometheus/Jenkinsfile b/dockerfiles/services/prometheus/Jenkinsfile new file mode 100644 index 0000000..d9ae3c0 --- /dev/null +++ b/dockerfiles/services/prometheus/Jenkinsfile @@ -0,0 +1,32 @@ +node('docker') { + def service_name = 'metrics' + def app_name = 'prometheus' + def workdir = 'dockerfiles/services/prometheus' + + stage('prepare') { + git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git' + sh 'ls' + } + + stage('build') { + dir(workdir) { + sh "DOCKER_HOST=dkhost:2376 docker-compose -f docker-compose.yml pull" + } + } + + stage('deploy') { + dir(workdir) { + sh """ + docker stack deploy -c docker-compose.yml ${service_name} + docker service -q update ${service_name}_${app_name} + """ + } + } + + stage('smoke tests') { + dir(workdir) { + sleep 60 + sh "curl -If https://metrics.xai-corp.net/metrics" + } + } +} diff --git a/dockerfiles/services/prometheus/prometheus.yml b/dockerfiles/services/prometheus/prometheus.yml index ca840a3..57611c3 100644 --- a/dockerfiles/services/prometheus/prometheus.yml +++ b/dockerfiles/services/prometheus/prometheus.yml @@ -68,3 +68,12 @@ scrape_configs: static_configs: - targets: - 'jenkins.xai-corp.net' + +- job_name: graphana + metrics_path: '/metrics' + scrape_interval: 60s + scrape_timeout: 9s + scheme: https + static_configs: + - targets: + - 'metrics.xai-corp.net'