Docker部署Graylog日志管理系統(tǒng)
前言
Graylog 是一個開源的日志管理平臺,專為實時日志收集、分析和可視化設(shè)計。它支持強大的搜索功能,并且與 Elasticsearch 和 MongoDB 集成。通過 Docker 部署 Graylog 可以快速搭建一個完整的日志管理系統(tǒng)。
本文將展示如何使用 Docker 和 Docker Compose 來部署 Graylog、Elasticsearch 和 MongoDB。
一、準備工作
首先,確保你的系統(tǒng)上已經(jīng)安裝了 Docker。
Linux上進行Docker安裝有兩種方式:
- Docker自動化安裝
- Docker手動安裝
可以根據(jù)該文章的步驟進行安裝:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502
二、Docker Compose 配置
在 Docker Compose 中,我們定義了三個服務(wù):
- MongoDB:用于存儲 Graylog 的元數(shù)據(jù)。
- Elasticsearch:用于存儲和搜索日志數(shù)據(jù)。
- Graylog:日志管理系統(tǒng),提供 Web 界面和 API 進行日志分析和可視化。
創(chuàng)建 docker-compose.yml 文件
首先,在項目目錄下創(chuàng)建一個 docker-compose.yml 文件,并將以下內(nèi)容粘貼進去:
version: '3'
services:
mongodb:
container_name: mongodb
image: mongo:4.4.0
restart: always
volumes:
- /opt/graylog/mongo_data:/data/db
- /etc/localtime:/etc/localtime:ro
- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:ro
network_mode: "host"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
container_name: elasticsearch
restart: always
volumes:
- /opt/graylog/es_data:/usr/share/elasticsearch/data
- /etc/localtime:/etc/localtime:ro
- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:ro
environment:
- TZ=Asia/Shanghai
- http.host=0.0.0.0
- transport.host=localhost
- network.host=0.0.0.0
- http.cors.allow-origin=*
- http.cors.enabled=true
- discovery.type=single-node
- 'ES_JAVA_OPTS=-Xms1024m -Xmx1024m'
network_mode: "host"
graylog:
image: graylog/graylog:4.3.6
container_name: graylog
restart: always
volumes:
- /opt/graylog/graylog_data:/usr/share/graylog/data
- /etc/localtime:/etc/localtime:ro
- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:ro
environment:
# CHANGE ME (must be at least 16 characters)!
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
# Password: admin
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
- GRAYLOG_MONGODB_URI=mongodb://localhost:27017/graylog
- GRAYLOG_ELASTICSEARCH_HOSTS=http://localhost:9200
- TZ=Asia/Shanghai
entrypoint: /usr/bin/tini -- wait-for-it localhost:9200 -- /docker-entrypoint.sh
depends_on:
- mongodb
- elasticsearch
network_mode: "host"
配置說明:
MongoDB 服務(wù):
- 使用官方 MongoDB 鏡像
mongo:4.4.0。 - 數(shù)據(jù)存儲在
/opt/graylog/mongo_data目錄。 - 使用
host網(wǎng)絡(luò)模式,容器會直接使用宿主機的網(wǎng)絡(luò)接口。
- 使用官方 MongoDB 鏡像
Elasticsearch 服務(wù):
- 使用 Elasticsearch 7.10.2 版本的 OSS 鏡像
docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2。 - 數(shù)據(jù)存儲在
/opt/graylog/es_data目錄。 - 配置了 CORS 以支持跨域請求,并通過
http.host=0.0.0.0和network.host=0.0.0.0允許來自任意 IP 的訪問。 - 設(shè)置了單節(jié)點模式
discovery.type=single-node,適用于開發(fā)和測試環(huán)境。
- 使用 Elasticsearch 7.10.2 版本的 OSS 鏡像
Graylog 服務(wù):
- 使用 Graylog 官方鏡像
graylog/graylog:4.3.6。 - 依賴于 MongoDB 和 Elasticsearch 服務(wù),確保先啟動 MongoDB 和 Elasticsearch 后再啟動 Graylog。
- 配置了 Graylog 的密碼
GRAYLOG_PASSWORD_SECRET和用戶密碼GRAYLOG_ROOT_PASSWORD_SHA2(此處使用的是已加密的 SHA2 密碼)。 - 設(shè)置了 Graylog 的 Web 界面地址
GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/。 - 使用
entrypoint等待 Elasticsearch 啟動后再啟動 Graylog。
- 使用 Graylog 官方鏡像
三、啟動 Graylog 服務(wù)
在完成 docker-compose.yml 文件的配置后,使用以下命令啟動服務(wù):
docker-compose up -d
該命令會在后臺啟動 MongoDB、Elasticsearch 和 Graylog 服務(wù)。
四、訪問 Graylog Web 界面
部署完成后,你可以通過瀏覽器訪問 Graylog 的 Web 界面:
http://<your-server-ip>:9000

默認的登錄信息:
- 用戶名:
admin - 密碼:
admin(如果沒有更改密碼)
總結(jié)
通過 Docker 和 Docker Compose 部署 Graylog,能夠快速搭建一個日志管理平臺,提供強大的日志搜索和分析功能。本文展示了如何使用 Docker 配置并運行 MongoDB、Elasticsearch 和 Graylog 服務(wù),確保系統(tǒng)在容器中運行并持久化數(shù)據(jù)。
到此這篇關(guān)于Docker部署Graylog日志管理系統(tǒng)的文章就介紹到這了,更多相關(guān)Docker Graylog日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7.x docker使用overlay2存儲方式
這篇文章主要介紹了CentOS 7.x docker使用overlay2存儲方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Docker 退出container后保持繼續(xù)運行的操作
這篇文章主要介紹了Docker 退出container后保持繼續(xù)運行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
手把手教你docker部署(使用docker-compose)教程
使用 Docker Compose 可以輕松、高效的管理容器,下面這篇文章主要給大家介紹了關(guān)于手把手教你docker部署(使用docker-compose)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01

