La configuration YML du shipper vous permet de personnaliser les paramètres de collecte des données. Cette rubrique décrit les paramètres disponibles dans ces fichiers YML.
Prérequis
Créez un cluster Alibaba Cloud Elasticsearch et activez l'option Auto Indexing. Pour plus d'informations, consultez la rubrique Créer un cluster Alibaba Cloud Elasticsearch.
Par défaut, Alibaba Cloud Elasticsearch désactive l'option Auto Indexing pour des raisons de sécurité. Étant donné que Beats nécessite cette fonctionnalité, vous devez activer l'option Auto Indexing si la sortie du shipper Output est définie sur Elasticsearch. Pour en savoir plus, consultez la rubrique Configurer les paramètres YML.
Alibaba Cloud ne fournit pas de fichiers de configuration distincts pour les nombreux modules de Beats. Pour utiliser un module, ajoutez sa configuration directement au fichier YML principal du shipper correspondant. Par exemple, pour activer le module system dans Metricbeat, ajoutez la configuration suivante au fichier metricbeat.yml.
metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
diskio.include_devices: []
period: 1s
Configuration de Filebeat
Dans le fichier filebeat.yml, utilisez filebeat.inputs pour définir vos sources d'entrée. L'exemple suivant illustre une configuration d'entrée de base.
#========================== Filebeat inputs ================================
filebeat.inputs:
# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.
- type: log
# Change to true to enable this input configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /opt/test/logs/t1.log
- /opt/test/logs/t2/*
fields:
alilogtype: usercenter_serverlog
#- c:\programdata\elasticsearch\logs\*
filebeat.inputs:
- type: log
enabled:true
paths:
- /opt/test/logs/t1.log
- /opt/test/logs/t2/*
fields:
alilogtype: usercenter_serverlog
Si vous avez spécifié la sortie du shipper Output lors de la collecte des journaux de service ECS à l'aide de Filebeat, ne configurez pas la sortie séparément dans la section Shipper YML Configuration. Dans le cas contraire, l'installation du shipper ECS échouera.
Chaque source d'entrée commence par un tiret (
-). Pour plusieurs sources, faites précéder chaque source supplémentaire d'un tiret (-).
| Paramètre | Description |
type |
Le type d'entrée. La valeur par défaut est log. Les autres valeurs prises en charge incluent stdin, redis, tcp et syslog. |
paths |
Les journaux à surveiller. Vous pouvez spécifier un fichier, tel que /log/nginx.log, ou un répertoire, tel que log/*. Les fichiers ou répertoires spécifiés sont mappés vers un répertoire Docker.Important Pour spécifier un répertoire, vous devez utiliser un motif générique tel que /*. Assurez-vous que les types de fichiers dans le répertoire sont cohérents avec le type de collecte. |
enabled |
Indique si la configuration est activée :
|
fields |
Spécifie les champs facultatifs à ajouter à la sortie. Indentez les champs que vous souhaitez ajouter de deux espaces sous ce paramètre. Par exemple, si vous définissez ce paramètre sur alilogtype: usercenter_serverlog, ce champ est ajouté à chaque entrée de journal pour identifier la source du journal. Logstash peut ensuite utiliser ce champ pour classer et traiter les journaux. |
Pour plus de détails, consultez la documentation officielle sur l'entrée Log.
Configuration de Metricbeat
Metricbeat est un shipper léger qui envoie diverses statistiques système et de service. Dans le fichier metricbeat.yml, spécifiez metricbeat.modules pour configurer les paramètres du module.
#========================== Modules configuration ============================
metricbeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
# Set to true to enable config reloading
reload.enabled: false
metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
enabled: true
hosts: ["http://XX.XX.XX.XX/"]
period: 10s
fields:
dc: west
tags: ["tag"]
# Period on which files under path should be checked for changes
#reload.period: 10s
metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
enabled: true
hosts: ["http://XX.XX.XX.XX/"]
period: 10s
fields:
dc: west
tags: ["tag"]
Si vous avez spécifié la sortie du shipper Output lors de la collecte des métriques ECS avec Metricbeat, ne configurez pas la sortie séparément dans la section Shipper YML Configuration. Dans le cas contraire, l'installation du shipper ECS échouera.
| Paramètre | Description |
module |
Le nom du module à exécuter. Pour obtenir des informations sur les modules pris en charge et leurs descriptions, consultez la page Modules. |
metricsets |
Une liste des ensembles de métriques (metricsets) à exécuter. Pour plus d'informations sur les ensembles de métriques, consultez la page Modules. |
enabled |
Indique si cette configuration est activée. true signifie que la configuration est activée, tandis que false signifie qu'elle est désactivée. |
period |
La fréquence d'exécution des ensembles de métriques. Si un système surveillé est inaccessible, Metricbeat renvoie une erreur pour cette période de collecte. |
hosts |
Facultatif. Liste des hôtes à partir desquels récupérer les informations. |
fields |
Champs facultatifs à envoyer avec les événements des ensembles de métriques. |
tags |
Facultatif. Liste des tags à envoyer avec chaque événement d'ensemble de métriques. |
Pour plus de détails, consultez la documentation officielle de Metricbeat.
Configuration de Heartbeat
Heartbeat est un shipper léger que vous installez sur un serveur distant pour vérifier périodiquement la disponibilité des services. Contrairement à Metricbeat, qui signale si un service est en cours d'exécution, Heartbeat vérifie si le service est accessible.
Dans le fichier heartbeat.yml, spécifiez heartbeat.monitors pour définir les services à surveiller.
La configuration principale de Heartbeat consiste à définir les services à surveiller. Pour assurer une haute disponibilité, nous recommandons de déployer Heartbeat sur au moins deux instances ECS.
# Define a directory to load monitor definitions from. Definitions take the form
# of individual yaml files.
heartbeat.config.monitors:
# Directory + glob pattern to search for configuration files
path: ${path.config}/monitors.d/*.yml
# If enabled, heartbeat will periodically check the config.monitors path for changes
reload.enabled: false
# How often to check for changes
reload.period: 5s
# Configure monitors inline
heartbeat.monitors:
- type: http
name: ecs_monitor
enabled: true
urls: ["http://localhost:9200"]
schedule: '@every 5s'
fields:
dc: west
#- type: http
heartbeat.monitors:
- type: http
name: ecs_monitor
enabled: true
urls: ["http://localhost:9200"]
schedule: '@every 5s'
fields:
dc: west
Si vous avez spécifié la sortie du shipper Output lors de la surveillance des services ECS avec Heartbeat, ne configurez pas la sortie séparément dans la section Shipper YML Configuration. Dans le cas contraire, l'installation du shipper ECS échouera.
| Paramètre | Description |
type |
Le type de moniteur. Valeurs valides : icmp, tcp et http. |
name |
Le nom du moniteur. Cette valeur apparaît sous le champ monitor dans Champs exportés en tant que nom de tâche (job name). Le champ type est utilisé comme type de tâche. |
enabled |
Indique si cette configuration est activée. true signifie que la configuration est activée, tandis que false signifie qu'elle est désactivée. |
urls |
Facultatif. Liste des serveurs auxquels se connecter. |
schedule |
La planification de la tâche. Par exemple, @every 5s exécute la tâche toutes les 5 secondes après le démarrage de Heartbeat. Une expression cron telle que */5 * * * * * * exécute également la tâche toutes les 5 secondes. |
fields |
Champs facultatifs à ajouter à la sortie. |
Pour plus de détails, consultez la documentation officielle de Heartbeat.
Configuration d'Auditbeat
Auditbeat est un shipper léger qui collecte les données d'audit à partir du framework d'audit Linux et surveille l'intégrité des fichiers. Il peut combiner les messages connexes en événements uniques et structurer les données pour analyse. Il s'intègre également parfaitement à Logstash, Elasticsearch et Kibana.
Auditbeat dépend du framework d'audit Linux et nécessite une version du noyau Linux 3.14 ou ultérieure. Assurez-vous que le service Auditd est arrêté (vérifiez son statut en exécutant service auditd status).
Dans le fichier auditbeat.yml, utilisez la section auditbeat.modules pour configurer le shipper Auditbeat. Le fichier auditbeat.yml contient les configurations des modules et les paramètres de sortie. Activez un module en ajoutant ses paramètres au fichier auditbeat.yml. L'exemple suivant montre les configurations des modules auditd et file_integrity.
auditbeat.modules:
- module: auditd
audit_rules: |
-w /etc/passwd -p wa -k identity
-a always,exit -F arch=b32 -S open,create,truncate,ftruncate,openat,open_by_handle_at -F exit=-EPERM -k access
- module: file_integrity
paths:
- /bin
- /usr/bin
- /sbin
- /usr/sbin
- /etc
Si vous avez spécifié la sortie du shipper Output lors de la collecte des données d'audit ECS avec Auditbeat, ne configurez pas la sortie séparément dans la section Shipper YML Configuration. Dans le cas contraire, l'installation du shipper ECS échouera.
Pour plus d'informations sur la configuration du fichier auditbeat.yml, consultez la documentation officielle d'Auditbeat. Pour savoir comment configurer chaque module, consultez la page Modules.