Observability
Fluent Bit
If you don't have your own logging system:
-
Create namespace:
kubectl create ns fluentbit -
Copy Elasticsearch credentials:
kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | sed '/namespace:/d' | kubectl apply -n fluentbit -f - -
Install Fluent Bit:
helm upgrade --install fluent-bit fluent-bit/. \
-n fluentbit \
--values fluent-bit/values.yaml \
--wait --timeout 900s \
--dependency-update -
Configure
codemie_infra_logs*index in Kibana
Kibana
-
Configure domain in
kibana/values-aws.yaml(replace%%DOMAIN%%) -
Create encryption keys secret:
kubectl create secret generic "kibana-encryption-keys" \
--namespace="elastic" \
--from-literal=encryptedSavedObjects.encryptionKey="$(openssl rand -hex 16)" \
--from-literal=reporting.encryptionKey="$(openssl rand -hex 16)" \
--from-literal=security.encryptionKey="$(openssl rand -hex 16)" \
--type=Opaque -
Install Kibana:
helm upgrade --install kibana kibana/. \
-n elastic \
--values kibana/values-aws.yaml \
--wait --timeout 900s \
--dependency-update
Access Kibana at: https://kibana.<your-domain>
Kibana Dashboards
Install custom dashboards for metrics and monitoring.
With manual authentication:
bash ./kibana-dashboards/manage-kibana-dashboards.sh --url "https://kibana.<your-domain>"
With Kubernetes secret authentication (recommended):
bash ./kibana-dashboards/manage-kibana-dashboards.sh --url "https://kibana.<your-domain>" --k8s-auth --non-interactive
This uses the elasticsearch-master-credentials secret from the elastic namespace by default.
For more information and additional options, use:
bash ./kibana-dashboards/manage-kibana-dashboards.sh --help
Next Steps
After all components are installed, proceed to Post-Installation Configuration to complete required setup steps.