Compare commits
31 Commits
638ef1da94
...
pkg/dev/eo
Author | SHA1 | Date | |
---|---|---|---|
8d7d4c8a3b | |||
e65c5511ce | |||
5ba7738ee8 | |||
634a583365 | |||
d0e4c0b794 | |||
50f865a635 | |||
b2caec4f54 | |||
2de2f9480b | |||
eb7b7e48df | |||
a5347e4168 | |||
ee26997348 | |||
7f9d0d252d | |||
16da5b91fa | |||
24332a98c8 | |||
37d0dee412 | |||
be23766fc2 | |||
1f6a18a14b | |||
c0b430ec2c | |||
39e1ed720d | |||
d5fe43fc05 | |||
d154fcd94e | |||
fb6ee11d7a | |||
0614d2863a | |||
0bfbcc71ab | |||
cbf8d62cdc | |||
2af543c34e | |||
2da03082ec | |||
290231b394 | |||
4c6d88bae2 | |||
0a656de9e6 | |||
d1e5392a9a |
4
Makefile
4
Makefile
@ -1,9 +1,9 @@
|
|||||||
################################
|
################################
|
||||||
# Makefile pour XXX-XXX
|
# Makefile pour eole-prometheus
|
||||||
################################
|
################################
|
||||||
|
|
||||||
SOURCE=eole-prometheus
|
SOURCE=eole-prometheus
|
||||||
VERSION=0.1
|
VERSION=0.0.1
|
||||||
EOLE_VERSION=2.7
|
EOLE_VERSION=2.7
|
||||||
EOLE_RELEASE=2.7.0
|
EOLE_RELEASE=2.7.0
|
||||||
PKGAPPS=non
|
PKGAPPS=non
|
||||||
|
@ -14,7 +14,7 @@ L'exporter système (node-exporter) est dans la configuration par défaut (Prome
|
|||||||
```
|
```
|
||||||
Mode expert > Dépot tiers > Ajouter un dépot
|
Mode expert > Dépot tiers > Ajouter un dépot
|
||||||
Dépôt officiel Grafana
|
Dépôt officiel Grafana
|
||||||
Libellé du dépot = Dépôt officiel Grafana
|
Libellé du dépot = Cadoles
|
||||||
Déclaration du dépôt = deb https://packages.grafana.com/oss/deb stable main
|
Déclaration du dépôt = deb https://packages.grafana.com/oss/deb stable main
|
||||||
Méthode de récupération de la clé = URL de la clé
|
Méthode de récupération de la clé = URL de la clé
|
||||||
URL de la clé = https://packages.grafana.com/gpg.key
|
URL de la clé = https://packages.grafana.com/gpg.key
|
||||||
|
7
debian/postinst
vendored
7
debian/postinst
vendored
@ -1,7 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
configure)
|
|
||||||
chown grafana:grafana /var/lib/grafana/dashboards
|
|
||||||
;;
|
|
||||||
esac
|
|
4
debian/rules
vendored
4
debian/rules
vendored
@ -6,3 +6,7 @@
|
|||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@
|
dh $@
|
||||||
|
|
||||||
|
override_dh_fixperms:
|
||||||
|
dh_fixperms
|
||||||
|
chown grafana:grafana /var/lib/grafana/dashboards
|
||||||
|
@ -8,8 +8,6 @@
|
|||||||
<file filelist='prometheus-alertmanager' name='/etc/prometheus/rules.d/predict-rules.yml' mkdir='True' rm='True'/>
|
<file filelist='prometheus-alertmanager' name='/etc/prometheus/rules.d/predict-rules.yml' mkdir='True' rm='True'/>
|
||||||
<file filelist='grafana' name='/etc/grafana/grafana.ini' mkdir='True' rm='True'/>
|
<file filelist='grafana' name='/etc/grafana/grafana.ini' mkdir='True' rm='True'/>
|
||||||
<file filelist='grafana' name='/etc/grafana/provisioning/dashboards/eole.yml' source='grafana-dashboards.yml' mkdir='True' rm='True'/>
|
<file filelist='grafana' name='/etc/grafana/provisioning/dashboards/eole.yml' source='grafana-dashboards.yml' mkdir='True' rm='True'/>
|
||||||
<file filelist='grafana' name='/etc/grafana/provisioning/datasources/eole.yml' source='grafana-datasources.yml' mkdir='True' rm='True'/>
|
|
||||||
<file filelist='grafana' name='/var/lib/grafana/dashboards/eole.json' source='grafana-node-dashboard.json' mkdir='True' rm='True'/>
|
|
||||||
|
|
||||||
<service>prometheus</service>
|
<service>prometheus</service>
|
||||||
<service>prometheus-alertmanager</service>
|
<service>prometheus-alertmanager</service>
|
||||||
|
91
postservice/88_grafana
Executable file
91
postservice/88_grafana
Executable file
@ -0,0 +1,91 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
function importDataSource()
|
||||||
|
{
|
||||||
|
local grURL="${1}/api/datasources" # Grafana API URL
|
||||||
|
local dsName=${2} # Datasource Name
|
||||||
|
local dsURL="${3}" # Datasource URL
|
||||||
|
local dsType="prometheus" # Datasource type
|
||||||
|
|
||||||
|
cmd="curl"
|
||||||
|
|
||||||
|
|
||||||
|
data=$(cat <<__EOF__
|
||||||
|
{"name":"${dsName}","type":"${dsType}","url":"${dsURL}","access":"direct"}
|
||||||
|
__EOF__
|
||||||
|
)
|
||||||
|
|
||||||
|
echo -ne "\tCreating datasource for Prometheus "
|
||||||
|
res=$(${cmd} "${grURL}" -H "Content-Type: application-json" --data-binary "${data}" 2>&1 )
|
||||||
|
excode=${?}
|
||||||
|
case $res in
|
||||||
|
*"already exists"*)
|
||||||
|
echo " ... [Exists]"
|
||||||
|
;;
|
||||||
|
*"Datasource added"*)
|
||||||
|
echo " ... [OK]"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo " ... Ooops ${res}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function importDashboardFromMarket()
|
||||||
|
{
|
||||||
|
local grURL="${1}/api/dashboards/import" # API URL to create new Dashboard
|
||||||
|
local dsName="${2}" # Datasource name (to link dashboard to data)
|
||||||
|
local dhID="${3}" # Dashboard ID in the market
|
||||||
|
local dhRev="${4}" # Dashboard Revision to download
|
||||||
|
local tmpFile=$(mktemp)
|
||||||
|
local dhFile=$(mktemp)
|
||||||
|
|
||||||
|
# URL To download the json file for dashboard
|
||||||
|
local pubDashBoardURL="https://grafana.com/api/dashboards/${dhID}/revisions/${dhRev}/download"
|
||||||
|
|
||||||
|
local cmd="curl"
|
||||||
|
|
||||||
|
local dh=$(${cmd} --silent ${pubDashBoardURL} 2>&1)
|
||||||
|
|
||||||
|
cat <<_EOF_ > ${tmpFile}
|
||||||
|
{
|
||||||
|
"inputs": [ { "name":"DS_LOCALHOST", "type":"datasource", "pluginId":"prometheus", "value":"${dsName}" } ],
|
||||||
|
"dashboard": { "title": "Surveillance Système", ${dh:1:-1} },
|
||||||
|
"folderId": 0,
|
||||||
|
"overwrite": true
|
||||||
|
}
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
res=$(${cmd} "${grURL}" -H "Content-Type: application-json" --data-binary "@${tmpFile}" 2>&1 )
|
||||||
|
excode=${?}
|
||||||
|
case $res in
|
||||||
|
*"\"imported\":true"*)
|
||||||
|
echo " ... [Overwrited]"
|
||||||
|
;;
|
||||||
|
*"Datasource added"*)
|
||||||
|
echo " ... [OK]"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo " ... Ooops ${res}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# rm -rf ${tmpFile}
|
||||||
|
}
|
||||||
|
|
||||||
|
grafanaHost=$(CreoleGet srvGrafanaIP 127.0.0.1)
|
||||||
|
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'
|
||||||
|
datasourceURL="http://${promHost}:${promPort}"
|
||||||
|
|
||||||
|
importDataSource ${grafanaURL} ${datasource_name} ${datasourceURL}
|
||||||
|
echo
|
||||||
|
echo -ne "\tImporting Node Exporter Full Dashboard "
|
||||||
|
importDashboardFromMarket ${grafanaURL} ${datasource_name} 1860 11
|
||||||
|
|
||||||
|
rm -rf ${dashBoardFile}
|
@ -39,12 +39,3 @@ groups:
|
|||||||
a value of {{ $value }}.
|
a value of {{ $value }}.
|
||||||
summary: Instance {{ $labels.instance }} filesystem usage is dangerously high
|
summary: Instance {{ $labels.instance }} filesystem usage is dangerously high
|
||||||
|
|
||||||
# Heavy CPU temperature
|
|
||||||
- alert: cpu_temp_threshold_exceeded
|
|
||||||
expr: avg(node_hwmon_temp_celsius{job="node"}) BY (instance)
|
|
||||||
> 50
|
|
||||||
annotations:
|
|
||||||
description: This device's cpu temperature has exceeded the threshold with a value
|
|
||||||
of {{ $value }}.
|
|
||||||
summary: Instance {{ $labels.instance }} CPU temperature is dangerously high
|
|
||||||
|
|
||||||
|
@ -81,7 +81,6 @@ route:
|
|||||||
- match:
|
- match:
|
||||||
%%{sroute.alSubRouteMatchSource}: %%alSubRouteMatchValue
|
%%{sroute.alSubRouteMatchSource}: %%alSubRouteMatchValue
|
||||||
receiver: %%alSubRouteMatchReceiver
|
receiver: %%alSubRouteMatchReceiver
|
||||||
continue: true
|
|
||||||
%end if
|
%end if
|
||||||
%end for
|
%end for
|
||||||
%end if
|
%end if
|
||||||
@ -90,7 +89,6 @@ route:
|
|||||||
- match:
|
- match:
|
||||||
%%{rt.alRouteMatchSource}: %%{rt.alRouteMatchValue}
|
%%{rt.alRouteMatchSource}: %%{rt.alRouteMatchValue}
|
||||||
receiver: %%rt.alRouteMatchReceiver
|
receiver: %%rt.alRouteMatchReceiver
|
||||||
continue: true
|
|
||||||
|
|
||||||
%if not %%is_empty('alSubRoute')
|
%if not %%is_empty('alSubRoute')
|
||||||
routes:
|
routes:
|
||||||
@ -99,7 +97,6 @@ route:
|
|||||||
- match:
|
- match:
|
||||||
%%{sroute.alSubRouteMatchSource}: %%{sroute.alSubRouteMatchValue}
|
%%{sroute.alSubRouteMatchSource}: %%{sroute.alSubRouteMatchValue}
|
||||||
receiver: %%sroute.alSubRouteMatchReceiver
|
receiver: %%sroute.alSubRouteMatchReceiver
|
||||||
continue: true
|
|
||||||
%end if
|
%end if
|
||||||
%end for
|
%end for
|
||||||
%end if
|
%end if
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: Prometheus
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
orgId: 1
|
|
||||||
url: http://%%adresse_ip_eth0:9090
|
|
||||||
isDefault: true
|
|
||||||
version: 1
|
|
||||||
editable: false
|
|
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@
|
|||||||
;plugins = /var/lib/grafana/plugins
|
;plugins = /var/lib/grafana/plugins
|
||||||
|
|
||||||
# folder that contains provisioning config files that grafana will apply on startup and while running.
|
# folder that contains provisioning config files that grafana will apply on startup and while running.
|
||||||
provisioning = /etc/grafana/provisioning
|
provisioning = conf/provisioning
|
||||||
|
|
||||||
#################################### Server ####################################
|
#################################### Server ####################################
|
||||||
[server]
|
[server]
|
||||||
|
Reference in New Issue
Block a user