Compare commits
6 Commits
pkg/dev/eo
...
master
Author | SHA1 | Date | |
---|---|---|---|
45c97c765b | |||
43e34f8de8 | |||
16d7bfa7f2 | |||
d9b253b63d | |||
a5fb3de2c0 | |||
7023209d9b |
@ -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
|
||||
Dépôt officiel Grafana
|
||||
Libellé du dépot = Cadoles
|
||||
Libellé du dépot = Dépôt officiel Grafana
|
||||
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é
|
||||
URL de la clé = https://packages.grafana.com/gpg.key
|
||||
|
@ -1,91 +0,0 @@
|
||||
#!/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,3 +39,12 @@ groups:
|
||||
a value of {{ $value }}.
|
||||
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)
|
||||
> 70
|
||||
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,6 +81,7 @@ route:
|
||||
- match:
|
||||
%%{sroute.alSubRouteMatchSource}: %%alSubRouteMatchValue
|
||||
receiver: %%alSubRouteMatchReceiver
|
||||
continue: true
|
||||
%end if
|
||||
%end for
|
||||
%end if
|
||||
@ -89,6 +90,7 @@ route:
|
||||
- match:
|
||||
%%{rt.alRouteMatchSource}: %%{rt.alRouteMatchValue}
|
||||
receiver: %%rt.alRouteMatchReceiver
|
||||
continue: true
|
||||
|
||||
%if not %%is_empty('alSubRoute')
|
||||
routes:
|
||||
@ -97,6 +99,7 @@ route:
|
||||
- match:
|
||||
%%{sroute.alSubRouteMatchSource}: %%{sroute.alSubRouteMatchValue}
|
||||
receiver: %%sroute.alSubRouteMatchReceiver
|
||||
continue: true
|
||||
%end if
|
||||
%end for
|
||||
%end if
|
||||
|
@ -3,7 +3,7 @@ apiVersion: 1
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
access: direct
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://%%adresse_ip_eth0:9090
|
||||
isDefault: true
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user