【ELK服务搭建】

发布于:2025-06-19 ⋅ 阅读:(18) ⋅ 点赞:(0)

Ubuntu 20.04环境下部署Elastic Stack 8.18日志系统完整指南

一、环境准备

系统要求

  • Ubuntu 20.04 LTS
  • 硬件配置:4核CPU / 8GB内存 / 100GB硬盘
  • 网络:需外网访问权限

1. 基础环境配置

首先安装SSH服务以便远程管理:

# 更新软件源  
apt update  

# 安装SSH服务  
apt install openssh-server  

二、Docker与1Panel安装

1. 安装Docker

# 使用脚本安装Docker  
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)  

2. 配置Docker国内镜像源

操作步骤

  1. 编辑配置文件:sudo vim /etc/docker/daemon.json
  2. 写入以下内容:
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.xuanyuan.me"
    ]
}
  1. 重启Docker服务:systemctl restart docker

3. 安装1Panel面板

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh  

三、Elasticsearch部署

1. 通过1Panel部署

  1. 访问1Panel面板:http://服务器IP:9000
  2. 在应用商店搜索"Elasticsearch"并安装

2. 查看初始密码

docker exec -it elasticsearch bin/elasticsearch-reset-password -u elastic  

3. 修改密码(交互式)

# 进入容器  
docker exec -it elasticsearch bash  

# 执行密码重置  
./bin/elasticsearch-setup-passwords interactive  

四、Kibana部署

1. 拉取镜像

docker pull docker.elastic.co/kibana/kibana:8.18.1  

2. 运行容器

docker run -it -p 5601:5601 --name kibana  ea060a9f9103 
  1. 访问kibana面板:`http://服务器IP:5601’
  2. 选择手工配置
  3. 输入你的elasticsearchip:9200
  4. 输入kibana_system 用户名密码
  5. 进入控制面板 portal

五、Logstash部署

1. 拉取镜像

docker pull docker.elastic.co/logstash/logstash:8.18.2  

2. 创建配置目录

mkdir logstash


# 复制默认配置  
docker cp logstash:/usr/share/logstash/config /home/elk8.18.2/logstash/ 
docker cp logstash:/usr/share/logstash/pipeline /home/elk8.18.2/logstash/ 

3. 配置logstash.yml

编辑/home/elk8.18.2/logstash/config/logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.197.130:9200" ]
xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.password: "123456"

4. 配置输入输出管道

编辑/home/elk8.18.2/logstash/pipeline/logstash.conf

input {
  beats {
    port => 5044
  }
}

filter {
  date {
    match => [ "@timestamp", "yyyy-MM-dd HH:mm:ss Z" ]
  }
  mutate {
    remove_field => ["@version", "agent", "cloud", "host", "input", "log", "tags", "_index", "_source", "ecs", "event"]
  }
}

output {
  elasticsearch {
    hosts => ["http://192.168.197.130:9200"]
    index => "server-%{+YYYY.MM.dd}"
    user => "elastic"
    password => "123456"
  }
}

5. 运行容器

docker run -it  -d --name logstash -p 9600:9600 -p 5044:5044 -v /home/ubuntu/logstash/config:/usr/share/logstash/config -v /home/ubuntu/logstash/config:/usr/share/logstash/config -v /home/ubuntu/logstash/pipeline:/usr/share/logstash/pipeline 136202d783b6

六、Windows日志收集配置

1. 下载Winlogbeat

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

2. 安装服务(PowerShell)

# 进入安装目录  
cd D:\2渗透工具\winlogbeat-9.0.2-windows-x86_64\winlogbeat-9.0.2-windows-x86_64  

# 执行安装(首次需解除安全限制)  
PowerShell.exe -ExecutionPolicy Unrestricted -File .\install-service-winlogbeat.ps1  

3. 配置winlogbeat.yml

编辑C:\Program Files\Winlogbeat\winlogbeat.yml,添加:

output.logstash:
  hosts: ["192.168.197.130:5044"]

4. 启动服务

# 启动服务  
Start-Service winlogbeat  

# 查看状态  
Get-Service winlogbeat  

七、验证与测试

  1. Elasticsearch:访问http://服务器IP:9200,返回JSON信息即正常。
  2. Kibana:访问http://服务器IP:5601,使用elastic用户登录。
  3. 日志收集:在Kibana的"Discover"页面查看是否有Windows日志数据。

网站公告

今日签到

点亮在社区的每一天
去签到