本文主要接口在docker安装ELK并监控log文件
1. 本地安装Docker
1.1 安装docker软件包
我在windows上面安装的docker,其他系统安装和配置步骤类似,软件包获取地址:
1 | # docker的windows版本下载地址 |
注:这里需要需要注意的一点就是windows上面安装对windows的版本有一定的要求,必须是专业版。
1.2 配置docker
1.2.1. 配置镜像仓库地址
docker官方的镜像仓库在国内的下载速度很慢,达不到个人宽带的上线,所以这里需要配置一个国内的镜像仓库,像阿里云,网易的都有,我这里就用我自己的阿里云镜像仓库
1.2.2 配置共享文件(linux不需要)
因为软件运行的时候总会有一些有状态的配置换数据文件,有了这个共享目录就可以将静态的配置文件和数据文件放在里,通过加载数据卷的形式在docker里面访问。
1.2.3 重启电脑,
右下角任务栏就会出现一个docker图标,说明docker已经安装成功
打开windows的cmd控制台,输入docker version查看docker版本
2. 拉取镜像
打开Windows的cmd控制台,依次输入如下命令,并等待镜像下载完成
1 | # 拉取es镜像 |
在以上命令执行完毕后,输入docker images查看已经拉取的镜像文件:
3. 安装并执行Elasticsearch
在Windows的cmd控制台输入如下命令进行ES的安装:
1 | docker run -d --name elasticsearch --net elk_network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1 |
如果在docker的面板上面看到elasticsearch正在运行表示ES已经按的成功:
通过访问:localhost:9200可以查看es的运行状态
4. 安装并执行Kibana
在Windows的cmd控制台输入如下命令进行Kibana的安装
1 | docker run -d --name kibana --net elk_network -p 5601:5601 kibana:7.1.1 |
访问:localhost:5601如果出现kibana的管理页面说明已经安装成功
5. 安装并执行logstash
5.1 增加本地logstash配置文件
在共享文件下面新建如下目录结构:
1 | logstash |
其中logstash.yml的文件内容如下:
1 | path.config: /usr/share/logstash/conf.d/beat.conf |
beat.conf文件内容如下
1 | input { |
5.2 执行logstash的安装命令
注:其中有两个加载卷,映射到上一部新增的配置件
1 | docker run -it -d -p 5044:5044 --name logstash --net elk_network \ |
6. 安装并执行Filebeat
6.1 配置filebeat文件
1 | filebeat |
filebeat.docker.yml文件的内容
1 | =========================== Filebeat inputs ============================= |
6.2 执行filebeat安装命令
1 | docker run --name filebeat --user=root -d --net elk_network \ |
7. 验证效果
按照上述步骤进行安装后,可以发现docker的容器面板会出现很多正在运行的容器:
根据如下提示可以过滤出我们记录在日志文件中的内容
本地修改filebeat目录中的test.log文件,保存,然后刷新kibana就会发现我们新增的内容出现在message的搜索结果中