Utile

Kibana Plugins :

Kibana plugins | Kibana Guide [8.17] | Elastic

Informations :

→ copy to space le dashboard mis à jour puis dupliquer l’ancien dashboard (export puis import) puis supprimer les anciens dans saved object

⚠ Ne pas créer de nouveaux id aléatoire et faire matcher les existants

Pour que toutes les visualisations du dashboard Admin s’affiche même si il y 2 index différents, mettre ce filtre global : core.type.keyword : "EnergyPoint" or ObjectType.keyword : "EnergyPoint" => permet de prendre en compte que les compteurs électriques.

→ Tout est maintenant indexer par tenant avec uniquement les compteurs donc plus besoin du filtre global

→ Pour ajouter la Map au dashboard et afficher les objets selon le tenant, ne pas affecter le filtre global à cette map : décocher “Apply global search to layer data”

→ Ajouter un runtime field : Stack Management > Data views > Fields > Schema type > Runtime > Add Field OU via Dev Tool (mieux)

→ Redirection directe vers le dashboard après la connexion : Stack Management > Advanced Settings > defaultRoute

→ Pour que les utilisateurs n’aient accès qu’à leurs objets dans la “Carte des objets”, modifier leur rôle :

  1. Ajouter un index privilege avec en :
  1. Cocher “Grant read privileges to specific documents”
  2. Ajouter : {"term": {"tenant": {"value": "nom-du-tenant"}}}

Key Metric

Fonctions Kibana

1. Average (Moyenne) : Calcule la moyenne des valeurs d'un champ numérique sur une période donnée ⇒ Utile pour suivre une tendance générale, par exemple la consommation moyenne d'énergie par jour.

2. Count (Nombre total) : Compte le nombre total de documents correspondant à une requête ⇒ Utile pour afficher le nombre total d'événements, comme le nombre de relevés de capteurs.

3. Counter rate (Taux de compteur) : Calcule le taux de changement d'un champ qui augmente de manière cumulative, comme un compteur ⇒ Utile pour mesurer la vitesse de consommation d'une ressource (ex. kWh/h).

4. Cumulative sum (Somme cumulative) : Additionne progressivement les valeurs au fil du temps ⇒ Utile pour voir une consommation énergétique cumulative sur une période.

5. Differences (Différences) : Calcule la différence entre deux points de données consécutifs ⇒ Utile pour détecter des variations brusques, par exemple une chute soudaine de consommation.

6. Last value (Dernière valeur) : Récupère la dernière valeur connue d'un champ ⇒ Utile pour afficher l’état actuel d’un capteur ou d’un compteur.

7. Maximum (Valeur maximale) : Trouve la plus grande valeur d’un champ sur une période ⇒ Utile pour voir le pic de consommation d’énergie d’une journée.

8. Median (Médiane) : Trouve la valeur médiane d'un champ sur une période ⇒ Utile pour analyser une tendance centrale sans être influencé par les valeurs extrêmes.

9. Minimum (Valeur minimale) : Trouve la plus petite valeur d’un champ sur une période ⇒ Utile pour identifier la consommation énergétique la plus basse d’un jour.

10. Moving average (Moyenne mobile) : Calcule la moyenne d’un champ sur une fenêtre temporelle glissante ⇒ Utile pour lisser les variations et identifier les tendances à long terme.

11. Percentile (Centile) : Trouve la valeur en dessous de laquelle un certain pourcentage des données tombe ⇒ Utile pour analyser des seuils de consommation : ex. le 95e centile montre la limite supérieure typique.

12. Percentile rank (Rang centile) : Indique le pourcentage de valeurs qui sont inférieures à une valeur donnée ⇒ Utile pour comparer une consommation spécifique par rapport à un ensemble de données historiques.

13. Standard deviation (Écart type) : Mesure la dispersion des valeurs par rapport à la moyenne ⇒ Utile pour détecter des anomalies dans la consommation énergétique.

14. Sum (Somme) : Additionne toutes les valeurs d’un champ sur une période donnée ⇒ Utile pour connaître la consommation totale d’énergie sur un mois.

15. Unique Count (Nombre unique) : Compte le nombre de valeurs uniques dans un champ ⇒ Utile pour compter le nombre de capteurs actifs ou de villes surveillées.

16. Field (Champ) : Désigne la colonne spécifique d’un document Elasticsearch sur laquelle une métrique est appliquée ⇒ Utile pour appliquer la somme sur le champ energy_consumed pour obtenir la consommation totale.



Runtime field

Shared API for package java.time | Painless Scripting Language [8.17] | Elastic

// Runtime field dayOfWeek :
// Récupérer la valeur de 'timestamp' en utilisant la méthode 'ZonedDateTime'
ZonedDateTime zdt = doc['timestamp'].value.toInstant().atZone(ZoneId.of('UTC'));

// Utiliser 'getDayOfWeek()' qui renvoie un jour de la semaine en tant que 'DayOfWeek'
String dayOfWeek = zdt.getDayOfWeek().toString();

// Mapper les jours de la semaine en texte lisible
if (dayOfWeek == 'MONDAY') {
    emit('Lundi');
} else if (dayOfWeek == 'TUESDAY') {
    emit('Mardi');
} else if (dayOfWeek == 'WEDNESDAY') {
    emit('Mercredi');
} else if (dayOfWeek == 'THURSDAY') {
    emit('Jeudi');
} else if (dayOfWeek == 'FRIDAY') {
    emit('Vendredi');
} else if (dayOfWeek == 'SATURDAY') {
    emit('Samedi');
} else if (dayOfWeek == 'SUNDAY') {
    emit('Dimanche');
}