测试环境
Virtual Box,openEuler-22.03-LTS-SP4-x86_64-dvd.iso,4 vCPU, 8G RAM, 60 vDisk。最小化安装。需联网。
系统环境
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
selinux关闭
sed -ri ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
设置系统参数
vi /etc/sysctl.conf
vm.max_map_count=262144
重启系统
安装MongoDB
Tips:安装MongoDB 5.0 版本需要依赖支持 AVX or AVX2指令集的 CPU,检查指令:
grep avx /proc/cpuinfo
下载软件包
https://www.mongodb.com/try/download/community-edition
tar -zxvf mongodb-linux-x86_64-rhel8-6.0.20.tgz
mv mongodb-linux-x86_64-rhel80-6.0.20 /usr/local/mongoDB
mkdir /usr/local/mongoDB/{data,logs,etc}
touch /usr/local/mongoDB/logs/mongo.log
vi /usr/local/mongoDB/etc/mongo.conf
dbpath=/usr/local/mongoDB/data
logpath=/usr/local/mongoDB/logs/mongo.log
logappend=true
journal=true
quiet=true
port=27017
fork=true
设置环境变量
vi /etc/profile
export MONGODB_HOME=/usr/local/mongoDB
export PATH=$PATH:$MONGODB_HOME/bin
启动MongoDB
cd /usr/local/mongoDB/bin
./mongod -f /usr/local/mongoDB/etc/mongo.conf --fork
安装OpenSearch
https://opensearch.org/lines/2x.html
opensearch-2.13.0-linux-x64.rpm
dnf install -y opensearch-2.13.0-linux-x64.rpm
vi /etc/opensearch/opensearch.yml
cluster.name: graylog
node.name: graylog
path.data: /data/opensearch/data
path.logs: /data/opensearch/logs
network.host: 0.0.0.0
discovery.type: single-node
action.auto_create_index: false
plugins.security.disabled: true
cat /etc/opensearch/opensearch.yml | grep -v ^#
启动opensearch
systemctl start opensearch
systemctl status opensearch
安装Graylog
https://graylog.org/downloads/
graylog-6.1.5.tgz
tar xf graylog-6.1.5.tgz
mv graylog-6.1.5 /usr/local/graylog
cd /usr/local/graylog
mkdir -p /etc/graylog/server
cp graylog.conf.example /etc/graylog/server/server.conf
dnf install -y java-17-openjdk-devel
生成root_password_sha2密钥
echo -n “Enter Password: " && head -1 </dev/stdin | tr -d ‘\n’ | sha256sum | cut -d” " -f1
Enter Password: Graylog@2025!
f0cf0680b4a7662366c47251b0dceb32827d482554a82987b44cd4f7b5f7617c
生成password_secret密钥
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
CUSCwD5N4eUuq09QOvSJ5VJ1OoZoU-hAC8ci1eViRBYNKDSCs3FBMVotq3UQToK0c9vUWErRJyAOPbJHXOhkHTbmwpGkh-Aq
vi /etc/graylog/server/server.conf
password_secret:设置一个随机的密码密钥,用于加密密码等敏感信息。
root_password_sha2:设置管理员密码的SHA256哈希值。
http_bind_address:设置为http_bind_address = 0.0.0.0:9000,允许远程访问。
elasticsearch_hosts:设置为elasticsearch_hosts = http://127.0.0.1:9200,指向本地的OpenSearch服务。
mongodb_uri:设置为mongodb_uri = mongodb://127.0.0.1/graylog,指向本地的MongoDB服务。
root_timezone:设置为root_timezone = Asia/Shanghai,根据实际情况调整时区。
cat /etc/graylog/server/server.conf | grep -v ^#
启动graylog
cd /usr/local/graylog
bin/graylogctl start
ss -tln | grep 9000
http://192.168.31.244:9000/
登录账号密码:admin/Graylog@2025!
Linux集成到Graylog
登录Graylog Web界面。
进入System->Inputs。
点击Launch new input按钮。
选择Syslog TCP或Syslog UDP,根据需要选择合适的协议。
配置输入源的相关参数:
Name:自定义输入名称。
Port:设置一个大于1024的端口号,例如1514。
Bind address:使用默认的0.0.0.0,以便其他机器可以转发日志过来。
Global:选择Global,在所有Graylog节点上启动该输入。
点击Save按钮保存配置。
编辑主机日志文件
vi /etc/rsyslog.conf
配置里最后一行增加 ,Graylog的ip,以及之前配置Input端口。
. @192.168.100.2:1514;RSYSLOG_SyslogProtocol23Format
重启rsyslog服务
systemctl restart rsyslog.service