5. 访问 Graylog 网页界面
打开 Web 浏览器并输入 URL http://your_ip_address:9000。
我们应该看到Graylog登录页面。
2. 安装和配置 Elasticsearch
要安装 Elasticsearch,我们必须使用以下命令导入 GPG 密钥:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Elasticsearch 在默认 CentOS 存储库中不可用。
我们需要使用以下命令为它创建一个 repo:
[jack@onitroad ~]# 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:
[jack@onitroad ~]# sudo yum install elasticsearch -y
打开 Elasticsearch 配置文件(/etc/elasticsearch/elasticsearch.yml),将集群名称设置为 graylog:
[jack@onitroad ~]# vi /etc/elasticsearch/elasticsearch.yml cluster.name: graylog
修改完配置后,就可以启动Elasticsearch了:
[jack@onitroad ~]# sudo chkconfig --add elasticsearch [jack@onitroad ~]# sudo systemctl daemon-reload [jack@onitroad ~]# sudo systemctl enable elasticsearch.service [jack@onitroad ~]# sudo systemctl restart elasticsearch.service
使用以下命令检查 Elasticsearch 的健康状况:
[jack@onitroad ~]# 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 }
3.安装和配置Graylog
我们需要使用以下命令下载并安装 Graylog 存储库:
[jack@onitroad ~]# sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm
使用以下命令安装 Graylog 服务器:
[jack@onitroad ~]# sudo yum install graylog-server -y
安装 Graylog 服务器后,我们必须使用以下命令为 Graylog 生成密钥:
[jack@onitroad ~]# pwgen -N 1 -s 96 MTtPFSMZxAvoLsUiXXauggyJ761hwkGn1ZTN2ovb8wN2tO1LzyeNbaatOrpLukp96p0MxwHQosmMGPborm1YRojnnSORVvr2
现在为 root 用户创建一个哈希密码,可用于使用以下命令登录 Graylog Web 服务器:
[jack@onitroad ~]# echo -n Password | sha256sum e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a
编辑 server.conf 文件:
[jack@onitroad ~]# sudo vi /etc/graylog/server/server.conf
对文件进行如下更改:
password_secret= MTtPFSMZxAvoLsUiXXauggyJ761hwkGn1ZTN2ovb8wN2tO1LzyeNbaatOrpLukp96p0MxwHQosmMGPborm1YRojnnSORVvr2 root_password_sha2= e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a jack@onitroad root_timezone=UTC elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.1.200:9300 elasticsearch_shards=1 script.inline: false script.indexed: false script.file: false
要启用 Graylog Web 界面,请对文件进行如下更改:
rest_listen_uri = http://192.168.1.200:12900/ web_listen_uri = http://192.168.1.200:9000/
- 修改配置文件后,可以使用以下命令启动Graylog服务:
[jack@onitroad ~]# sudo chkconfig --add graylog-server [jack@onitroad ~]# sudo systemctl daemon-reload [jack@onitroad ~]# sudo systemctl enable graylog-server.service [jack@onitroad ~]# sudo systemctl start graylog-server.service
Graylog 是一款开源日志管理软件,可用于轻松集中收集、索引和分析远程系统日志。
Graylog 由三个组件构建:
Elasticsearch :从 Graylog 服务器接收和存储日志并提供搜索功能。
MongoDB :用于存储配置和元信息的数据库。
Graylog 服务器:接收和解析来自各种输入的日志,并提供一个 Web 界面来管理这些日志。
在本教程中,我们将学习如何在 CentOS 7/RHEL 7 上安装和配置 Graylog 服务器
准备工作
要安装 graylog,我们需要安装这些另外的软件包:
[jack@onitroad ~]# sudo yum install java-1.8.0-openjdk-headless.x86_64 -y [jack@onitroad ~]# sudo yum install epel-release -y [jack@onitroad ~]# sudo yum install pwgen -y
4. 调整防火墙和Selinux
我们需要为 Graylog 设置防火墙规则才能正常工作。
我们可以通过运行以下命令来执行此操作:
[jack@onitroad ~]# sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp [jack@onitroad ~]# sudo firewall-cmd --permanent --zone=public --add-port=12900/tcp [jack@onitroad ~]# sudo firewall-cmd --permanent --zone=public --add-port=1514/tcp
接下来,使用以下命令重新加载 firewalld:
[jack@onitroad ~]# sudo firewall-cmd --reload
要管理 SELinux,我们必须使用以下命令安装 policycoreutils-python 包:
[jack@onitroad ~]# sudo yum install policycoreutils-python -y
允许 Web 服务器访问网络:
[jack@onitroad ~]# sudo setsebool -P httpd_can_network_connect 1
允许 Graylog REST API 和 Web 界面:
[jack@onitroad ~]# sudo semanage port -a -t http_port_t -p tcp 9000
允许 Elasticsearch HTTP API:
[jack@onitroad ~]# sudo semanage port -a -t http_port_t -p tcp 9200
允许 MongoDB 默认端口:
[jack@onitroad ~]# sudo semanage port -a -t mongod_port_t -p tcp 27017
1.安装MongoDB
MongoDB 在默认的 CentOS 存储库中不可用。
我们需要先添加 MongoDB 存储库。
为此,我们必须使用以下命令在 /etc/yum.repos.d/目录下创建文件 mongodb-org-3.2.repo:
[jack@onitroad ~]# 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:
[jack@onitroad ~]# sudo yum install mongodb-org -y
使用以下命令启动 MongoDB 服务并使其在启动时启动:
[jack@onitroad ~]# sudo chkconfig --add mongod [jack@onitroad ~]# sudo systemctl daemon-reload [jack@onitroad ~]# sudo systemctl enable mongod.service [jack@onitroad ~]# sudo systemctl start mongod.service