Depuis 9 ans, nous aidons les entreprises à intégrer et à créer des solutions pour les réseaux. 

Zen-Networks est une entreprise technologique axée sur les valeurs.

Contacts

France

66 Avenue des Champs Elysées
75008 ParisFrance

Maroc

410-411-412, Technoparc
Boulevard Dammam 20150
Casablanca, Maroc

contact@zen-networks.io

+212-522-219-782

Blog
elasticsearch

Elasticsearch pour APM

Découvrons le fonctionnement d'Elasticsearch pour APM 

Vous êtes-vous déjà demandé comment surveiller simplement les performances de votre application ? Elastic APM est la solution. Elastic Application Performance Management (APM) est une nouvelle ElasticSearch Fonctionnalité 6.1 (en version bêta et alpha en 6.0). Opbeat (une application de performance monitoring – APM – cabinet) a fusionné avec Elastic il y a quelques mois pour créer Elastic APM.
Ajout d'APM (Application Performance Monitoring) à l'élastique Stack est une prochaine étape évidente dans l'offre aux consommateurs de bout en bout monitoring, des journaux aux métriques au niveau du serveur, en passant par les métriques au niveau de l'application et l'expérience de l'utilisateur final dans le navigateur ou le client.

Dans cet article, nous verrons comment surveiller les performances d'une application Python Flask à l'aide de APM d'Elasticsearch fonctionnalité, ainsi que comment être informé (par webhook ou par e-mail) quand quelque chose se passe dans votre application.

Qu'est-ce que l'APM ?

Si vous vous posiez des questions sur l'APM et sur son objectif, jetez un coup d'œil sur : APM – Performances des applications Monitoring

Qu’est ce qu' ELK Stack?

ELK est une abréviation pour une suite de trois projets importants : ElasticSearch, Logstash et Kibana. L'ELK, également connu sous le nom d'Elasticsearch, vous permet de collecter les journaux de tous vos systèmes et applications, de les analyser et de créer des visualisations pour les applications et l'infrastructure. monitoring, dépannage plus rapide, sécurité analytics, et à d'autres fins.

Elaticseach

Elasticsearch est un système de recherche et de données distribué basé sur Apache Lucene. Elasticsearch est une excellente solution pour une variété de cas d'utilisation dans le journal analytics et la recherche grâce à sa prise en charge de nombreuses langues, ses excellentes performances et ses documents JSON sans schéma.

Logstash

Logstash est un open source logiciel d'ingestion de données qui vous permet de prendre des données de plusieurs sources, de les modifier et de les livrer à la destination de votre choix.

Kibana

Kibana est une couche d'analyse et de visualisation Elasticsearch et Logstash gratuite et open source. Kibana permet aux utilisateurs d'explorer les informations de journal agrégées stockées dans les index Elasticsearch. Il simplifie également la recherche, l'analyse et la visualisation d'énormes volumes de données, ainsi que la détection des tendances et des modèles.

Elastic APM, comme son nom l'indique, est un outil de performance applicative monitoring solution construite au-dessus de la ELK Stack (Elasticsearch, Logstash, Kibana, Beats). Elastic APM, comme d'autres systèmes APM dont vous avez peut-être entendu parler, vous permet de suivre des informations cruciales liées aux performances telles que les demandes, les réponses, les transactions de base de données, les échecs, etc.
Elastic APM est composé de quatre cœurs open source blocs de construction : Elasticsearch pour le stockage et l'indexation des données, Kibana pour l'analyse et la visualisation des données (la page APM dans Kibana est incluse avec une licence de base X-Pack) et deux composants spécifiques à APM : le serveur APM et l'agent APM.

Les agents APM sont chargés de collecter les données de performances et de les transmettre au serveur APM. Dans nos applications, les différents agents sont instrumentés comme une bibliothèque. Le serveur APM est chargé de recevoir les données, de produire des documents à partir de celles-ci et de stocker les données dans Elasticsearch.

Dans ce nouvel article concernant notre nouveau projet article, vous verrez comment configurer Elastic APM pour un nœud simple. Sur AWS, un seul ordinateur Ubuntu 16.04 exécute une application js.

Installation du serveur APM

Comme indiqué précédemment, le serveur APM rassemble et transmet les données de performances collectées par les agents à Elasticsearch.

Nous allons utiliser les commandes suivantes pour installer le serveur APM en utilisant apt :

apt-get install apm-serveur sudo
Pour démarrer le serveur, procédez comme suit :

service sudo apm-démarrage du serveur

Pour nous assurer que le tout nouvel index apm-server est généré, nous pouvons utiliser Elasticsearch :

indice d'état de santé uuid pri rep docs.count docs.deleted store.size pri.store.size vert ouvert .kibana 7CdGpSpuTDqSpzDGfV5XmQ 1 0 17 1 58.8kb 58.8kb jaune ouvert apm-6.4.3-onboarding-2018.11.12 4XSxUrWnQryD9yRCwPmCRQ 1 1 1 0 5.9kb
Installation de l'agent APM

1er on va commencer par :

npm installer elastic-apm-node --save

Ensuite, vous allez construire le fichier principal de l'application.

sudo vim index.js

Avant de demander d'autres modules, vous devez d'abord exécuter l'agent APM.

Mettez le code suivant au tout début de notre nouveau fichier :

var apm = require('elastic-apm-node').start({ serviceName: 'demoapp', serverUrl: 'http://localhost:8200' })

puis copiez et collez un code express "hello world":

const express = require('express') const app = express() app.get('/', (req, res) => { res.send('HEY!') }) app.listen(3000, () => console.log('Serveur tournant sur le port 3000'))

Pour démarrer le serveur :

noeud index.js
Analyser dans Kibana

Vous pouvez étudier ces données dans Kibana de la même manière que vous le feriez pour n'importe quelle autre donnée, en les interrogeant et en les visualisant. Une autre alternative est la page APM, qui est décrite ci-dessous mais qui n'est disponible qu'avec la licence de base X-Pack.

Mais avant tout, nous devons définir le nouvel index dans Kibana. Lorsque nous interrogeons Elasticsearch pour les index, nous constatons que deux index apm-* ont été créés :

curl -XGET 'localhost:9200/_cat/indices?v&pretty' index d'état de santé uuid pri rep docs.count docs.deleted store.size pri.store.size jaune ouvert apm-6.4.3-transaction-2018.11.13 ikIjni6qSDmgix2K9zC8vQ 1 1 5 0 37kb 37kb jaune ouvert apm-6.4.3-onboarding-2018.11.13 -boQQic_S2ePPPtJ3HP83w 1 1 1 0 5.9kb 5.9kb vert ouvert .kibana m4IxzDFrT9CkiB8EqpD3Kw 1 0 17 1 49.3kb 49.3kb

Dans Kibana, ces indices peuvent être chargés de deux manières. Une méthode consiste à utiliser l'onglet Index Patterns sur la page de gestion de Kibana.

créer-index

L'autre méthode consiste à utiliser le site Web APM, où cliquer sur Procédures de configuration fournit un didacticiel qui détaille certaines des instructions susmentionnées. Cette option est utile pour s'assurer que le serveur et l'agent APM fonctionnent correctement.

Charger les objets Kibana est disponible tout en bas de la page. Lorsque vous sélectionnez cette option, les modèles d'index, les visualisations et les tableaux de bord sont chargés.

ElasticSearch

Une fois que vous avez spécifié les modèles d'index, l'onglet de découverte affichera vos données de transaction ainsi que toutes les exceptions.

ElasticSearch

Le service 'demoapp' défini dans le fichier index.js est mentionné sous Services sur la page APM.

Cliquer dessus fait apparaître un tableau de bord avec des informations sur les demandes d'application (temps de réponse et demandes par minute).

ElasticSearch

Vous pouvez cliquer sur une demande pour obtenir plus d'informations à son sujet, la réponse et des informations sur le système ou l'utilisateur. Encore une fois, cette page APM est incluse avec la licence X-Pac standard. Vous pouvez cependant créer votre propre tableau de bord complet dans Kibana.

Zen Networks est un fournisseur leader de solutions informatiques avancées, spécialisé dans log monitoring, automatisation et DevOps.

Notre équipe d'experts propose une large gamme de services, y compris l'informatique monitoring, services cloud, solutions agiles et automatisation. Nous connaissons également bien l'installation et la mise en œuvre d'Elasticsearch, Logstask et Kibana sur Docker.
En tirant parti de notre vaste expertise dans le domaine et de nos technologies innovantes, nous permettons à nos clients d'optimiser leur infrastructure informatique et d'atteindre l'excellence opérationnelle. Nos solutions sont conçues pour aider les organisations de toutes tailles à rationaliser leurs processus, à améliorer leur efficacité et à réduire leurs coûts.
Nous vous invitons à profiter de notre service de consultation et de devis gratuit pour en savoir plus sur la manière dont nous pouvons aider votre organisation à atteindre ses objectifs informatiques. Contact contactez-nous maintenant pour planifier votre consultation et découvrir les avantages de travailler avec Zen Networks.

Auteur

Zen Networks