简单搭建基于Docker的Elasticsearch、kibana平台收集windows日志

ELK一般是由 Elasticsearch、Logstash和Kibana 三部分组件组成。

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

Logstash 是一个开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用。

Filebeat 是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到 Logstash 或 Elasticsearch。

Winlogbeat将Windows事件日志发送到Elasticsearch或Logstash。可以将其安装为Windows服务。Winlogbeat是Elastic Beat。它基于libbeat框架
Winlogbeat使用Windows API从一个或多个事件日志中读取,根据用户配置的条件过滤事件,然后将事件数据发送到配置的输出(Elasticsearch或Logstash)。Winlogbeat监视事件日志,以便及时发送新的事件数据。每个事件日志的读取位置都保留在磁盘上,以允许Winlogbeat在重新启动后恢复。
Winlogbeat可以从系统上运行的任何事件日志中捕获事件数据。例如,您可以捕获以下事件:

  • 应用事件
  • 硬件事件
  • 安全事件
  • 系统事件
    本文将介绍如何在docker下 搭建Elasticsearch 和 kibana ,然后通过Winlogbeat将 windows用户终端的日志转发到平台进行展示。
    Docker 镜像统一从 https://hub.docker.com/ 下载

一、Docker下安装 Elasticsearch

官网镜像地址:https://hub.docker.com/_/elasticsearch
我使用的版本是 7.7.0,下载镜像 查看镜像:

# 下载镜像 查看镜像
docker pull elasticsearch:7.7.0
docker images

结果如下:
在这里插入图片描述
运行elasticsearch

# 创建自定义的网络(用于连接到连接到同一网络的其他服务
docker network create onenetwork
# 运行 elasticsearch
docker run -d --name elasticsearch --net onenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.7.0
# 查看容器状态
docker ps

结果如下:
在这里插入图片描述
检测 elasticsearch 是否启动成功

# 检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200

结果如下:
简单搭建基于Docker的Elasticsearch、kibana平台收集windows日志_第1张图片
Elasticsearch 安装部署完成

二、Docker 下安装 Kibana

官网镜像地址:https://hub.docker.com/_/kibana
我使用了版本 7.7.0
下载镜像 查看镜像

# 下载镜像 查看镜像
docker pull kibana:7.7.0
docker images

在这里插入图片描述
Kibana使用默认配置,并连接到正在运行的Elasticsearch实例http://localhost:9200

# 运行 Kibana
docker run -d --name kibana7.7 --link elasticsearch7.7:elasticsearch --net onenetwork -p 5601:5601 kibana:7.7.0
# 查看容器启动状态
docker ps

结果如下:
在这里插入图片描述
访问 http://127.0.0.1:5601。结果如下:

简单搭建基于Docker的Elasticsearch、kibana平台收集windows日志_第2张图片
Kibana 安装部署完成

三、客户端 安装winlogbeat

官网镜像地址:
https://www.elastic.co/cn/downloads/beats

可以下载winlogbeat-7.7.0-windows-x86_64.msi的安装包,运行安装包。
简单搭建基于Docker的Elasticsearch、kibana平台收集windows日志_第3张图片
调整配置:
win10_64位配置文件的路径,C:\ProgramData\Elastic\Beats\winlogbeat\winlogbeat.yml ,没有该文件就copy一个模板的配置文件过来。
在该event_logs部分中,指定要监视的事件日志。默认情况下,Winlogbeat设置为监视应用程序,安全性和系统日志

winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System

日志输出默认如下,可以调整为elasticsearch服务器的ip:

output.elasticsearch:
  hosts:
    - localhost:9200

测试配置

  .\winlogbeat.exe test config -c C:\ProgramData\Elastic\Beats\winlogbeat\winlogbeat.yml

配置Kibana仪表板

.\winlogbeat.exe setup --dashboards  -c C:\ProgramData\Elastic\Beats\winlogbeat\winlogbeat.yml

在这里插入图片描述
使用以下命令启动Winlogbeat服务。

Start-Service winlogbeat

可以在services.msc里看到启动的服务
在这里插入图片描述
在C:\ProgramData\Elastic\Beats\winlogbeat\logs下可以看到转发的情况。

打开kibanna,点击discover,就可以看见日志了。(如果看不见会提示Create index pattern,选择winlogbeat-*创建一个就好了)
简单搭建基于Docker的Elasticsearch、kibana平台收集windows日志_第4张图片

你可能感兴趣的:(ELK系列)