---------- Graylog 5.0 版本
---------- Graylog 5.1 版本
先决条件:
Graylog 5.0 需要以下内容来保持与其软件依赖项的兼容性:
- OpenJDK 17(内嵌于Graylog 5.0,无需单独安装。)
- OpenSearch 1.x、2.x (或 Elasticsearch 7.10.2)
- MongoDB 5.x 或 6.x
- 准备好 linux OS 7 8 9 版本
一、MongoDB 数据库安装
1.1 首先,添加包含以下内容的存储库文件:
vi /etc/yum.repos.d/mongodb-org.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
1.2 安装最新版本的 MongoDB:
sudo yum install -y mongodb-org
1.3 在操作系统启动期间启用 MongoDB 并验证它是否正在运行
sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod
sudo systemctl --type=service --state=active | grep mongod
mongod -version
二、安装 OpenSearch
2.1 为 OpenSearch 创建一个本地存储库文件:
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo
2.2 安装 Opensearch 2.7 版本 “ 文件大小679MB ”
sudo yum install -y opensearch
2.3 更新位于配置文件中最低不安全运行状态的以下字段 /etc/opensearch/opensearch.yml
vi /etc/opensearch/opensearch.yml
cluster.name: graylog
node.name: ${HOSTNAME}
path.data: /var/lib/opensearch
path.logs: /var/log/opensearch
discovery.type: single-node
network.host: 0.0.0.0
action.auto_create_index: false
plugins.security.disabled: true
sudo grep -v ^# /etc/opensearch/opensearch.yml
2.4 编辑 /etc/opensearch/jvm.options
和Xms
到Xmx
一半的系统内存。根据需要,我保持默认
注意 :对于 Linux 9,更新/usr/lib/tmpfiles.d/opensearch.conf
并更改/var/run/opensearch
为/run/opensearch
. ----此处 Linux 7/8 版本可以忽略
vi /etc/opensearch/jvm.options
vi /usr/lib/tmpfiles.d/opensearch.conf -----Centos 9 版本
2.5 在操作系统启动期间启用 OpenSearch 并验证它是否正在运行:
sudo systemctl daemon-reload
sudo systemctl enable opensearch
sudo systemctl start opensearch
sudo systemctl status opensearch
sudo systemctl --type=service --state=active | grep opensearch
sudo curl http://localhost:9200
三、Elasticsearch‘’ 议将 OpenSearch用于新的 Graylog 集群安装 ‘’ 如果没有集群第三步忽略”
3.1 首先,安装 Elasticsearch GPG 密钥:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
----------- Centos 7 8 直接使用代码,
------------CentOS 9 使用这个代码报错,解决如下:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
-----------------warning: Signature not supported. Hash algorithm SHA1 not available.
------error: https://artifacts.elastic.co/GPG-KEY-elasticsearch: key 1 import failed.
---CentOS 9 上的解决方法是运行: update-crypto-policies --set LEGACY.
---rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
3.2 然后添加包含以下内容的存储库文件: /etc/yum.repos.d/elasticsearch.repo
vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.10.2]
name=Elasticsearch repository for 7.10.2 packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
3.3 安装 7.10.2 版本:
sudo yum -y install elasticsearch-oss
3.4 修改Elasticsearch配置文件(/etc/elasticsearch/elasticsearch.yml
),设置集群名称为graylog
,取消注释 action.auto_create_index: false
开启动作:
vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false
或者
echo "cluster.name: graylog
action.auto_create_index: false" | sudo tee /etc/elasticsearch/elasticsearch.yml
3.5 修改完配置后,就可以启动 Elasticsearch了:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
sudo systemctl --type=service --state=active | grep elasticsearch
sudo systemctl --type=service --state=active | grep el
四、Graylog 安装
4.1 现在安装 Graylog 存储库配置并使用以下命令打开 Graylog 本身 安装文件大小 285MB
---开源版
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-5.0-repository_latest.rpm
sudo yum install graylog-server
---企业版
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-5.0-repository_latest.rpm
sudo yum install graylog-enterprise
4.2 配置文件编辑,位于
/etc/graylog/server/server.conf.
Additional addpassword_secret
并且root_password_sha2
因为这些是强制性的,没有它们 Graylog 将无法启动。
vi /etc/graylog/server/server.conf
4.3 要创建您的root_password_sha2
,请运行以下命令:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
4. 4 生成一个password_secret
:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
4.5 连接到 Graylog,设置
http_bind_address
您可以连接的主机名 IP 地址
4.6 设置时区 root_timezone = Asia/Ho_Chi_Minh 按所在地
4.7 最后一步是在操作系统启动期间启用 Graylog-Server
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog
4.8 防火墙设置 ,一般到这里就结束安装了,但是输入 IP和端口号不能访问:
4.8.1. 检查服务是否正常:
sudo systemctl status mongod
sudo systemctl status opensearch
sudo systemctl status elasticsearch
sudo systemctl status graylog-server
4.8.2 如服务都没有问题,就开放防火墙就行
--------------------------------- 注意 linux 重启后防火墙如没有设定会自动打开
sudo setsebool -P httpd_can_network_connect 1
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #关闭闭防火墙开机自启动
------------------------------------------图方便直接这样最快,不折腾
4.8.4 特殊设置:
sudo firewall-cmd --add-forward-port=port=514:proto=udp:toport=1514
sudo firewall-cmd --add-forward- port=port=514:proto=tcp:toport=1514
sudo firewall-cmd --runtime-to-permanent
---------------------------------------------Centos 7 没有成功
---------------------------------------------Centos 8 9 未测试
4.8.5 还有 semanage 方法:需要安装 semanage
yum install semanage
yum provides semanage
yum -y install policycoreutils-python.x86_64
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp
---------------------------------------------Centos 7 没有成功
---------------------------------------------Centos 8 9 未测试
------------------------------------ 到这里就结束安装了,后续加入需要 Server SW 来接受 log
五、GRAYLOG 中优化归档的日志索引和轮换
每天都会收到数 GB 或 TB 的日志,但现在您如何处理它们呢?我应该保留 10 天、30 天还是 1 年?如何轮换我的日志并在 Graylog 中配置它们?让我们讨论一下日志保留的最佳实践以及如何在 Graylog 中配置它们。
日志轮转可以出于多种原因进行,包括满足合规性目标、缩小索引大小以加快搜索速度,或者在设定的时间后删除数据。Graylog 使您能够基于几种方法轮换索引。在将大量消息写入索引后,消息计数将轮换索引。索引大小在达到定义的大小后轮换索引,索引时间在指定时间后轮换索引。所有这些都有其用途,最常见的是索引时间。使用索引时间,您可以满足三个月的在线要求,但将索引设置为每周轮换,并保持其中 12 个在线,或者每天并将最大索引设置为 90。
索引旋转
要进入索引轮换策略,您需要转到“系统”->“索引”,然后选择要修改的索引旁边的“编辑”。在下面的示例中,我们进行 1 个月的轮换,并为全年数据保留 12 个索引。
设置轮换策略后,您还需要选择保留配置。让我们快速概述一下每个选择以及您可能想要选择该选项的原因。
● 删除:删除索引时,Elasticsearch 消耗的资源最少,并从磁盘中删除索引,从而节省磁盘空间。这对于运营数据来说是一个很好的设置,几周后这些数据就没有任何价值(系统指标、流量数据等)。
● 关闭:关闭索引,阻止Elasticsearch 向其中写入更多数据,但保持其在线并维护索引的元数据,以便您仍然可以搜索它。
● 不执行任何操作:在Elasticsearch 上不会节省资源,并且将保持索引打开并保留在磁盘上,直到手动删除。
● 存档:稍后讨论
归档
如果您想归档数据,可以使用企业版 Graylog 设置后端存储位置,允许移动和压缩旧索引以进行长期存储。在服务器上拥有安装位置并将其配置为存档的存储位置后,您可以设置“存档索引”保留策略并给出何时开始将它们移动到存档的编号。在此示例中,第 21 个索引将移动到存档位置,并且该索引关闭。许多人会选择在归档后删除索引,因为归档功能允许在需要时进行恢复。
结论
了解日志保留和轮换策略对于 Graylog 的任何部署都至关重要。通过正确的轮换策略,您的日志将按预期收集和维护,并提供快速且有用的日志聚合工具。