Come posso utilizzare Filebeat e Logstash su Amazon Linux per connettermi al Servizio OpenSearch?
Desidero utilizzare Filebeat e Logstash su Amazon Linux per connettermi a un cluster del Servizio OpenSearch di Amazon, ma ricevo un errore.
Risoluzione
Configura le porte di sicurezza
Per connetterti al Servizio OpenSearch utilizzando Logstash, configura le porte di sicurezza in modo da inoltrare i log da Logstash.
Completa i seguenti passaggi:
- Avvia un'istanza Amazon Elastic Compute Cloud (Amazon EC2) per Filebeat, quindi avvia un'altra istanza da cui Logstash invierà i log.
- Verifica che le istanze EC2 si trovino nello stesso gruppo di sicurezza del cloud privato virtuale (VPC) per il Servizio OpenSearch.
- Assicurati che le porte 80, 443 e 5044 nel gruppo di sicurezza siano aperte in modo da poter inviare dati tra Logstash e il Servizio OpenSearch.
Aggiorna le configurazioni di Filebeat, Logstash e OpenSearch Service
È consigliabile utilizzare le versioni di Filebeat e Logstash che corrispondono al Servizio OpenSearch con una versione precedente di Elasticsearch. Utilizza le versioni di Filebeat e Logstash che corrispondono alla versione del dominio.
Ad esempio, se utilizzi la versione Servizio OpenSearch 1.x con modalità di compatibilità, la versione viene riportata come 7.10. Controlla la matrice di compatibilità per scegliere la versione corretta di Filebeat e Logstash. Per ulteriori informazioni, consulta Support matrix (Matrice di supporto) sul sito web Elastic o Compatibility matrices (Matrici di compatibilità) sul sito web OpenSearch.
Se utilizzi la versione 1.0 o successiva del Servizio OpenSearch, attiva la modalità di compatibilità all'avvio del dominio.
Per assicurarti che il software scaricato rimanga sincronizzato, scarica Red Hat Package Managers (RPM) in ogni istanza. Per evitare un singolo punto di errore nella pipeline, non eseguire Filebeat e Logstash nella stessa istanza.
Installa Filebeat nell'istanza EC2 di origine
Per installare Filebeat nell'istanza di origine, completa i seguenti passaggi:
-
Utilizza SSH per connetterti all'istanza che hai avviato per Filebeat.
-
Esegui questo comando per scaricare l'RPM per la versione Filebeat compatibile:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-8.15.2-x86_64.rpm -
Esegui questo comando per installare il file RPM di Filebeat:
rpm -ivh filebeat-oss-8.15.2-x86_64.rpm
Installa e configura Logstash in un'istanza EC2 separata
Completa i seguenti passaggi:
-
Utilizza SSH per connetterti all'istanza che hai avviato per Logstash.
-
Esegui questo comando per scaricare il file RPM di Logstash compatibile:
wget https://artifacts.elastic.co/downloads/logstash/logstash-oss-8.15.2-x86_64.rpm -
Esegui questo comando per installare Java o OpenJDK nell'istanza EC2:
yum install java-1.8.0-*Nota: il comando precedente utilizza la versione 8 di Java (OpenJDK 1.8). Tutte le versioni di Logstash supportano la versione 8 di Java.
-
Esegui questo comando per installare il file RPM di Logstash:
rpm -ivh logstash-oss-8.15.2-x86_64.rpm -
Esegui questo comando per aprire la directory dei dati di Logstash:
cd /usr/share/logstash/ -
Esegui questo comando per installare il plugin Servizio OpenSearch per Logstash:
bin/logstash-plugin install logstash-output-opensearch -
Per verificare l'installazione del plugin per Logstash, esegui questo comando:
bin/logstash-plugin listNota: per Logstash OSS 7.13 e versioni successive, utilizza solo il plugin logstash-output-opensearch. La versione 7.12.1 supporta sia il plugin logstash-output-elasticsearch sia il plugin logstash-output-opensearch.
-
Per verificare l'esistenza delle cartelle di configurazione, controlla le directory /etc/filebeat e /etc/logstash.
-
Per inviare i log tramite Logstash, crea un file di configurazione Filebeat in /etc/filebeat/filebeat.yml.
Esempio di file di configurazione di Filebeat:filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 1 index.codec: best_compression #output.elasticsearch: #hosts: ["your-domain-endpoint"] #protocol: "https" output.logstash: # The Logstash hosts hosts: ["Logstash-EC2-InstanceIP:5044"] setup.ilm.enabled: false ilm.enabled: falseNota: sostituisci Logstash-EC2-InstanceIP:5044 con l'indirizzo IP della tua istanza Logstash e your-domain-endpoint con l'endpoint del tuo dominio. Puoi anche inviare i log direttamente al Servizio OpenSearch. Per ulteriori informazioni, consulta logstash-output-opensearch sul sito web GitHub.
-
Crea un file di configurazione di Logstash in /etc/logstash/conf.d/logstash.conf.
Esempio di file di configurazione di Logstash:
input { beats { port => 5044 } } output { opensearch { hosts => ["https://domain-endpoint:443"] ssl => true index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" user => "my-username" password => "my-password" } }
Nota: sostituisci domain-endpoint, my-username e my-password con i tuoi valori. Per eseguire una prova della connettività all'endpoint del Servizio OpenSearch, esegui questo comando:
curl -XGET https://your-domain-endpoint
Nota: sostituisci your-domain-endpoint con l'endpoint del tuo dominio. (Facoltativo) Se hai attivato il controllo granulare degli accessi (FGAC), esegui questo comando:
curl -u my-username:my-password -XGET https://your-domain-endpoint
Nota: sostituisci your-domain-endpoint con l'endpoint del tuo dominio. Esegui questi comandi per avviare i servizi Filebeat e Logstash:
systemctl start filebeat
systemctl start logstash
- Per verificare che i log di Filebeat siano stati inviati, esegui questo comando curl nel dominio del Servizio OpenSearch:
curl -XGET https://your-domain-endpoint/_cat/indices
Nota: sostituisci your-domain-endpoint con l'endpoint del tuo dominio.
Esempi di output di un indice Filebeat:
green open filebeat-7.16.2-2022.01.27 f97c4WnuQ-CtsAJJaJHUlg 1 1 1511515 0 249.7mb 124.7mb green open .kibana_1 Ioco6fUoSCGkaOvHNCL39g 1 1 1 0 7.4kb 3.7kb
green open filebeat-7.16.2-2022.01.27 f97c4WnuQ-CtsAJJaJHUlg 1 1 1511515 0 249.7mb 124.7mb green open .kibana_1 Ioco6fUoSCGkaOvHNCL39g 1 1 1 0 7.4kb 3.7kb green open filebeat-7.16.2-2022.01.28 4i8W0smlRGGFcQOaDMxonA 1 1 89 0 207.1kb 118.1kb
Se hai configurato correttamente Filebeat, Logstash e OpenSearch Dashboards con Amazon EC2 Linux, la pipeline è simile al seguente esempio:
Filebeat > Logstash > Amazon OpenSearch Service/Dashboards
Risolvi gli errori di installazione 401, 403 e Logstash x-pack
Errore 401 Unauthorized
Se Logstash restituisce un errore "401 Unauthorized", il dominio del Servizio OpenSearch utilizza una delle seguenti funzionalità di sicurezza:
- FGAC
- Autenticazione Amazon Cognito
Per risolvere il problema, aggiungi le credenziali di autenticazione al file di configurazione di Logstash all'indirizzo /etc/logstash/conf.d/logstash.conf.
Esempio di configurazione:
output { opensearch { hosts => ["https://your-domain-endpoint"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" ilm_enabled => false user => "my-username" password => "my-password" } }
Nota: sostituisci your-domain-endpoint, my-username e my-password con i valori del tuo dominio del Servizio OpenSearch.
Errore 403 Forbidden
Se Logstash non ha le autorizzazioni AWS Identity and Access Management (AWS IAM) richieste per accedere al Servizio OpenSearch, si verifica un errore "403 Forbidden".
Per risolvere il problema, completa i seguenti passaggi:
-
Esegui questo comando per installare il plugin Servizio OpenSearch per Logstash:
bin/logstash-plugin install logstash-output-opensearch -
Crea la seguente policy e collegala al ruolo IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttp*" ], "Resource": "[Amazon-OpenSearch-Domain-ARN]" } ] }Nota: sostituisci Amazon-OpenSearch-Domain-ARN con il nome della risorsa Amazon (ARN) del tuo dominio del Servizio OpenSearch.
-
Aggiorna il file di configurazione di Logstash in /etc/logstash/conf.d/logstash.conf.
Esempio di file di configurazione di Logstash:output { opensearch { hosts => ["domain-endpoint"] ssl => true region => "example_region" index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } }Nota: sostituisci domain-endpoint e example-region con i valori del tuo dominio del Servizio OpenSearch.
Errore di installazione di Logstash x-pack
Se Logstash non si avvia a causa di un errore "x-pack plugin", completa i seguenti passaggi:
-
Apri il seguente file di registro:
/usr/share/logstash/logstash-core/lib/logstash/plugins/registry.rb -
Individua la seguente riga di codice:
load_xpack unless LogStash::OSS -
Aggiorna il codice con il seguente esempio:
#load_xpack unless LogStash::OSS -
Per evitare errori di avvio del plugin x-pack, disattiva le impostazioni ILM (Index Life Management) nei file di configurazione:
In Filebeat, configura ilm.enabled: false.
In Logstash, configura ilm_enabled => false.
Informazioni correlate
Caricamento di dati nel Servizio OpenSearch di Amazon con Logstash
- Argomenti
- Analytics
- Lingua
- Italiano
