设置ELK集群账号密码

一、设置ELK集群账号密码

  1. 切换到es用户

  2. 主节点生成证书

    cd /home/es/elasticsearch-7.6.2/bin
    ./elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" 
    
  3. 将主节点证书发给其他两个节点

  4. 修改配置文件,启用x-pack:cat /home/es/elasticsearch-7.6.2/config/elasticsearch.yml

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    
  5. 三台服务器重启elasticsearch:./elasticsearch -d

  6. 设置密码,可以都设置成一样的:./elasticsearch-setup-passwords interactive -->ffcsict123
    在这里插入图片描述

  7. 测试登录:http://192.168.248.10:9200/,账号/密码:elastic/ffcsict123
    在这里插入图片描述

  8. 修改kibana配置,末尾添加:vi /home/es/kibana-7.6.2-linux-x86_64/config/kibana.yml

    elasticsearch.username: "elastic"
    elasticsearch.password: "ffcsict123"
    
  9. 修改logstash配置:vi /home/es/logstash-7.6.2/config/logstash.yml

    xpack.monitoring.enabled: true
    xpack.monitoring.elasticsearch.username: elastic
    xpack.monitoring.elasticsearch.password: ffcsict123
    xpack.monitoring.elasticsearch.hosts: ["http://127.0.0.1:9200"]
    
  10. 修改logstash日志配置

    output {
      if [fields][filetype] == "testlog-log" {
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "testlog-%{+YYYY.MM.dd}"
        user => "elastic"
        password => "ffcsict123"
       }
      } else if [fields][filetype] == "jar-log"{
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "jar-%{+YYYY.MM.dd}"
        user => "elastic"
        password => "ffcsict123"
       }
      }else {
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "hdfs-%{+YYYY.MM.dd}"
        user => "elastic"
        password => "ffcsict123"
       }
      }
    }
    
    
  11. 启动logstash:nohup /home/es/logstash-7.6.2/bin/logstash -f /home/es/logstash-7.6.2/config/logstash-sample.conf &

  12. 启动kibana:nohup /home/es/kibana-7.6.2-linux-x86_64/bin/kibana &

  13. 启动filebeat:nohup /home/es/filebeat-7.6.2-linux-x86_64/filebeat -e -c /home/es/filebeat-7.6.2-linux-x86_64/filebeat.yml &

  14. 访问kibana
    在这里插入图片描述

  15. 修改logstash的jar-log类型对应的日志路径的日志,然后刷新kibana,如果日志正常显示则说明成功

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /home/es/testlog-log/*.log
      fields:     
        filetype: testlog-log
    - type: log
      enabled: true
      paths:
        - /home/es/jar-log/*.log
      fields:     
        filetype: jar-log
    

在这里插入图片描述

二、java api设置账号密码连接

 /**
     * 获取es连接
     *
     * @return
     */
    public static RestHighLevelClient getEsHighInit() {

        // 创建凭据提供程序
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(esUsername, esPassword));


        RestClientBuilder http = RestClient.builder(new HttpHost(ip, Integer.parseInt(port), "http"))
                .setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
                    @Override
                    public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                        requestConfigBuilder.setConnectTimeout(700000);
                        requestConfigBuilder.setSocketTimeout(600000);
                        requestConfigBuilder.setConnectionRequestTimeout(100000);
                        return requestConfigBuilder;
                    }
                }).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                    @Override
                    public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                        return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                    }
                });;
        return new RestHighLevelClient(http);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!关于Docker ELK集群,我可以为你提供一些基本信息。ELK是指Elasticsearch、Logstash和Kibana,这是一个用于日志管理和分析的开源堆栈。在Docker中部署ELK集群可以提供灵活性和可伸缩性。 首先,你需要准备一个Docker环境,并确保已经安装了Docker和Docker Compose。接下来,你可以创建一个Docker Compose文件,用于定义ELK集群的配置。 以下是一个示例的Docker Compose文件: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 environment: - discovery.type=single-node - node.name=node1 ports: - 9200:9200 volumes: - esdata:/usr/share/elasticsearch/data logstash: image: docker.elastic.co/logstash/logstash:7.14.0 volumes: - ./logstash/config:/usr/share/logstash/config - ./logstash/pipeline:/usr/share/logstash/pipeline depends_on: - elasticsearch kibana: image: docker.elastic.co/kibana/kibana:7.14.0 ports: - 5601:5601 depends_on: - elasticsearch volumes: esdata: ``` 在该示例中,我们定义了三个服务:`elasticsearch`、`logstash`和`kibana`。`elasticsearch`服务使用官方提供的Elasticsearch镜像,并暴露9200端口用于访问Elasticsearch。`logstash`服务使用官方提供的Logstash镜像,并挂载了配置文件和管道文件。`kibana`服务使用官方提供的Kibana镜像,并暴露5601端口用于访问Kibana。 在你的Docker Compose文件所在目录中,运行以下命令启动ELK集群: ``` docker-compose up -d ``` 这将会启动ELK集群,并将其运行在后台。 请注意,以上仅是一个基本的示例,你可能需要根据你的需求进行修改和扩展。此外,为了构建一个可靠和可扩展的ELK集群,你可能还需要考虑使用Docker Swarm或Kubernetes等容器编排工具。 希望这能对你有所帮助!如果你有任何其他问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值