目录
一 安装docker-commpose
二 编写yml文件
2.1 docker配置文件
2.2 filebeat配置文件
2.3 kibana配置文件
三 运行启动
四 打开kibana
一 安装docker-commpose
可以看我之前的docker文章
二 编写yml文件
2.1 docker配置文件
使用的7.17.9版本 ,请保持保证版本一至,ES8.X以上版本需要验证,配置不相同,如需要可以需要添加验证
- 创建es01 es02 filebeat kibana 容器
version: '2.2' services: es01: image: elasticsearch:7.17.9 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic restart: always es02: image: elasticsearch:7.17.9 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data networks: - elastic restart: always kibana: depends_on: - es01 container_name: kibana image: kibana:7.17.9 ulimits: memlock: soft: -1 hard: -1 volumes: - /root/docker-elk/kibana.yml:/usr/share/kibana/config/kibana.yml - data02:/usr/share/kibana/data ports: - 5601:5601 environment: - SERVER_NAME=kibana # - ELASTICSEARCH_HOSTS= '["http://es01:9200","http://es02:9200","http://es03:9200"]' # - xpack.monitoring.ui.container.elasticsearch.enabled:true networks: - elastic mem_limit: 2G restart: always filebeat: # depends_on: # - es01 # - es02 # - es03 image: filebeat:7.17.9 user: root container_name: filebeat volumes: - /var/log/audit/audit.log:/message.log - /root/docker-elk/filebeat.yml:/usr/share/filebeat/filebeat.yml networks: - elastic restart: always volumes: data01: driver: local data02: driver: local networks: elastic: driver: bridge
2.2 filebeat配置文件
filebeat.inputs: - type: filestream id: my-audit-id paths: - /message.log ##与docker文件中需要监控的日志对应 tags: ["audia"] include_lines: ['key="ko"', 'type=CWD', 'type=PATH'] ##只选择有type=CWD ... 的文件 output.elasticsearch: hosts: ["es01:9200","es02:9200"] indices: - index: "Audit-%{+yyy.MM.dd}" when.contains: tags: "audia" #设置索引名称 setup.template.name: "audit-yingji" ##设置索引匹配模式 setup.template.pattern: "audit-yingji*" ##警用索引生命周期管理 setup.ilm.enabled: false ##覆盖已有的索引模板 setup.template.overwrite: false setup.template.settings: index.number_of_shards: 2 index.number_of_replicas: 1
2.3 kibana配置文件
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: ["http://es01:9200"] monitoring.ui.container.elasticsearch.enabled: true #il8n.locale: "zh-CN" i18n.locale: "zh-CN" ##设置中文
三 运行启动
docker—commpose up -d ##我是启动后 es01 和 es02 一直重启 查看容器日志 docker logs es01
ES启动时出现异常,报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#修改文件 vim /etc/sysctl.conf #添加参数 ... vm.max_map_count = 262144 #重新加载/etc/sysctl.conf配置 sysctl -p 立即生效
四 打开kibana