Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to setup kibana user credentials with docker elk stack

How to setup login credentials for kibana gui with docker elk stack containers.

What arguments and environmental variables must be passed in docker-compose.yaml file to get this working.

like image 752
James Taylor Avatar asked Mar 20 '19 09:03

James Taylor


People also ask

How do I create a username and password for Kibana?

Start by launching Kibana, then log in. Use the passwords you used when setting up. Once logged in, select the Kibana Dock and navigate to Stack Management and the security section. Now, navigate to users and click on “create user.” When creating a user, Kibana will ask you to assign a role.

How do I find my Kibana username and password?

If you are running Kibana locally, go to https://localhost:5601 to view the login page. The password for the built-in elastic user is typically set as part of the security configuration process on Elasticsearch. For more information, see Built-in users.


1 Answers

For setting kibana user credentials for docker elk stack, we have to set xpack.security.enabled: true either in elasticsearch.yml or pass this as a environment variable in docker-compose.yml file.

Pass username & password as environment variable in docker-compose.yml like below:

version: '3.3'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
    ports:
      - "9200:9200"
      - "9300:9300"
    configs:
      - source: elastic_config
        target: /usr/share/elasticsearch/config/elasticsearch.yml
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
      ELASTIC_USERNAME: "elastic"
      ELASTIC_PASSWORD: "MyPw123"
      http.cors.enabled: "true"
      http.cors.allow-origin: "*"
      xpack.security.enabled: "true"
    networks:
      - elk
    deploy:
      mode: replicated
      replicas: 1

  logstash:
    image: docker.elastic.co/logstash/logstash:6.6.1
    ports:
      - "5044:5044"
      - "9600:9600"
    configs:
      - source: logstash_config
        target: /usr/share/logstash/config/logstash.yml:rw
      - source: logstash_pipeline
        target: /usr/share/logstash/pipeline/logstash.conf
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
      xpack.monitoring.elasticsearch.url: "elasticsearch:9200"
      xpack.monitoring.elasticsearch.username: "elastic"
      xpack.monitoring.elasticsearch.password: "MyPw123"
    networks:
      - elk
    deploy:
      mode: replicated
      replicas: 1

  kibana:
    image: docker.elastic.co/kibana/kibana:6.6.1
    ports:
      - "5601:5601"
    configs:
      - source: kibana_config
        target: /usr/share/kibana/config/kibana.yml
    networks:
      - elk
    deploy:
      mode: replicated
      replicas: 1

configs:
  elastic_config:
    file: ./elasticsearch/config/elasticsearch.yml
  logstash_config:
    file: ./logstash/config/logstash.yml
  logstash_pipeline:
    file: ./logstash/pipeline/logstash.conf
  kibana_config:
    file: ./kibana/config/kibana.yml

networks:
  elk:
    driver: overlay

Then add this following lines to kibana.yml:

elasticsearch.username: "elastic"
elasticsearch.password: "MyPw123" 
like image 192
James Taylor Avatar answered Oct 02 '22 16:10

James Taylor