Si vous utilisez Windows, vous souhaiterez surveiller les événements Windows. Une contribution récente d’une distribution du collecteur OpenTelemetry (OTel) facilite grandement la surveillance des événements Windows avec OpenTel. Vous pouvez utiliser ce récepteur soit en conjonction avec n’importe quel collecteur OTel : y compris le collecteur OpenTelemetry. Dans cet article, nous utiliserons la distribution du collecteur d’observaIQ. Vous trouverez ci-dessous les étapes pour être rapidement opérationnel avec la distribution. Nous enverrons les journaux d’événements Windows à un backend populaire : Google Cloud Ops. Vous pouvez en savoir plus sur la page GitHub ici.
Quels signaux comptent ?
Les journaux d’événements Windows enregistrent de nombreux processus différents du système d’exploitation, l’activité des applications et l’activité des comptes. Certains types de journaux pertinents que vous voudrez surveiller incluent :
- État de la candidature: contient des informations sur les applications installées ou en cours d’exécution sur le système. Si une application tombe en panne, ces journaux peuvent contenir une explication de la panne.
- Journaux de sécurité: ces journaux contiennent des informations sur les processus d’audit et d’authentification du système. Par exemple, si un utilisateur tente de se connecter au système ou d’utiliser les privilèges d’administrateur.
- Journaux système: ces journaux contiennent des informations sur les processus spécifiques à Windows, tels que l’activité du pilote. Toutes les catégories ci-dessus peuvent être rassemblées avec le récepteur d’événements Windows, alors commençons.
Avant que tu commences
Si vous ne disposez pas déjà d’un collecteur OpenTelemetry construit avec le dernier récepteur d’événements Windows installé, vous devrez d’abord le faire. La distribution du collecteur OpenTelemetry que nous utilisons aujourd’hui inclut le récepteur d’événements Windows (et bien d’autres) et peut être installé avec le programme d’installation en ligne ici.
Pour Linux
Pour installer à l’aide du script d’installation, exécutez :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/observiq-otel-collector/releases/latest/download/install_unix.sh)" install_unix.sh
Pour installer directement avec le gestionnaire de packages approprié, rendez-vous ici.
Pour les fenêtres
Pour installer le collecteur sous Windows, exécutez la commande Powershell ci-dessous pour installer le MSI sans interface utilisateur :
msiexec /i "https://github.com/observIQ/observiq-otel-collector/releases/latest/download/observiq-otel-collector.msi" /quiet
Alternativement, pour une installation interactive, téléchargez le dernier MSI. Après avoir téléchargé le MSI, double-cliquez sur le « télécharger pour ouvrir l’assistant d’installation” et suivez les instructions pour configurer et installer le collecteur. Pour plus d’informations sur l’installation, reportez-vous à l’installation sous Windows.
Pour macOS
Pour installer à l’aide du script d’installation, exécutez :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/observiq-otel-collector/releases/latest/download/install_macos.sh)" install_macos.sh
Pour plus d’informations sur l’installation, consultez l’installation sur macOS.
Pour Kubernetes
Pour déployer le collecteur sur Kubernetes, une documentation supplémentaire est disponible sur notre observiq-otel-collector-k8s
dépôt.
Configuration du récepteur d’événements Windows
Maintenant que la distribution est installée, naviguons vers votre fichier de configuration OpenTelemetry. Si vous utilisez le collecteur observIQ, vous le trouverez à l’emplacement suivant :
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml (Windows)
Modifiez le fichier de configuration pour inclure le récepteur d’événements Windows comme indiqué ci-dessous :
receivers:
windowseventlog:
channel: application
Vous pouvez modifier la sortie spécifique en ajoutant/modifiant ce qui suit directement sous le nom et le canal du récepteur :
{
"channel": "Application",
"computer": "computer name",
"event_id":
{
"id": 10,
"qualifiers": 0
},
"keywords": "[Classic]",
"level": "Information",
"message": "Test log",
"opcode": "Info",
"provider":
{
"event_source": "",
"guid": "",
"name": "otel"
},
"record_id": 12345,
"system_time": "2022-04-15T15:28:08.898974100Z",
"task": ""
}
Configuration des champs de journal
Vous pouvez ajuster les champs suivants dans la configuration pour ajuster les types de journaux que vous souhaitez expédier :
Champ | Défaut | Description |
---|---|---|
canaliser | requis | Le canal du journal des événements Windows à surveiller. |
max_reads | 100 | Au premier démarrage, où commencer à lire les journaux à partir de l’API. Les options commencent ou finissent. |
commencer à | fin | Nombre de connexions client (hors connexions depuis les répliques). |
Intervalle de sondage | 1s | L’intervalle auquel le canal est vérifié pour les nouvelles entrées de journal. Ce contrôle recommence après la lecture de tous les nouveaux corps. |
les attributs | {} | Une carte de paires clé : valeur à ajouter aux attributs de l’entrée. |
Ressource | {} | Une carte de paires clé : valeur à ajouter à la ressource de l’entrée. |
les opérateurs | [] | Un éventail d’opérateurs. Voir ci-dessous pour plus de détails : |
convertisseur | { max_flush_count : 100, flush_interval : 100 ms, worker_count : max(1,runtime.NumCPU()/4) } |
Une carte de paires clé:valeur pour configurer le [entry.Entry][entry_link] pour [pdata.LogRecord][pdata_logrecord_link] convertisseur, plus d’informations peuvent être trouvées [here][converter_link] |
Les opérateurs
Chaque opérateur exécute une responsabilité simple, telle que l’analyse d’un horodatage ou JSON. Enchaînez les opérateurs pour traiter les logs au format souhaité :
- Chaque opérateur a un type.
- Chaque opérateur peut recevoir un identifiant unique. Si vous utilisez plusieurs fois le même type d’opérateur dans un pipeline, vous devez spécifier un identifiant. Sinon, l’id prend par défaut la valeur de type.
- Les opérateurs sortiront vers l’opérateur suivant dans le pipeline. Le dernier opérateur du pipeline émettra depuis le récepteur. Facultativement, le paramètre de sortie peut être utilisé pour spécifier l’identifiant d’un autre opérateur auquel les journaux seront transmis directement.
- Seuls les analyseurs et les opérateurs à usage général doivent être utilisés.
Conclusion
Comme vous pouvez le constater, cette distribution simplifie considérablement le travail avec le collecteur OpenTelemetry – avec un programme d’installation sur une seule ligne, des récepteurs intégrés, un exportateur et un pool de processeurs – et vous aidera à implémenter les normes OpenTelemetry partout où cela est nécessaire dans vos systèmes.