genox-wang / docker-elk-example

58 stars 28 forks source link
elasticsearch elk metricbeat x-pack

Docker ELK Example

简介

快速创建ELK metricbeat x-pack学习环境

目标

准备工具

本地编译安装

$ git clone "https://github.com/wilfordw/docker-elk-example.git"
$ cd docker-elk-example
$ docker-compose up -d

DaoCloud Stack 自动化部署

开发测试阶段暂不提供 stack 脚本更新,包装完会整体更新

$ git clone "https://github.com/wilfordw/docker-elk-example.git"
$ cd docker-elk-example
$ pwd

把 dao-docker-compose.yml 内容复制进 Stack 的 YAML, 把上面克隆项目的 pwd 替换里面的 /root/app/docker-elk/, 点击部署就可以

想要自己创建镜像也可以,把你创建好的镜像地址替换 yml 里的 image

注意事项

Metricbeat

Metricbeat System 监听 无法在 MacOS 或者 Win 上使用, 请关闭(进入 ./metricbeat/modules.d, 修改 system.ymlsystem.yml.disabled)

Logstash

Logstash 默认使用 x-pack 监听特性,在 kibana 编辑已注册 pipeline ID 的 pipeline。 ( 编辑位置 Kibana > Management > Pipelines ),初始化后必须先添加一个 pipeline 要不 Logstash 无法正常工作

Logstash 要恢复默认配置,请修改

./logstash/conf/pipeline

- pipeline.id: main
   path.config: "/usr/share/logstash/pipeline"

./logstash/conf/logstash.yml

#xpack.management.enabled: true
#xpack.management.elasticsearch.url: "http://elasticsearch:9200/"
#xpack.management.elasticsearch.username: elastic
#xpack.management.elasticsearch.password: "123456"
#xpack.management.logstash.poll_interval: 5s
#xpack.management.pipeline.id: ["var.log.system","main"]

可以在 ./logstash/pipeline 目录下新增自己的管道

初始账户

初始账号 elastic 密码 123456 修改密码在 docker-compose.yml 里修改 ELASTIC_PASSWORD: 123456, 其他账号密码可在 kibana 里修改 *初始密码修改后请同步修改 ./metricbeat/metricbeat.yml


output.elasticsearch:

...

username: "elastic" password: ""



### Change List

- v1.1.1
  - 修复 redis 崩溃 bug

- v1.1.0
  - 暂时去除 DaoCloud Stack 脚本更新,专注 docker-compose
  - 新增 mariadb 监控支持
  - 新增 redis 监控支持
  - 新增 mariadb 慢查询日志分析
  - 恢复 logstash 默认设置,不再使用 x-pack management。

- v1.0.3
  - 去除 DaoCloud Stack 脚本 image 版本依赖 (默认 latest)

- v1.0.2
  - 新增 DaoCloud Stack 集成部署支持
  - nginx 监控

- v1.0.1

  - Kibana + Logstash + ElasticSearch + X-pack + Metricbeat docker-compose 构建 
  - metricbeat 实现系统监控

### TODO

- Metricbeat NodeJs 监听
- Metricbeat Golang 监听
- Metricbeat Kubernetes 监听
- X-pack 权限解析
- ELK 集群
- 新增 filebeat 支持