How To Install Graylog On CentOS

---------- 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.optionsXmsXmx一半的系统内存根据需要,我保持默认
 注意 :对于 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 的任何部署都至关重要。通过正确的轮换策略,您的日志将按预期收集和维护,并提供快速且有用的日志聚合工具。

猜你喜欢

转载自blog.csdn.net/shanxun1012/article/details/130861106