Docker ELK 监控日志(附yml)

目录

一  安装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

Docker ELK 监控日志(附yml)_第1张图片

 

你可能感兴趣的:(docker,elk,运维)