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 :
{"term": {"tenant": {"value": "nom-du-tenant"}}}
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.
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');
}