Details
-
Improvement
-
Status: Resolved
-
Not specified
-
Resolution: Fixed
-
None
-
None
Description
##The kibana component can be customized by modifying helm chart values here.
kibana:
enabled: true
description: "HPCC Managed Kibana"
##See https://github.com/elastic/helm-charts/blob/master/kibana/values.yaml for all available options
labels: {"managedby" : "HPCC"}
-
- Allows you to add any config files in /usr/share/kibana/config/
- such as kibana.yml
#kibanaConfig: {}
- kibana.yml: |
- key:
- nestedkey: value
service:
type: "LoadBalancer"
annotations:
#We want to expose Kibana's UI via link on ECLWATCH...
#Kibana's default back-end FQDN: http://<releasename>-kibana.default.svc.cluster.local:5601
#Exact back-end and/or front-end FQDN should be determined using k8s API, not static info in annotations
#Required
hpcc.eclwatch.io/enabled: "true"
#Optional but informative
hpcc.eclwatch.io/description: "Provides log management for HPCC component logs"
hpcc.eclwatch.io/label : "HPCC Logs on Kibana"
#Optional if targeting custom Kibana UI (different than service defined in this yaml)
#"hpcc.eclwatch.io/protocol"
#"hpcc.eclwatch.io/host"
#"hpcc.eclwatch.io/port"
#Routes landing page to Kibana's discover section
hpcc.eclwatch.io/path: "/app/discover"
- This annotation delcares the Azure load balancer for the service as internal rather than internet-visible
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
- Enable appropriate annotation for target cloud provider to ensure Kibana access is internal
#
#service.beta.kubernetes.io/cce-load-balancer-internal-vpc: "true"
#cloud.google.com/load-balancer-type: "Internal"
#service.beta.kubernetes.io/aws-load-balancer-internal: "true"
#service.beta.kubernetes.io/openstack-internal-load-balancer: "true"
extraEnvs:
- name: WAIT_ES_READY_IN_SEC
value: "100"
lifecycle:
postStart:
exec:
command: - bash
- -c
KIBANA_URL=http://localhost:5601
ES_URL=http://localhost:9200
[ -z ${WAIT_ES_READY_IN_SEC} ] && WAIT_ES_READY_IN_SEC=100
END_TIME=$(expr $(date +%s) + ${WAIT_ES_READY_IN_SEC})
while [[ "$(curl -s -o /dev/null -w '%{http_code}\n' $KIBANA_URL)" != "200" ]]; do
echo "\nES not ready..."
[ $(date +%s) -ge ${END_TIME} ] && break
sleep 1
done
curl -f -X POST -H "Content-Type: application/json" -H "kbn-xsrf: xsrffiller" "$KIBANA_URL/api/saved_objects/index-pattern/hpcc-filebeat*" \
-d'{ "attributes":{"title":"filebeat*","timeFieldName":"@timestamp"}}'