Compare commits

..

10 Commits

7 changed files with 53 additions and 46 deletions

View File

@ -4,8 +4,8 @@
SOURCE=eole-prometheus
VERSION=0.0.1
EOLE_VERSION=2.6
EOLE_RELEASE=2.6.2
EOLE_VERSION=2.7
EOLE_RELEASE=2.7.0
PKGAPPS=non
################################

View File

@ -1,41 +1,33 @@
## eole-prometheus
# eole-prometheus
Eolisation de la solution de surveillance Prometheus.
Grafana est pris en charge dans l'eolisation et peut ou non être activé.
L'exporter système (node-exporter) est dans la configuration par défaut (Prométheus se surveille lui même).
### eole-prometheus :
L'exporter système (node-exporter) est dans la configuration par défaut (Prometheus se surveille lui même).
### Installation
1. gen_config
#### Installer `eole-prometheus`
1. Ajouter le dépôt officiel de [Grafana](http://docs.grafana.org/installation/debian/#apt-repository). Dans l'interface `GenConfig`
```
Mode expert > Dépot tiers > Ajouter un 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
Méthode de récupération de la clé = URL de la clé
URL de la clé = https://packages.grafana.com/gpg.key
```
2. Ajouter le dépôt Cadoles. Dans l'interface `GenConfig`
```
Mode expert > Dépot tiers > Ajouter un dépot
Cadoles pour environnement de Dev
Libellé du dépot = Cadoles
Déclaration du dépôt = deb https://vulcain.cadoles.com 2.7.0-dev main
Méthode de récupération de la clé = URL de la clé
URL de la clé = https://vulcain.cadoles.com/cadoles.gpg
```
Mode expert > Dépot tiers > Ajouter un dépot
Cadoles pour environnement de Qualification
Libellé du dépot = Cadoles
Déclaration du dépôt = deb https://vulcain.cadoles.com 2.6.2-staging main
Méthode de récupération de la clé = URL de la clé
URL de la clé = https://vulcain.cadoles.com/cadoles.gpg
```
* Pour ajouter une sonde sur eole :
1. gen_config
```
Mode expert > Dépot tiers > Ajouter un dépot
Cadoles pour environnement de Qualification
Libellé du dépot = Cadoles
Déclaration du dépôt = deb https://vulcain.cadoles.com xenial-staging main
Méthode de récupération de la clé = URL de la clé
URL de la clé = https://vulcain.cadoles.com/cadoles.gpg
```
* Pour ajouter une sonde sur ubuntu xenial:
```
echo "deb https://vulcain.cadoles.com xenial-staging main" > /etc/apt/sources.list.d/cadoles.list
wget -O - https://vulcain.cadoles.com/cadoles.gpg|apt-key add -
```
Il faut ouvrir les ports en fonction des exporters. Tous les exporters n'utilisent pas le même port.
@ -44,4 +36,3 @@ Le paquet eole-prometheus ouvre les ports sur le serveur où Prometheus sera ins
* 9090 pour le serveur prometheus
* 9100 pour la sonde node-exporter
* 3000 pour le serveur Grafana

View File

@ -3,17 +3,18 @@
<files>
<file filelist='prometheus' name='/etc/default/prometheus' source='prometheus.defaults' mkdir='True' rm='True'/>
<file filelist='prometheus' name='/etc/prometheus/prometheus.yml' mkdir='True' rm='True'/>
<file filelist='alertmanager' name='/etc/prometheus/alertmanager.yml' mkdir='True' rm='True'/>
<file filelist='alertmanager' name='/etc/prometheus/rules.d/alert-rules.yml' mkdir='True' rm='True'/>
<file filelist='alertmanager' name='/etc/prometheus/rules.d/predict-rules.yml' mkdir='True' rm='True'/>
<file filelist='prometheus-alertmanager' name='/etc/prometheus/alertmanager.yml' mkdir='True' rm='True'/>
<file filelist='prometheus-alertmanager' name='/etc/prometheus/rules.d/alert-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-dashboards.yml' mkdir='True' rm='True'/>
<service>prometheus</service>
<service>alertmanager</service>
<service>prometheus-alertmanager</service>
<service>grafana-server</service>
<service_access service='prometheus'>
<port service_accesslist="prometheus">9090</port>
<port service_accesslist="alertmanager">9093</port>
<port service_accesslist="prometheus-alertmanager">9093</port>
</service_access>
<service_access service='grafana-server'>
<port service_accesslist="grafana">3000</port>
@ -59,7 +60,7 @@
<!-- Job standard -->
<variable name='prTarg' type='string' description='Nom de la cible prometheus' multi='True'/>
<variable name='prTargIP' type='ip' description="Adresse IP de la cible prometheus"/>
<variable name='prTargIP' type='string' description="Adresse IP ou nom de domaine de la cible prometheus"/>
<variable name='prTargSonde' type='string' description="Sonde a utiliser pour ce client">
<value>Node Exporter</value>
</variable>
@ -78,6 +79,9 @@
<variable name='scrpScheme' type='string' description="Protocole à utiliser pour l'interrogation de la sonde">
<value>http</value>
</variable>
<variable name='scrpMetricPath' type='string' description="Chemin d'accès de la ressource">
<value>/metrics</value>
</variable>
<variable name='addPrOpenTarg' type='oui/non' description="Ajouter des cibles statiques pour les jobs personnalisé">
<value>non</value>
@ -85,7 +89,7 @@
<!-- Job libre -->
<variable name='prOpenTarg' type='string' description='Nom de la cible personnalisé prometheus' multi='True'/>
<variable name='prOpenTargJob' type='string' description='Nom du job de rattachement de la cible'/>
<variable name='prOpenTargIP' type='ip' description="Adresse IP de la cible"/>
<variable name='prOpenTargIP' type='string' description="Adresse IP ou nom de domaine de la cible"/>
<variable name='prOpenTargPort' type='number' description="Port d'écoute de la sonde"/>
</family>
@ -168,7 +172,8 @@
<slave>scrpInterval</slave>
<slave>scrpTimeout</slave>
<slave>honorLabels</slave>
<slave>scrpScheme</slave>
<slave>scrpScheme</slave>
<slave>scrpMetricPath</slave>
</group>
<group master='alRoute'>
@ -253,8 +258,8 @@
<condition name='disabled_if_in' source='activerAlertmanager'>
<param>non</param>
<target type='family'>alertes prometheus</target>
<target type='filelist'>alertmanager</target>
<target type='service_accesslist'>alertmanager</target>
<target type='filelist'>prometheus-alertmanager</target>
<target type='service_accesslist'>prometheus-alertmanager</target>
</condition>
<condition name='disabled_if_in' source='addTargetPrometheus'>

View File

@ -33,7 +33,7 @@ groups:
# Heavy "/" use
- alert: filesystem_threshold_exceeded
expr: node_filesystem_avail{job="%%{job_name_node}",mountpoint="/"} / node_filesystem_size{job="%%{job_name_node}"}
* 100 < 90
* 100 < 20
annotations:
description: This device's filesystem usage has exceeded the threshold with
a value of {{ $value }}.

View File

@ -0,0 +1,10 @@
# # config file version
apiVersion: 1
providers:
- name: 'eole'
orgId: 1
folder: ''
type: file
options:
path: /var/lib/grafana/dashboards

View File

@ -21,7 +21,7 @@
;plugins = /var/lib/grafana/plugins
# folder that contains provisioning config files that grafana will apply on startup and while running.
; provisioning = conf/provisioning
provisioning = conf/provisioning
#################################### Server ####################################
[server]

View File

@ -44,6 +44,7 @@ scrape_configs:
scrape_interval: %%{job.scrpInterval}s
scrape_timeout: %%{job.scrpTimeout}s
scheme: %%job.scrpScheme
metrics_path: %%job.scrpMetricPath
%set first = True
static_configs:
- targets: [ %slurp