From a3def897fa97a4f1715f7e47c5d321624c8f113a Mon Sep 17 00:00:00 2001 From: Philippe Caseiro Date: Mon, 4 Jun 2018 17:01:42 +0200 Subject: [PATCH] Moving to bash --- postservice/88_grafana | 69 ++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 43 deletions(-) mode change 100644 => 100755 postservice/88_grafana diff --git a/postservice/88_grafana b/postservice/88_grafana old mode 100644 new mode 100755 index 6c01a7c..10592a1 --- a/postservice/88_grafana +++ b/postservice/88_grafana @@ -1,51 +1,34 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env bash -import os -import requests -import json +grafanaHost=$(CreoleGet srvGrafanaIP 192.168.30.57) +grafanaPort=$(CreoleGet srvGrafanaPort 3000) +grafanaUser="admin" +grafanaPasswd=$(CreoleGet grafana_admin_passwd admin) +grafanaURL="http://${grafanaUser}:${grafanaPasswd}@${grafanaHost}:${grafanaPort}" +datasource_name=$(CreoleGet promDataSource "prometheus") +promHost=$(CreoleGet adresse_ip_eth0) +promPort='9090' -from creole.client import CreoleClient -creole = c = CreoleClient() +cmd="curl" +url="${grafanaURL}/api/datasources" -grafanaHost = creole.get_creole('srvGrafanaIP','127.0.0.1') -grafanaPort = creole.get_creole('srvGrafanaPort', '3000') -grafanaURL = os.path.join('http://', '%s:%s' % (grafanaHost, grafanaPort)) -grafanaUser = "admin" -grafanaPasswd = creole.get_creole('grafana_admin_passwd') -datasource_name = creole.get_creole('promDataSource',"prometheus") -promHost = creole.get_creole('addresse_ip_eth0') -promPort = '9090' - -session = requests.Session() -login_post = session.post ( - os.path.join(grafanaURL, 'login'), - data=json.dumps({ - 'user': grafanaUser, - 'email': '', - 'password': grafanaPasswd - }), - headers={'content-type': 'application/json'} +data=$(cat <<__EOF__ +{"name":"${datasource_name}","type":"prometheus","url":"http://${promHost}:${promPort}","access":"direct"} +__EOF__ ) -# Get list of datasources -datasources_get = session.get(os.path.join(grafanaURL, 'api', 'datasources')) -datasources = datasources_get.json() +echo -ne "\tCreating datasource for Prometheus " +res=$(${cmd} "${url}" -H "Content-Type: application-json" --data-binary "${data}" 2>&1 ) +excode=${?} +case $res in + *"already exists"*) + echo " ... [Exists]" + ;; + *"Datasource added"*) + echo " ... [OK]" + ;; +esac -if datasources['message'] == "Unauthorized" : - exit(34) +echo -ne "\tImporting Node Exporter Full Dashboard " -# Add new datasource -datasources_put = session.put( - os.path.join(grafanaURL, 'api', 'datasources'), - data=json.dumps({ - 'access': 'direct', - 'name': datasource_name, - 'type': 'prometheus', - 'url': 'http://%s:%u' % (promHost, promPort), - 'basicAuth': 'false', - 'withCredentials': 'false' - }), - headers={'content-type': 'application/json'} -)