Kibana server is not ready yet with kibana docker

i had the problem "Kibana server is not ready yet" following the official guide.
Here is information of my install process:

  • docker compose up:
version: '2'
services:
  elasticsearch:
    container_name: es01
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
    volumes:
      - D:/CODE/logs/backend/custom_elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    restart: 'always'
    ports:
      - '9200:9200'
      - '9300:9300'
    environment:
      - discovery.type=single-node
    networks: 
      - elastic
  kibana:
    container_name: kb01
    image: docker.elastic.co/kibana/kibana:7.14.0
    volumes:
      - D:/CODE/logs/backend/kibana.yml:/usr/share/kibana/config/kibana.yml
    restart: 'always'
    ports:
      - 5601:5601
    environment:
      - ELASTICSEARCH_HOSTS=http://localhost:9200
    networks: 
    - elastic
networks:
  elastic:
    driver: bridge
  • custom_elasticsearch.yml:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.type: single-node
xpack.security.enabled: true
  • kibana.yml:
server.host: "0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://localhost:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "kibana_system"
# elasticsearch.password: "d45VQgeoiYdf21dtHx5x"

# xpack.encryptedSavedObjects.encryptionKey: f546e27b72f91e18d4513d933561e897
# xpack.reporting.encryptionKey: 84d63ec43f77cd2ec334e20da6650fb3
# xpack.security.encryptionKey: 53dec353c511e77a36507ba383864272
# server.port: 5601

Setup password auto:

Changed password for user apm_system
PASSWORD apm_system = A9P9Ce73nOzeLg20f9DK

Changed password for user kibana_system
PASSWORD kibana_system = d45VQgeoiYdf21dtHx5x

Changed password for user kibana
PASSWORD kibana = d45VQgeoiYdf21dtHx5x

Changed password for user logstash_system
PASSWORD logstash_system = 8rweN48Ngr0yK9Y7Vwqr

Changed password for user beats_system
PASSWORD beats_system = mhzBpr8SMvcTtVbHhOUG

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = pkc6TdP4oAKrTz1WFXm4

Changed password for user elastic
PASSWORD elastic = EjkhLY57UGcH4bvlJCqT

Add keystone to kibana and restart docker container:

And result I'm still stuck at "Kibana server is not ready yet" while Elasticsearch is still running normally.
Here is logs of kibana:


{"type":"log","@timestamp":"2021-09-30T01:31:35+00:00","tags":["info","http","server","NotReady"],"pid":1214,"message":"http server running at http://0.0.0.0:5601"},
{"type":"log","@timestamp":"2021-09-30T01:31:39+00:00","tags":["info","plugins-system"],"pid":1214,"message":"Setting up [106] plugins: [translations,taskManager,licensing,globalSearch,globalSearchProviders,banners,licenseApiGuard,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetryCollectionXpack,kibanaUsageCollection,securityOss,share,screenshotMode,telemetry,newsfeed,mapsEms,mapsLegacy,legacyExport,kibanaLegacy,embeddable,uiActionsEnhanced,expressions,charts,esUiShared,bfetch,data,savedObjects,visualizations,visTypeXy,visTypeVislib,visTypeTimelion,features,visTypeTagcloud,visTypeTable,visTypePie,visTypeMetric,visTypeMarkdown,tileMap,regionMap,presentationUtil,timelion,home,searchprofiler,painlessLab,grokdebugger,graph,visTypeVega,management,watcher,licenseManagement,indexPatternManagement,advancedSettings,discover,discoverEnhanced,dashboard,dashboardEnhanced,visualize,visTypeTimeseries,savedObjectsManagement,spaces,security,transform,savedObjectsTagging,lens,reporting,canvas,lists,ingestPipelines,fileUpload,maps,dataVisualizer,encryptedSavedObjects,dataEnhanced,timelines,dashboardMode,cloud,upgradeAssistant,snapshotRestore,fleet,indexManagement,rollup,remoteClusters,crossClusterReplication,indexLifecycleManagement,enterpriseSearch,eventLog,actions,alerting,triggersActionsUi,stackAlerts,ruleRegistry,osquery,ml,cases,securitySolution,observability,uptime,infra,monitoring,logstash,console,apmOss,apm]"},
{"type":"log","@timestamp":"2021-09-30T01:31:39+00:00","tags":["info","plugins","taskManager"],"pid":1214,"message":"TaskManager is identified by the Kibana UUID: db1799fa-542a-4af9-ae3e-e42bf2a8565d"},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","security","config"],"pid":1214,"message":"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","security","config"],"pid":1214,"message":"Session cookies will be transmitted over insecure connections. This is not recommended."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","reporting","config"],"pid":1214,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","reporting","config"],"pid":1214,"message":"Chromium sandbox provides an additional layer of protection, but is not supported for Linux CentOS 8.4.2105\n OS. Automatically setting 'xpack.reporting.capture.browser.chromium.disableSandbox: true'."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","encryptedSavedObjects"],"pid":1214,"message":"Saved objects encryption key is not set. This will severely limit Kibana functionality. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","actions","actions"],"pid":1214,"message":"APIs are disabled because the Encrypted Saved Objects plugin is missing encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."},
{"type":"log","@timestamp":"2021-09-30T01:32:01+00:00","tags":["warning","plugins","alerting","plugins","alerting"],"pid":1214,"message":"APIs are disabled because the Encrypted Saved Objects plugin is missing encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."},
{"type":"log","@timestamp":"2021-09-30T01:32:08+00:00","tags":["info","plugins","ruleRegistry"],"pid":1214,"message":"Write is disabled, not installing assets"},
{"type":"log","@timestamp":"2021-09-30T01:32:09+00:00","tags":["info","savedobjects-service"],"pid":1214,"message":"Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations..."},
{"type":"log","@timestamp":"2021-09-30T01:32:12+00:00","tags":["error","savedobjects-service"],"pid":1214,"message":"Unable to retrieve version information from Elasticsearch nodes. connect ECONNREFUSED 127.0.0.1:9200"}

Please help me solve this problem, Thanks!

Welcome to our community! :smiley:

Please don't post pictures of text or code. They are difficult to read, impossible to search and replicate (if it's code), and some people may not be even able to see them :slight_smile:

thanks for reminding me, i edited it, hope you or someone can help me to solve this problem soon.

I don't think that is right, I think you need es01:9200 there instead of localhost

thanks for your help, it's running follow your solution.
i changed:
elasticsearch.hosts: [ "http://es01:9200" ] in kibana.yml
and
- ELASTICSEARCH_HOSTS=http://es01:9200 in docker-compose.yml