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國內鏡像源
操作步驟:
- 編輯配置文件:
sudo vim /etc/docker/daemon.json
- 寫入以下內容:
{"registry-mirrors": ["https://docker.1ms.run","https://docker.xuanyuan.me"]
}
- 重啟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部署
- 訪問1Panel面板:
http://服務器IP:9000
- 在應用商店搜索"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
- 訪問kibana面板:`http://服務器IP:5601’
- 選擇手工配置
- 輸入你的elasticsearchip:9200
- 輸入kibana_system 用戶名密碼
- 進入控制面板 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
七、驗證與測試
- Elasticsearch:訪問
http://服務器IP:9200
,返回JSON信息即正常。 - Kibana:訪問
http://服務器IP:5601
,使用elastic用戶登錄。 - 日志收集:在Kibana的"Discover"頁面查看是否有Windows日志數據。