
Ce chapitre est l'introduction à l'ensemble de la formation. A la fin de cette introduction, vous aurez une meilleur idée de tout ce que nous allons traiter au sein de cette formation.
Ce chapitre est une introduction à Datadog et à son fonctionnement. A la fin de ce chapitre vous saurez globalement comment fonctionne Datadog ainsi que l'objectif de la mise en place d'un APM.
Dans ce chapitre nous verrons comment fonctionne DataDog et son agent.
https://docs.datadoghq.com/fr/agent/
https://docs.datadoghq.com/fr/agent/kubernetes/?tab=helm
Dans ce chapitre nous verrons comment associés un environnement et des tags aux informations remontées par notre agent DataDog.
Dans ce chapitre nous allons voir plus en détails la philosophie d'installation de l'agent DataDog dans un contexte Kubernetes.
A lire pour plus de détails:
https://docs.datadoghq.com/fr/integrations/faq/kubernetes-host-installation/
https://docs.datadoghq.com/fr/agent/kubernetes/?tab=helm
https://docs.datadoghq.com/fr/integrations/kubernetes/
https://www.datadoghq.com/blog/monitoring-kubernetes-with-datadog/
Dans ce chapitre nous allons voir le fonctionnement de l'intégration des logs avec Datadog. Nous allons voir les deux méthodes d'intégration des logs (fichier vs écoute de flux). Puis nous verrons comment faire émettre des logs au format JSON à votre application. Et enfin comment activer et configurer la collection des logs dans l'agent pour que vos logs apparaissent en ligne dans l'interface de DataDog.
Les bibliothèques de logs en fonction de votre language:
Python : https://docs.datadoghq.com/fr/logs/log_collection/python/?tab=json_logformatter
Go : https://docs.datadoghq.com/fr/logs/log_collection/go/#configure-your-logger
Java : https://docs.datadoghq.com/fr/logs/log_collection/java/?tab=log4j#configurer-votre-logger
Nodejs : https://docs.datadoghq.com/fr/logs/log_collection/nodejs/?tab=winston30#impl%C3%A9mentation
PHP : https://docs.datadoghq.com/fr/logs/log_collection/php/?tab=phpmonolog#impl%C3%A9mentation
Ruby : https://docs.datadoghq.com/fr/logs/log_collection/ruby/#configuration
Csharp : https://docs.datadoghq.com/fr/logs/log_collection/csharp/?tab=serilog#configurer-votre-logger
Pour activer l'agent, la ligne a modifier dans le fichier de configuration est logs_enabled: true, la variable d'environnement associées est DD_LOGS_ENABLED.
Dans ce chapitre nous allons voir comment configurer notre logger applicatifs pour recevoir les logs dans DataDog via un fichier de log. A la fin de ce chapitre vous pourrez consulter vos logs sur DataDog.
Dans ce chapitre nous allons voir comment utiliser les fonctionnalités avancées des logs dans Datadog. Nous verrons notamment comment mapper des attributs, utiliser la fonctionnalité de patterns, ajouter des méta données à vos logs et comment les transformer en facettes. Enfin nous verrons comment créer et sauvegarder des recherches personnalisées.
Dans ce chapitre nous verrons comment configurer votre application pour remonter des informations de traces a DataDog. Ces traces seront l'exploitable dans la section APM, un des outils au centre de DataDog.
Documentation sur la mise en place du tracing : https://docs.datadoghq.com/fr/tracing/setup/
Dans ce chapitre nous couvrirons les fonctionnalités avancées de l'APM:
- Annoter un span existant
- Créer un span
- Gérer la liste des intégrations
La documentation associée:
Annoter un span : https://docs.datadoghq.com/fr/tracing/guide/adding_metadata_to_spans/?tab=python#ajouter-des-tags-%C3%A0-une-span
Créer un span : https://docs.datadoghq.com/fr/tracing/manual_instrumentation/python/?tab=gestionnairedecontextes
Liste des intégrations gérées en Python : http://pypi.datadoghq.com/trace/docs/advanced_usage.html?highlight=falcon#trace-search-analytics
Dans ce chapitre nous verrons comment créer des métriques personnaliser et créer une alerte simple si une métrique dépasse un seuil donné. L'alerting se fait par email, vous retrouverez comment recevoir des alertes via Slack dans le chapitre sur les Synthetics.
Documentation sur les types de métriques : https://docs.datadoghq.com/fr/developers/metrics/types/?tab=count
Dans ce chapitre nous allons voir comment corréler les logs aux traces de l'APM. Cela permettra une fois dans l'APM de voir les logs qui ont été émis durant le cycle requête/réponse.
La documentation associée : https://docs.datadoghq.com/fr/tracing/connect_logs_and_traces/?tab=java#injection-automatique-d-id-de-trace
Dans ce chapitre nous allons voir comment contrôler et nettoyer les logs avant leur envoi a Datadog. Avec la fonctionnalité de log scrubbing vous pouvez décider de marsquer certaines informations dans les logs avant leur envoi à Datadog. Nous verrons aussi comment exclure de l'envoi les logs qui contiennent un mot ou une expression.
Dans ce chapitre nous verrons comment créer des événements personnalisés via DogStastD et via API. Nous verrons ensuite un cas pratique pour afficher ses événements sur un tableau de bord simple pour pouvoir corréler l’événement et le nombre de log erreurs.
Dans ce chapitre nous verrons comment utiliser la fonctionnalité de Synthetics de DataDog pour tester son application depuis l'extérieur de son infrastructure. Nous verrons aussi comment utiliser ces tests pour recevoir des alertes via Slack en cas de problèmes sur votre site.
Dans ce chapitre nous allons voir comment monitorer l'usage en CPU et en RAM de tous les processus de vos serveurs que cela soit des applications ou bien des taches de fonds comme des crons.
Dans ce chapitre nous allons voir comment profiller du code avec DataDog. Il s'agit pour l'instant d'une fonctionnalité encore en beta chez DataDog, a utiliser avec précaution donc.
Pour Java il faudra lancer son programme en utilisant la syntaxe suivante:
java -javaagent:dd-java-agent.jar -Ddd.profiling.enabled=true -Ddd.profiling.api-key-file=<API_KEY_FILE> -jar <YOUR_SERVICE>.jar <YOUR_SERVICE_FLAGS>
Et en Go il faut gérer le profiler manuellement, comme ceci :
err := profiler.Start(
profiler.WithAPIKey("<DATADOG_API_KEY>")
profiler.WithService("<SERVICE_NAME>"),
profiler.WithEnv("<ENVIRONMENT>"),
profiler.WithTags("version:<APPLICATION_VERSION>"),
)
if err != nil {
log.Fatal(err)
}
defer profiler.Stop()
Plus de détails dans la page de documentation associée : https://docs.datadoghq.com/fr/tracing/profiling/?tab=java
Dans ce chapitre nous allons voir les commande principale de l'agent DataDog afin de mieux appréhender toutes ses possibilités. Ces informations vous aideront aussi en cas de problème de configuration.
En savoir plus : https://docs.datadoghq.com/fr/agent/basic_agent_usage/ubuntu/?tab=agentsv6etv7
Dans ce chapitre nous verrons comment simuler du traffic sur un serveur web avec deux outils: AB et Siege.
Voici les procédures d’installation de ces deux outils
AB :
Ubuntu : apt-get install apache2-utils
MacOS: Directement embarqué avec MacOS
Siege :
Ubuntu : sudo apt install siege
CentOS: yum install siege
Autres linux: https://www.linode.com/docs/tools-reference/tools/load-testing-with-siege/#download-and-configure-siege
La seule formation complète pour DataDog en français. Suivez cette formation et vous saurez tout sur le suivi d'application avec Datadog et le diagnostic des problèmes de vos applications. Développez vos compétences et améliorez vos perspectives de carrières.
Datadog est une solution SaaS compatible avec Ruby, PHP, Python, Go, .NET, NodeJS et bien d'autres encore. La suite Datadog est très complète et possède les avantages suivants:
- Facile à mettre en place
- Très bonne UX
- Intégrations très complètes
- Corrélations entre les logs, l'APM, les métriques
- Un essai gratuit
- Des intégrations avec AWS, GCP, Slack, PagerDuty, etc.
Grace à ce cours vous pourrez:
- Monitorer votre application web avec Datadog
- Trouver les sources de ralentissements de votre application
- Indexer et consulter les logs applicatifs
- Émettre et consolider des métriques applicatives
- Obtenir plus d'informations sur les bugs
- Définir des alertes et des moyens de communication en cas d'incident.
Ce cours est à destination:
- Des développeurs
- Des ingénieurs DevOps
- Des architectes web