docker安装efk

root@elk elfk\]# cat docker-compose.yml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 container_name: elasticsearch volumes: - ./elasticsearch:/usr/share/elasticsearch ports: - "9200:9200" - "9300:9300" restart: always kibana: image: docker.elastic.co/kibana/kibana:7.10.2 container_name: kibana ports: - "5601:5601" volumes: - ./kibana:/usr/share/kibana restart: always filebeat: image: elastic/filebeat:7.10.2 container_name: filebeat1 volumes: - ./filebeat:/usr/share/filebeat restart: always user: root logstash: image: logstash:7.17.20 container_name: logstash volumes: - ./logstash:/usr/share/logstash restart: always > 先直接用docker run启动 不要挂载文件夹 将elasticsearch文件夹docker cp下来修改配置文件 > > 最后用docker-compose启动 > > > 其他程序和上述一样 > > 原因直接建目录挂载会有权限问题,导致启动失败 > > 配置文件 > > \[root@elk elfk\]# cat elasticsearch/config/elasticsearch.yml > > cluster.name: "es-cluster" > > network.host: 0.0.0.0 > > discovery.seed_hosts: \["10.10.66.2","10.10.66.5","10.10.66.6"

node.name: 10.10.66.2

cluster.initial_master_nodes: ["10.10.66.2"]

root@elk elfk\]# cat kibana/config/kibana.yml # # \*\* THIS IS AN AUTO-GENERATED FILE \*\* # # Default Kibana configuration for docker target server.name: kibana server.host: "0.0.0.0" elasticsearch.requestTimeout: 60000 elasticsearch.hosts: \[ "http://10.10.66.2:9200"

monitoring.ui.container.elasticsearch.enabled: true

i18n.locale: "zh-CN"

root@elk elfk\]# 修改后重新启动就可以了

复制代码
[root@elk ansiable]# cat playbook-filebeat.yaml 
---
- name: Transfer file with password authentication
  hosts: host_group  # 替换为你的主机组名称
  gather_facts: yes
  vars:
    ansible_user: "root"
    ansible_password: "Qwe123!!"
  tasks:
    - name: 复制filebeat-start.sh文件到远程主机
      copy:
        src: "/elfk/filebeat-start.sh"
        dest: "/elfk/"
    - name: 复制filebeat.tar文件到远程主机
      copy:
        src: "/elfk/filebeat.tar"
        dest: "/elfk/"
    - name: 复制docker-compose.yml文件到远程主机
      copy:
        src: "/elfk/docker-compose.yml"
        dest: "/elfk/"
    - name: 脚本授权
      command: "chmod 777 /elfk/filebeat-start.sh"
    - name: 执行启动脚本
      command: "/elfk/filebeat-start.sh"
[root@elk ansiable]# cat playbook.yaml
---
- name: Transfer file with password authentication
  hosts: host_group  # 替换为你的主机组名称
  gather_facts: yes
  vars:
    ansible_user: "root"
    ansible_password: "Qwe123!!"
  tasks:
    - name: 复制文件到远程主机
      copy:
        src: "/elfk/{{ item.src }}"
        dest: "/elfk/"
      loop:
        - { src: "filebeat.tar" }
        - { src: "filebeat" }
        - { src: "docker-compose.yml" }

    - name: 修改 filebeat.yml 文件权限
      command: chmod go-w /elfk/filebeat/filebeat.yml
    - name: 重启 Docker 服务
      systemd:
        name: docker
        state: restarted
        enabled: yes

    - name: 载入 Filebeat 镜像并启动容器
      shell: "docker load -i /elfk/filebeat.tar && docker-compose up -d filebeat"
      args:
        executable: /bin/bash
    - name: 载入 Filebeat 镜像
      shell: docker load -i /elfk/filebeat.tar
      args:
        executable: /bin/bash

    - name: 启动 Filebeat 容器
      command: /usr/local/bin/docker-compose -f /elfk/docker-compose.yml up -d filebeat
      args:
        executable: /bin/bash

    - name: 检查容器状态
      docker_container:
        name: filebeat
      register: container_info

    - name: 显示容器状态
      debug:
        var: container_info

[root@elk ansiable]# ll
总用量 12
-rw-r--r-- 1 root root  737 4月  22 23:20 playbook-filebeat.yaml
-rw-r--r-- 1 root root 1295 4月  22 19:51 playbook.yaml
-rw-r--r-- 1 root root  309 4月  22 13:18 playbook.yaml.bak
[root@elk ansiable]# cat playbook.yaml.bak 
---
- name: Transfer file with password authentication
  hosts: host_group  # 替换为你的主机组名称
  gather_facts: yes
  vars:
    ansible_user: root
    ansible_password: Qwe123!!
  tasks:
    - name: Install rsync package
      ansible.builtin.package:
        name: rsync
        state: present
相关推荐
70asunflower12 分钟前
用Docker创建不同的容器类型
运维·docker·容器
2501_9336707914 分钟前
中专学财务,2026年就业方向全解析:从出纳到财务BP的进阶路
运维·服务器
Dovis(誓平步青云)34 分钟前
《滑动窗口算法:从 “暴力遍历” 到 “线性高效” 的思维跃迁》
运维·服务器·数据库·算法
迎仔43 分钟前
05-计算设备运维进阶:算力中心的设备医生
运维
小Pawn爷1 小时前
3.Dockerfile
docker
CodeGolang1 小时前
Docker容器化部署Zabbix监控系统完整指南
docker·容器·zabbix
石去皿1 小时前
【嵌入式就业10】Linux内核深度解析:从启动流程到驱动框架的工业级实践
linux·运维·服务器
Wpa.wk1 小时前
接口自动化 - 多环境统一文件配置 +多响应统一转换处理
运维·服务器·测试工具·自动化·接口自动化·统一配置
Trouvaille ~1 小时前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
是枚小菜鸡儿吖1 小时前
从 0 到 1 生成自定义算子:CANN + AIGC 的自动化工作流
运维·自动化·aigc