Compare commits
21 Commits
pkg/stagin
...
2.6.2/mast
Author | SHA1 | Date | |
---|---|---|---|
a681d455fe | |||
0a3658fa57 | |||
c25b004d3b | |||
f9cb3d35b1 | |||
b4ff9a35fd | |||
dc43a0f26c | |||
a306f5ce19 | |||
a420d20d39 | |||
ad5f6fbc75 | |||
bb59a5238c | |||
61155f10f4 | |||
a5b6333599 | |||
37342e8700 | |||
33643232d4 | |||
1013775b1a | |||
e95d6f9e1d | |||
ab479fd33a | |||
e3a6295709 | |||
ad56be504b | |||
0fbffcc6d2 | |||
4195adfa6e |
@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $(CreoleGet activer_grafana) = "oui" ];then
|
||||
if [[ $(CreoleGet activer_grafana) == "oui" ]]
|
||||
then
|
||||
. /usr/lib/eole/diagnose.sh
|
||||
|
||||
EchoGras "*** Accès au serveur grafana"
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $(CreoleGet activer_prometheus) = "oui" ];then
|
||||
if [[ $(CreoleGet activer_prometheus) == "oui" ]]
|
||||
then
|
||||
. /usr/lib/eole/diagnose.sh
|
||||
|
||||
EchoGras "*** Accès au serveur Prometheus"
|
||||
|
@ -1,17 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
<files>
|
||||
<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='grafana' name='/etc/grafana/grafana.ini' mkdir='True' rm='True'/>
|
||||
<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='grafana' name='/etc/grafana/grafana.ini' mkdir='True' rm='True'/>
|
||||
|
||||
<service>prometheus</service>
|
||||
<service>alertmanager</service>
|
||||
<service>grafana-server</service>
|
||||
<service_access service='prometheus'>
|
||||
<port service_accesslist="saLemon">80</port>
|
||||
<port service_accesslist="saLemon">443</port>
|
||||
<port service_accesslist="prometheus">9090</port>
|
||||
<port service_accesslist="alertmanager">9093</port>
|
||||
</service_access>
|
||||
<service_access service='grafana-server'>
|
||||
<port service_accesslist="grafana">3000</port>
|
||||
@ -19,20 +21,23 @@
|
||||
</files>
|
||||
<variables>
|
||||
<family name='services'>
|
||||
<variable name='activer_prometheus' type='oui/non' description="Activer le service prometheus sur le serveur">
|
||||
<value>oui</value>
|
||||
<variable name='activer_prometheus' type='oui/non' description="Activer le service prometheus sur le serveur">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
</family>
|
||||
</family>
|
||||
<family name='prometheus'>
|
||||
<variable name='activer_grafana' type='oui/non' description="Activer le service grafana sur le serveur">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='activerAlertmanager' type='oui/non' description="Activer le service d'alertes">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='prometheusJobName' type='string' description="Nom du job ajouté au label">
|
||||
<variable name='activer_grafana' type='oui/non' description="Activer le service grafana sur le serveur">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='activerAlertmanager' type='oui/non' description="Activer le service d'alertes">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='promStorageRetention' type='number' description='Durée de rétention des métriques (en heures)'>
|
||||
<value>24</value>
|
||||
</variable>
|
||||
<variable name='prometheusJobName' type='string' description="Nom du job ajouté au label">
|
||||
<value>prometheus</value>
|
||||
</variable>
|
||||
</variable>
|
||||
<variable name='prometheusScrapeInterval' type='string' description="Intervalle de récupération des données sur les différents noeuds">
|
||||
<value>15s</value>
|
||||
</variable>
|
||||
@ -42,85 +47,112 @@
|
||||
<variable name='prometheusScrapeTimeout' type='string' description="Temps d'attente avant que la récupération de données échoue">
|
||||
<value>10s</value>
|
||||
</variable>
|
||||
<variable name='job_name_node' type='string' description="Nom du job pour les noeuds" mode='expert'>
|
||||
<value>node</value>
|
||||
</variable>
|
||||
<variable name='job_file_config' type='string' description="Emplacement des fichiers de configuration des noeuds" auto_freeze='True' mode='expert' mandatory='True'>
|
||||
<variable name='job_name_node' type='string' description="Nom du job pour les noeuds" mode='expert'>
|
||||
<value>node</value>
|
||||
</variable>
|
||||
<variable name='job_file_config' type='string' description="Emplacement des fichiers de configuration des noeuds" auto_freeze='True' mode='expert' mandatory='True'>
|
||||
<value>/etc/prometheus/nodes</value>
|
||||
</variable>
|
||||
</family>
|
||||
<family name='Clients prometheus'>
|
||||
<variable name='ajout_client_prometheus' type='oui/non' description="Ajouter un nouveau client à Prometheus">
|
||||
<variable name='addTargetPrometheus' type='oui/non' description="Ajouter des cibles statiques à Prometheus">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<!-- Client standard -->
|
||||
<variable name='prCli' type='string' description='Nom du client prometheus' multi='True'/>
|
||||
<variable name='prCliIP' type='ip' description="Adresse IP du client prometheus"/>
|
||||
<variable name='prCliSonde' type='string' description="Sonde a utiliser pour ce client">
|
||||
|
||||
<!-- Job standard -->
|
||||
<variable name='prTarg' type='string' description='Nom de la cible prometheus' multi='True'/>
|
||||
<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>
|
||||
</family>
|
||||
<family name='Jobs prometheus'>
|
||||
<variable name='promJobs' type='string' description="Nom du job prometheus" multi='True'/>
|
||||
<variable name='honorLabels' type='oui/non' description='Garder les labels en cas de conflit' mode='expert'>
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='scrpInterval' type='number' description="Interval d'intérogation de la sonde (en secondes)">
|
||||
<value>15</value>
|
||||
</variable>
|
||||
<variable name='scrpTimeout' type='number' description="Délais d'attente maximum lors de l'interrogation d'une sonde">
|
||||
<value>10</value>
|
||||
</variable>
|
||||
<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='addPrOpenCli' type='oui/non' description="Ajouter un client personnalisé">
|
||||
<variable name='addPrOpenTarg' type='oui/non' description="Ajouter des cibles statiques pour les jobs personnalisé">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<!-- Client libre -->
|
||||
<variable name='prOpenCli' type='string' description='Nom du client personnalisé prometheus' multi='True'/>
|
||||
<variable name='prOpenCliIP' type='ip' description="Adresse IP"/>
|
||||
<variable name='prOpenCliPort' type='number' description="Port d'écoute de la sonde"/>
|
||||
<!-- 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='string' description="Adresse IP ou nom de domaine de la cible"/>
|
||||
<variable name='prOpenTargPort' type='number' description="Port d'écoute de la sonde"/>
|
||||
</family>
|
||||
<family name="grafana">
|
||||
<variable name='grafana_domain' type='string' description="Nom de Domaine ou IP pour accèder à l'interface Grafana" mandatory='True'>
|
||||
<value>localhost</value>
|
||||
</variable>
|
||||
<variable name='grafana_session_max_lifetime' type='string' description="Durée avant déconnexion de l'interface Grafana (en seconde)">
|
||||
<value>86400</value>
|
||||
|
||||
<family name="grafana">
|
||||
<variable name='grafana_domain' type='string' description="Nom de Domaine ou IP pour accèder à l'interface Grafana" mandatory='True'>
|
||||
<value>localhost</value>
|
||||
</variable>
|
||||
<variable name='grafana_session_max_lifetime' type='string' description="Durée avant déconnexion de l'interface Grafana (en seconde)">
|
||||
<value>86400</value>
|
||||
</variable>
|
||||
<variable name='grafana_admin_passwd' type='string' description="Mot de passe admin pour la première connexion">
|
||||
<value>admin</value>
|
||||
</variable>
|
||||
<variable name='grafana_sign_up' type='string' description="Activer l'enregistrement automatique">
|
||||
<value>false</value>
|
||||
</variable>
|
||||
<variable name='grafana_auth_anonymous' type='string' description="Activer l'accès aux utilisateurs non enregistrés">
|
||||
<value>false</value>
|
||||
</variable>
|
||||
<variable name='grafanaRootURL' type='string' description='Url publique de grafana (avec http:// ou https://)' mode='expert'/>
|
||||
</family>
|
||||
|
||||
<family name="alertes prometheus">
|
||||
<variable name='alSMTPUseSys' type='oui/non' description="Utiliser la passerelle SMTP du système ?">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='alSMTPHost' type='string' description="Adresse du serveur SMTP pour l'envois des alertes"/>
|
||||
<variable name='alSMTPPort' type='string' description="Port d'écoute du serveur SMTP pour l'envois des alertes"/>
|
||||
<variable name='alFrom' type='string' description="Adresse d'origine des emails d'alerte"/>
|
||||
<variable name='alSMTPTLS' type='oui/non' description="Utiliser STARTTLS">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='grafana_admin_passwd' type='string' description="Mot de passe admin pour la première connexion">
|
||||
<value>admin</value>
|
||||
<variable name='alSMTPAuth' type='oui/non' description="Authentification requise sur le serveur SMTP ?">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='grafana_sign_up' type='string' description="Activer l'enregistrement automatique">
|
||||
<value>false</value>
|
||||
</variable>
|
||||
<variable name='grafana_auth_anonymous' type='string' description="Activer l'accès aux utilisateurs non enregistrés">
|
||||
<value>false</value>
|
||||
</variable>
|
||||
</family>
|
||||
|
||||
<family name="alertes prometheus">
|
||||
<variable name='alSMTPHost' type='string' description="Adresse du serveur SMTP pour l'envois des alertes"/>
|
||||
<variable name='alSMTPPort' type='string' description="Port d'écoute du serveur SMTP pour l'envois des alertes"/>
|
||||
<variable name='alFrom' type='string' description="Adresse d'origine des emails d'alerte"/>
|
||||
<variable name='alSMTPAuth' type='oui/non' description="Authentification requise sur le serveur SMTP ?">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='alSMTPUser' type='string' description="Utilisateur SMTP"/>
|
||||
<variable name='alSMTPPass' type='string' description="Mot de passe"/>
|
||||
<variable name='alSMTPUser' type='string' description="Utilisateur SMTP"/>
|
||||
<variable name='alSMTPPass' type='string' description="Mot de passe"/>
|
||||
|
||||
|
||||
<variable name='alReceiver' type='string' description="Nom du destinataire" multi='True'/>
|
||||
<variable name='alReceiverEmail' type='string' description="Adresse email du destinataire"/>
|
||||
<variable name='alReceiver' type='string' description="Nom du destinataire" multi='True'/>
|
||||
<variable name='alReceiverEmail' type='string' description="Adresse email du destinataire"/>
|
||||
|
||||
<variable name='alDefaultReceiver' type='string' description='Nom du destinataire par défaut'/>
|
||||
<variable name='alDefaultReceiver' type='string' description='Nom du destinataire par défaut'/>
|
||||
|
||||
<variable name='alRoute' type='string' description="Nom de la rêgle de distribution des alertes" multi="True"/>
|
||||
<variable name='alRouteMatchSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alRouteMatchValue' type='string' description='Valeur attendue'/>
|
||||
<variable name='alRouteMatchReceiver' type='string' description="Nom du destinataire de l'alerte"/>
|
||||
<variable name='alRoute' type='string' description="Nom de la rêgle de distribution des alertes" multi="True"/>
|
||||
<variable name='alRouteMatchSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alRouteMatchValue' type='string' description='Valeur attendue'/>
|
||||
<variable name='alRouteMatchReceiver' type='string' description="Nom du destinataire de l'alerte"/>
|
||||
|
||||
<variable name='alRouteRegxp' type='string' description="Rêgle de distribution des alertes" multi="True"/>
|
||||
<variable name='alRouteMatchRegExpSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alRouteMatchRegExp' type='string' description='Expression régulière'/>
|
||||
<variable name='alRouteMatchRegxpRecv' type='string' description="Nom du destinataire de l'alerte (regxp)"/>
|
||||
<variable name='alRouteRegxp' type='string' description="Rêgle de distribution des alertes" multi="True"/>
|
||||
<variable name='alRouteMatchRegExpSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alRouteMatchRegExp' type='string' description='Expression régulière'/>
|
||||
<variable name='alRouteMatchRegxpRecv' type='string' description="Nom du destinataire de l'alerte (regxp)"/>
|
||||
|
||||
<variable name='alSubRoute' type='string' description="Nom de la rêgle maitresse" multi='True'/>
|
||||
<variable name='alSubRouteMatchSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alSubRouteMatchValue' type='string' description='Valeur attendue'/>
|
||||
<variable name='alSubRouteMatchReceiver' type='string' description="Nom du destinataire de l'alerte"/>
|
||||
<variable name='alSubRoute' type='string' description="Nom de la rêgle maitresse" multi='True'/>
|
||||
<variable name='alSubRouteMatchSource' type='string' description='Source de correspondance'/>
|
||||
<variable name='alSubRouteMatchValue' type='string' description='Valeur attendue'/>
|
||||
<variable name='alSubRouteMatchReceiver' type='string' description="Nom du destinataire de l'alerte"/>
|
||||
</family>
|
||||
|
||||
<separators>
|
||||
<separator name='activer_grafana'>Services complèmentairse</separator>
|
||||
<separator name='prometheusJobName'>Configuration du serveur Prometheus</separator>
|
||||
<separator name='activer_grafana'>Services complèmentairse</separator>
|
||||
<separator name='prometheusJobName'>Configuration du serveur Prometheus</separator>
|
||||
<separator name='job_name_node'>Configuration des jobs standards</separator>
|
||||
<separator name='alSMTPHost'>Configuration SMTP pour l'envois des alertes</separator>
|
||||
<separator name='alReceiver'>Destinatires</separator>
|
||||
<separator name='alRoute'>Rêgles de distribution simples</separator>
|
||||
@ -135,6 +167,14 @@
|
||||
<slave>alReceiverEmail</slave>
|
||||
</group>
|
||||
|
||||
<group master='promJobs'>
|
||||
<slave>scrpInterval</slave>
|
||||
<slave>scrpTimeout</slave>
|
||||
<slave>honorLabels</slave>
|
||||
<slave>scrpScheme</slave>
|
||||
<slave>scrpMetricPath</slave>
|
||||
</group>
|
||||
|
||||
<group master='alRoute'>
|
||||
<slave>alRouteMatchSource</slave>
|
||||
<slave>alRouteMatchValue</slave>
|
||||
@ -153,20 +193,47 @@
|
||||
<slave>alSubRouteMatchReceiver</slave>
|
||||
</group>
|
||||
|
||||
<group master='prCli'>
|
||||
<slave>prCliIP</slave>
|
||||
<slave>prCliSonde</slave>
|
||||
<group master='prTarg'>
|
||||
<slave>prTargIP</slave>
|
||||
<slave>prTargSonde</slave>
|
||||
</group>
|
||||
|
||||
<group master='prOpenCli'>
|
||||
<slave>prOpenCliIP</slave>
|
||||
<slave>prOpenCliPort</slave>
|
||||
<group master='prOpenTarg'>
|
||||
<slave>prOpenTargIP</slave>
|
||||
<slave>prOpenTargPort</slave>
|
||||
<slave>prOpenTargJob</slave>
|
||||
</group>
|
||||
|
||||
<check name='valid_enum' target='prCliSonde'>
|
||||
<param>['Node Exporter','Port']</param>
|
||||
<check name='valid_enum' target='prTargSonde'>
|
||||
<param>['Node Exporter']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='scrpScheme'>
|
||||
<param>['http','https']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='alRouteMatchSource'>
|
||||
<param>['','service','severity']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='alRouteMatchRegExpSource'>
|
||||
<param>['','service','severity']</param>
|
||||
</check>
|
||||
|
||||
<check name='valid_enum' target='alSubRouteMatchSource'>
|
||||
<param>['','service','severity']</param>
|
||||
</check>
|
||||
|
||||
<condition name='disabled_if_in' source='alSMTPUseSys'>
|
||||
<param>oui</param>
|
||||
<target type='variable'>alSMTPUser</target>
|
||||
<target type='variable'>alSMTPPass</target>
|
||||
<target type='variable'>alSMTPPort</target>
|
||||
<target type='variable'>alSMTPTLS</target>
|
||||
<target type='variable'>alSMTPHost</target>
|
||||
<target type='variable'>alSMTPAuth</target>
|
||||
</condition>
|
||||
|
||||
<condition name='disabled_if_in' source='alSMTPAuth'>
|
||||
<param>non</param>
|
||||
<target type='variable'>alSMTPUser</target>
|
||||
@ -191,19 +258,20 @@
|
||||
<param>non</param>
|
||||
<target type='family'>alertes prometheus</target>
|
||||
<target type='filelist'>alertmanager</target>
|
||||
<target type='service_accesslist'>alertmanager</target>
|
||||
</condition>
|
||||
|
||||
<condition name='disabled_if_in' source='ajout_client_prometheus'>
|
||||
<condition name='disabled_if_in' source='addTargetPrometheus'>
|
||||
<param>non</param>
|
||||
<target type='variable'>prCli</target>
|
||||
<target type='variable'>prCliIP</target>
|
||||
<target type='variable'>prCliSonde</target>
|
||||
<target type='variable'>prTarg</target>
|
||||
<target type='variable'>prTargIP</target>
|
||||
<target type='variable'>prTargSonde</target>
|
||||
</condition>
|
||||
<condition name='disabled_if_in' source='addPrOpenCli'>
|
||||
<condition name='disabled_if_in' source='addPrOpenTarg'>
|
||||
<param>non</param>
|
||||
<target type='variable'>prOpenCli</target>
|
||||
<target type='variable'>prOpenCliIP</target>
|
||||
<target type='variable'>prOpenCliPort</target>
|
||||
<target type='variable'>prOpenTarg</target>
|
||||
<target type='variable'>prOpenTargIP</target>
|
||||
<target type='variable'>prOpenTargPort</target>
|
||||
</condition>
|
||||
</constraints>
|
||||
<help>
|
||||
|
@ -73,7 +73,7 @@ _EOF_
|
||||
# rm -rf ${tmpFile}
|
||||
}
|
||||
|
||||
grafanaHost=$(CreoleGet srvGrafanaIP 192.168.30.57)
|
||||
grafanaHost=$(CreoleGet srvGrafanaIP 127.0.0.1)
|
||||
grafanaPort=$(CreoleGet srvGrafanaPort 3000)
|
||||
grafanaUser="admin"
|
||||
grafanaPasswd=$(CreoleGet grafana_admin_passwd admin)
|
||||
|
41
tmpl/alert-rules.yml
Normal file
41
tmpl/alert-rules.yml
Normal file
@ -0,0 +1,41 @@
|
||||
#
|
||||
# Alert Rules
|
||||
#
|
||||
groups:
|
||||
- name: EoleRules
|
||||
rules:
|
||||
# Instance is Down
|
||||
- alert: JobInstanceDown
|
||||
expr: up == 0
|
||||
for: 1m
|
||||
annotations:
|
||||
DESCRIPTION: Job {{ $labels.job }} instance {{ $labels.instance }} is down.
|
||||
SUMMARY: Job instance is down
|
||||
|
||||
# Heavy CPU usage
|
||||
- alert: cpu_threshold_exceeded
|
||||
expr: (100 * (1 - avg by(instance) (irate(node_cpu{job="%%{job_name_node}",mode="idle"}[5m]))))
|
||||
> 80
|
||||
annotations:
|
||||
description: This device's cpu usage has exceeded the threshold with a value
|
||||
of {{ $value }}.
|
||||
summary: Instance {{ $labels.instance }} CPU usage is dangerously high
|
||||
|
||||
# Heavy Memory usage
|
||||
- alert: mem_threshold_exceeded
|
||||
expr: (node_memory_MemFree{job="%%{job_name_node}"} + node_memory_Cached{job="%%{job_name_node}"} + node_memory_Buffers{job="%%{job_name_node}"})
|
||||
/ 1e+06 < 80
|
||||
annotations:
|
||||
description: This device's memory usage has exceeded the threshold with a value
|
||||
of {{ $value }}.
|
||||
summary: Instance {{ $labels.instance }} memory usage is dangerously high
|
||||
|
||||
# Heavy "/" use
|
||||
- alert: filesystem_threshold_exceeded
|
||||
expr: node_filesystem_avail{job="%%{job_name_node}",mountpoint="/"} / node_filesystem_size{job="%%{job_name_node}"}
|
||||
* 100 < 20
|
||||
annotations:
|
||||
description: This device's filesystem usage has exceeded the threshold with
|
||||
a value of {{ $value }}.
|
||||
summary: Instance {{ $labels.instance }} filesystem usage is dangerously high
|
||||
|
@ -1,19 +1,39 @@
|
||||
global:
|
||||
# The smarthost and SMTP sender used for mail notifications.
|
||||
%if %%alSMTPUseSys == 'oui'
|
||||
%if %%tls_smtp == "non"
|
||||
smtp_smarthost: '%%exim_relay_smtp:25'
|
||||
%elif %%tls_smtp == "port 25"
|
||||
smtp_smarthost: '%%exim_relay_smtp:25'
|
||||
smtp_require_tls: true
|
||||
%else
|
||||
smtp_smarthost: '%%exim_relay_smtp:465'
|
||||
smtp_require_tls: true
|
||||
%end if
|
||||
smtp_from: '%%system_mail_from'
|
||||
%else
|
||||
smtp_smarthost: '%%alSMTPHost:%%alSMTPPort'
|
||||
smtp_from: '%%alFrom'
|
||||
%if %%getVar('alSMTPAuth','non') == 'oui'
|
||||
%if %%getVar('alSMTPAuth','non') == 'oui'
|
||||
smtp_auth_username: '%%alSMTPUser'
|
||||
smtp_auth_password: 'alSMTPPass'
|
||||
%end if
|
||||
|
||||
%if %%getVar('alSMTPTLS','non') == 'oui'
|
||||
smtp_require_tls: true
|
||||
%else
|
||||
smtp_require_tls: false
|
||||
%end if
|
||||
%end if
|
||||
|
||||
# The auth token for Hipchat.
|
||||
#hipchat_auth_token: '1234556789'
|
||||
# Alternative host for Hipchat.
|
||||
#hipchat_api_url: 'https://hipchat.foobar.org/'
|
||||
|
||||
# The directory from which notification templates are read.
|
||||
templates:
|
||||
- '/etc/alertmanager/template/*.tmpl'
|
||||
templates:
|
||||
- '/etc/alertmanager/template/*.tmpl'
|
||||
|
||||
# The root route on which each incoming alert enters.
|
||||
route:
|
||||
@ -25,7 +45,7 @@ route:
|
||||
# When a new group of alerts is created by an incoming alert, wait at
|
||||
# least 'group_wait' to send the initial notification.
|
||||
# This way ensures that you get multiple alerts for the same group that start
|
||||
# firing shortly after another are batched together on the first
|
||||
# firing shortly after another are batched together on the first
|
||||
# notification.
|
||||
group_wait: 30s
|
||||
|
||||
@ -35,12 +55,12 @@ route:
|
||||
|
||||
# If an alert has successfully been sent, wait 'repeat_interval' to
|
||||
# resend them.
|
||||
repeat_interval: 3h
|
||||
repeat_interval: 3h
|
||||
|
||||
# A default receiver
|
||||
receiver: %%alDefaultReceiver
|
||||
|
||||
# All the above attributes are inherited by all child routes and can
|
||||
# All the above attributes are inherited by all child routes and can
|
||||
# overwritten on each.
|
||||
|
||||
# The child route trees.
|
||||
@ -100,7 +120,7 @@ route:
|
||||
|
||||
# Inhibition rules allow to mute a set of alerts given that another alert is
|
||||
# firing.
|
||||
# We use this to mute any warning-level notifications if the same alert is
|
||||
# We use this to mute any warning-level notifications if the same alert is
|
||||
# already critical.
|
||||
inhibit_rules:
|
||||
- source_match:
|
||||
|
@ -40,11 +40,13 @@ domain = %%grafana_domain
|
||||
|
||||
# Redirect to correct domain if host header does not match domain
|
||||
# Prevents DNS rebinding attacks
|
||||
;enforce_domain = false
|
||||
enforce_domain = true
|
||||
|
||||
# The full public facing url you use in browser, used for redirects and emails
|
||||
# If you use reverse proxy and sub path specify full url (with sub path)
|
||||
;root_url = http://localhost:3000
|
||||
%if %%is_empty('grafanaRootURL')
|
||||
root_url = %%grafanaRootURL
|
||||
%end if
|
||||
|
||||
# Log web requests
|
||||
;router_logging = false
|
||||
@ -299,18 +301,20 @@ enabled = %%grafana_auth_anonymous
|
||||
|
||||
#################################### SMTP / Emailing ##########################
|
||||
[smtp]
|
||||
;enabled = false
|
||||
;host = localhost:25
|
||||
%if %%getVar('activer_exim_relay_smtp','non') == 'oui'
|
||||
enabled = true
|
||||
host = %%exim_relay_smtp:25
|
||||
;user =
|
||||
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
|
||||
;password =
|
||||
;cert_file =
|
||||
;key_file =
|
||||
;skip_verify = false
|
||||
;from_address = admin@grafana.localhost
|
||||
;from_name = Grafana
|
||||
skip_verify = true
|
||||
from_address = %%system_mail_from
|
||||
from_name = Grafana
|
||||
# EHLO identity in SMTP dialog (defaults to instance_name)
|
||||
;ehlo_identity = dashboard.example.com
|
||||
%end if
|
||||
|
||||
[emails]
|
||||
;welcome_email_on_sign_up = false
|
||||
|
6
tmpl/predict-rules.yml
Normal file
6
tmpl/predict-rules.yml
Normal file
@ -0,0 +1,6 @@
|
||||
groups:
|
||||
- name: PredictRules
|
||||
rules:
|
||||
- alert: disk_full_within_6_hours
|
||||
expr: predict_linear(node_filesystem_free{job="%%{job_name_node}",mountpoint="/"}[1h], 6 * 3600) < 0
|
||||
for: 5m
|
1
tmpl/prometheus.defaults
Normal file
1
tmpl/prometheus.defaults
Normal file
@ -0,0 +1 @@
|
||||
PROMETHEUS_OPTS='--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data'
|
@ -5,7 +5,7 @@ global:
|
||||
scrape_timeout: %%prometheusScrapeTimeout
|
||||
|
||||
rule_files:
|
||||
- "/etc/prometheus/rules.d/*.yml"
|
||||
- "/etc/prometheus/rules.d/*.yml"
|
||||
|
||||
scrape_configs:
|
||||
- job_name: %%prometheusJobName
|
||||
@ -18,34 +18,54 @@ scrape_configs:
|
||||
%end if
|
||||
]
|
||||
|
||||
|
||||
|
||||
- job_name: '%%job_name_node'
|
||||
file_sd_configs:
|
||||
- files: [ "%%job_file_config/*.yml" ]
|
||||
%if %%is_empty('ajout_client_prometheus') or %%is_empty('addPrOpenCli')
|
||||
# Nothing to configure
|
||||
%else
|
||||
# - files: [ "%%job_file_config/*.yml" ]
|
||||
%if %%getVar('addTargetPrometheus','non') == 'oui'
|
||||
static_configs:
|
||||
- targets: [ "%%adresse_ip_eth0:9100"%slurp
|
||||
%if %%getVar('ajout_client_prometheus','non') == 'oui'
|
||||
%for %%cliPr in %%getVar('prCli',[])
|
||||
%if %%cliPr.prCliSonde == 'Node Exporter'
|
||||
, '%%cliPr.prCliIP:9100'%slurp
|
||||
%for %%cliPr in %%getVar('prTarg',[])
|
||||
%if %%cliPr.prTargSonde == 'Node Exporter'
|
||||
, '%%cliPr.prTargIP:9100'%slurp
|
||||
%end if
|
||||
%end for
|
||||
%end if
|
||||
%if %%getVar('addPrOpenCli','non') == 'oui'
|
||||
%for %%cliOpen in %%getVar('prOpenCli',[])
|
||||
, '%%cliOpen.prOpenCliIP:%%cliOpen.prOpenCliPort'%slurp
|
||||
%end for
|
||||
%end if
|
||||
]
|
||||
%end if
|
||||
|
||||
#alerting:
|
||||
# alertmanagers:
|
||||
# - scheme: https
|
||||
# static_configs:
|
||||
# - targets:
|
||||
# - "1.2.3.4:9093"
|
||||
# - "1.2.3.5:9093"
|
||||
# - "1.2.3.6:9093"
|
||||
%for %%job in %%getVar('promJobs', [])
|
||||
- job_name: '%%job'
|
||||
%if %%job.honorLabels == 'oui'
|
||||
honor_labels: true
|
||||
%else
|
||||
honor_labels: false
|
||||
%end if
|
||||
scrape_interval: %%{job.scrpInterval}s
|
||||
scrape_timeout: %%{job.scrpTimeout}s
|
||||
scheme: %%job.scrpScheme
|
||||
metrics_path: %%job.scrpMetricPath
|
||||
%set first = True
|
||||
static_configs:
|
||||
- targets: [ %slurp
|
||||
%for %%target in %%getVar('prOpenTarg',[])
|
||||
%if %%target.prOpenTargJob == %%job
|
||||
%if %%first
|
||||
"%%target.prOpenTargIP:%%target.prOpenTargPort"%slurp
|
||||
%set first = False
|
||||
%else
|
||||
, "%%target.prOpenTargIP:%%target.prOpenTargPort"%slurp
|
||||
%end if
|
||||
%end if
|
||||
%end for
|
||||
]
|
||||
%end for
|
||||
|
||||
%if %%getVar('activerAlertmanager','non') == 'oui'
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- scheme: http
|
||||
static_configs:
|
||||
- targets:
|
||||
- "%%nom_domaine_machine:9093"
|
||||
%end if
|
||||
|
Reference in New Issue
Block a user