refs #1666 fix opensearch datarsource import in grafana

oglog-script
Luis Gerardo Romero Garcia 2025-04-27 18:25:44 +02:00
parent 8ed0c65544
commit 8e699661fa
3 changed files with 26 additions and 5 deletions

View File

@ -11,11 +11,11 @@ datasources:
secureJsonData:
basicAuthPassword: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
tlsCACert: |
${TLS_CA_CERT}}
${TLS_CA_CERT}
tlsClientCert: |
${TLS_CLIENT_CERT}}
${TLS_CLIENT_CERT}
tlsClientKey: |
${TLS_CLIENT_KEY}}
${TLS_CLIENT_KEY}
jsonData:
serverName: "oglog-os.${SUBDOMAIN}"
tlsAuth: true

View File

@ -14,7 +14,7 @@ output.elasticsearch:
protocol: "https"
ssl.enabled: true
ssl.verification_mode: full
ssl.certificate: "/etc/journalbeat/oglog-jb.{SUBDOMAIN}.crt.pem"
ssl.certificate: "/etc/journalbeat/oglog-jb.${SUBDOMAIN}.crt.pem"
ssl.key: "/etc/journalbeat/oglog-jb.${SUBDOMAIN}.key.pem"
processors:

View File

@ -204,13 +204,16 @@ curl -sS --connect-timeout 30 --max-time 120 --retry 3 \
log "Error: Fallo al descargar el dashboard"
exit 1
}
grafana-cli plugins install grafana-opensearch-datasource
# Declarar variables para envsubst
export TLS_CA_CERT=$(cat "$CA_DIR/certs/ca.crt.pem" | sed ':a;N;$!ba;s/\n/\\n/g')
export TLS_CLIENT_CERT=$(cat "$CA_DIR/certs/$(get_cert_name os).crt.pem" | sed ':a;N;$!ba;s/\n/\\n/g')
export TLS_CLIENT_KEY=$(cat "$CA_DIR/private/$(get_cert_name os).key.nopass.pem" | sed ':a;N;$!ba;s/\n/\\n/g')
# Copiar configuración adicional para Grafana
log "Copiando configuración adicional para Grafana..."
# log "Copiando configuración adicional para Grafana..."
additional_file="grafana/provisioning/datasources/opensearch.yaml"
src="$base_dir/etc/$additional_file"
dest="/etc/$additional_file"
@ -261,6 +264,24 @@ curl -X POST "https://oglog-os.${SUBDOMAIN}:9200/.kibana/_doc/index-pattern:jour
"timeFieldName": "@timestamp"
}
}'
# Crea un indice vacío para filebeat para que no se llene la pagina opensearch dashboard de errores
curl -X PUT "https://oglog-os.${SUBDOMAIN}:9200/filebeat-000001" \
--cacert /etc/systemd/ca.crt.pem \
--cert "/etc/opensearch/$(get_cert_name os).crt.pem" \
--key "/etc/opensearch/$(get_cert_name os).key.pem" \
-u "admin:$OPENSEARCH_INITIAL_ADMIN_PASSWORD" \
-H 'Content-Type: application/json' \
-d '{
"mappings": {
"properties": {
"@timestamp": { "type": "date" },
"message": { "type": "text" }
}
}
}'
echo "Importar pipelines de ingestión de OpenSearch"
jq -c 'to_entries[]' "$base_dir/etc/opensearch/pipelines.json" | while read -r entry; do