安装并配置 Graylog Server 以在 Linux 上管理日志
开源 Graylog 服务器允许您从不同来源收集日志并在 Web 界面中可视化日志。了解如何配置 Graylog 服务器。
您是否想过如何管理大量日志?我相信,每个系统管理员都有过这样的经历。解决方案非常简单:“配置 Graylog 服务器。”
在上一篇教程中,我展示了如何开始使用 Buildah 来管理 Linux 容器。在本教程中,我将向您展示如何配置 Graylog 服务器来管理大量日志(大数据)。
什么是格雷日志?
Graylog 是一个用于日志管理的开源平台。它允许您收集和聚合来自不同目的地的日志。然后,它还使您能够在 Web 界面中可视化日志。
安装和配置Graylog服务器有一些先决条件,如下:
安装openJDK
安装 MongoDB
安装Elasticsearch
Graylog服务器的基本组件是:
MongoDB:数据库,存储配置和元信息。
Elasticsearch:一个引擎,可以提高搜索效率。它还存储日志消息。它为搜索提供了便利。所有输入/输出操作都发生在该引擎中。
GrayLog Server:解析器,从不同的目的地收集日志。
Graylog Web 界面:使用 GUI 管理日志相关配置的仪表板。 Web 界面提供了更简单、更简洁的方法来处理配置。
让我们从 Graylog 服务器安装开始。我们将逐步完成该程序。
Graylog 服务器的先决条件
让我们首先安装 Graylog 服务器所需的组件。
请注意,我在本教程中使用的是 Red Hat Linux,因此安装步骤显示了 Yum 软件包管理器。如果您使用其他发行版,则应该使用您的发行版的包管理器。
安装openJDK
首先我们将安装 openJDK。为什么需要 OpenJDK?因为,Elasticsearch是基于Java的。您也可以使用 OracleJDK,但我更喜欢开源版本 OpenJDK。
# yum install java-1.8.0-openjdk-headless.x86_64 -y
# yum install epel-release -y
# yum install pwgen -y
安装Elasticsearch
安装好openJDK后,让我们转向Elasticsearch。该引擎在 Graylog 服务器中发挥着良好的作用。 Elasticsearch引擎可以存储和搜索大量数据。这就是为什么它在处理大数据时是首选的。
Elasticsearch满足了需要复杂搜索的应用程序的需求。每当用户请求查询时,Elasticsearch 都会帮助在 Graylog Web 界面中显示消息。
我们将使用以下命令导入 GPG 密钥:
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
由于默认的 Elasticsearch 存储库在 Centos 7/Rhel 7 中不可用,因此我们需要手动创建存储库文件,包括 Elasticsearch 存储库文件中的以下条目。
# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
现在您已准备好安装 Elasticsearch 包。
# yum install elasticsearch -y
安装Elasticsearch包后,将生成elasticsearch.yml 配置文件,将集群名称设置为graylog如下。
# vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
我们已准备好启动并启用elasticsearch.service
# chkconfig --add elasticsearch
# systemctl daemon-reload
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.service
启动并启用elasticsearch.service后;下面的curl命令应该给你如图所示的输出。
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{ "cluster_name" : "graylog", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 1, "active_shards" : 1, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }
安装 MongoDB
我们需要在 MongoDB 存储库文件中添加包含以下条目的 MongoDB 存储库,因为默认情况下它在 Centos 7/ Rhel 7 上尚不可用。
# vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
安装 MongoDB 包。
# yum install mongodb-org -y
启动并启用mongod.service。
# chkconfig --add mongod
# systemctl daemon-reload
# systemctl enable mongod.service
# systemctl start mongod.service
安装和配置 Grylog 服务器
完成并检查所有先决条件后。现在是配置和安装graylog服务器的时候了。您可以从其网站下载graylog服务器的最新开源版本。
# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm
安装 Graylog 服务器:
# yum install graylog-server -y
使用以下命令生成密钥。
# pwgen -N 1 -s 96
D4bqf7doK2zVjFOie043Gk3NgVV1548R7imGV74MHUJa08xvwlNxWvroGjBlQd1mtAYThbym3UNUVFhMY9Wu3CFyKmd35WW
为 root 用户设置哈希密码。请注意,您在 Graylog Web 界面注册时将使用此密码。
# echo -n YourPassword | sha256sum
e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a
现在,在文件 server.conf 中输入 root 密码和生成的密钥。还要添加其他所需的参数。
# vi /etc/graylog/server/server.conf
password_secret = D4bqf7doK2zVjFOie043Gk3NgVV1548R7imGV74MHUJa08xvwlNxWvroGjBlQd1mtAYThbym3UNUVFhMY9Wu3CFyKmd35WWZ
root_password_sha2 = e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a
root_email = [email
root_timezone=UTC
elasticsearch_discovery_zen_ping_unicast_hosts = <your-server-ip-address>:9300
elasticsearch_shards=1
script.inline: false
script.indexed: false
script.file: false
在同一文件中输入这两个参数并指定值,以便访问 Graylog Web 界面。 Graylog Web 界面将在 Web 浏览器上监听 TCP 端口 12900 和 9000。
rest_listen_uri = http://192.168.1.200:12900/
web_listen_uri = http://192.168.1.200:9000/
# chkconfig --add graylog-server
# systemctl daemon-reload
# systemctl enable graylog-server.service
# systemctl start graylog-server.service
配置防火墙端口
我们之前已经看到,我们在配置文件中提到了一些用于 Web 界面的端口。我们在防火墙的帮助下管理这些端口。以下是在防火墙设置中永久添加这些 TCP 端口的步骤。请执行以下命令来管理端口:
# firewall-cmd --permanent --zone=public --add-port=9000/tcp
# firewall-cmd --permanent --zone=public --add-port=12900/tcp
# firewall-cmd --permanent --zone=public --add-port=1514/tcp
在防火墙中添加端口后,不要忘记运行以下命令,以反映您刚刚所做的更改。
# firewall-cmd --reload
为了管理selinux策略,我们将安装policycoreutils-python packag
# yum install policycoreutils-python -y
以下命令确保您的 Web 界面有网络可供访问
# setsebool -P httpd_can_network_connect 1
使用 semanage 命令,我们将允许 Graylog REST API 和 Elasticsearch HTTP API 连接到 Web 界面。如果你想了解semanage命令语法,可以参考semanage manpage。
# semanage port -a -t http_port_t -p tcp 9000
# semanage port -a -t http_port_t -p tcp 9200
允许 MongoDB 默认端口。
# semanage port -a -t mongod_port_t -p tcp 27017
访问 Graylog Web 界面
打开 Web 浏览器并输入 URL http://your_ip_address:9000。您将被重定向到以下页面。
要登录 Graylog Web 界面,请输入用户名 admin 和密码 – YourPassword(我们已按照上述命令进行设置)。 Graylog Web 界面的默认用户名和密码是“admin”、“admin”。
就是这样。现在,借助出色的开源 Graylog 服务器,您可以以可视化方式管理应用程序/服务器日志。
我希望本教程对您有所帮助。请在评论部分留下您的建议。
塞维沙·杜德冈卡 编剧