在Ubuntu 18.04上使用Graylog Server管理日志

时间:2020-02-23 14:44:55  来源:igfitidea点击:

这是如何在Ubuntu 18.04上安装和配置Graylog 3 Server以进行集中日志管理的完整教程。
Graylog是一个自由开源的企业级日志管理系统,包括Elasticsearch,MongoDB和Graylog服务器。

Graylog组件/架构

Elasticsearch的工作是存储日志数据并为Graylog Server提供强大的搜索功能。
MongoDB用于存储Graylog使用的元信息和配置数据以进行完整的日志管理。

对于大型生产设置,建议在负载均衡器后面拥有几个灰度节点,弹性型搜索和MongoDB节点以分配处理负载。

除了基于Web的仪表板以通过日志管理和搜索,Graylog还公开了用于数据访问和配置管理的REST API。
以下是Graylog架构的基本架构概述。

通过易于使用和直观的Web界面,我们可以可视化指标并观察任何异常,以便更快地发出故障排除。
在本教程中,我们将了解如何在Ubuntu 18.04服务器上安装和配置Graylog 3.

第1步:更新系统

在安装任何软件包之前,它是更新系统的拇指规则。
建议避免任何依赖性问题:

sudo apt update
sudo apt -y upgrade
sudo reboot

第2步:安装Java/OpenJDK 8

灰色的一个主要组成部分/依赖性是弹性初探。
Elasticsearch需要安装Java 8来运行。
我们可以安装Oracle Java或者其开源替代 - OpenJDK。
其中我们将安装OpenJDK。

sudo apt -y install vim bash-completion apt-transport-https uuid-runtime pwgen openjdk-8-jre-headless

安装后,继续执行步骤3.

第3步:安装Elasticsearch 6.x

就像这种写作一样,最新版本的Graylog 3要求Elasticsearch 6.x工作。
使用下面的命令安装弹性搜索。

添加Elasticsearch存储库:

sudo apt update
sudo apt -y install apt-transport-https
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add 
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

在Ubuntu 18.04上安装Elasticsearch 6.x:

sudo apt update
sudo apt -y install elasticsearch-oss

一旦Elasticsearch 6.x的安装完成,请设置Graylog的群集名称。

sudo vim /etc/elasticsearch/elasticsearch.yml

在第17行套装

cluster.name: graylog
action.auto_create_index: false

重新启动Elasticsearch服务:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

第4步:安装MongoDB

使用以下教程安装MongoDB在Ubuntu上:

如何在Ubuntu上安装MongoDB 4

第5步:在Ubuntu 18.04上安装Graylog

现在我们已经安装了MongoDB和Elasticsearch,最后一件是安装Graylog服务器。
添加Graylog存储库并安装 graylog-server包装使用apt。

wget https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.deb
sudo dpkg -i graylog-3.1-repository_latest.deb
sudo apt update
sudo apt -y install graylog-server

第6步:在Ubuntu 18.04上配置Graylog 3

安装后,我们需要在开始使用Graylog之前执行一些配置。

生成root密码:

我们需要为admin用户密码生成256位散列:

$echo -n MyStrongPassword | sha256sum
7a96004f5149811c069f40146b08cf45f45087d4530d35f7d4d88d058db9612d 

将给定密码添加到 root_password_sha2=线条 /etc/graylog/server/server.conf文件。

$sudo vim /etc/graylog/server/server.conf
root_password_sha2 = 7a96004f5149811c069f40146b08cf45f45087d4530d35f7d4d88d058db9612d

接下来是生成和设置密码密码以保护存储的用户密码。

$sudo apt-get install pwgen
$pwgen -N 1 -s 96
5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY
$sudo vim /etc/graylog/server/server.conf
password_secret = 5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY

如果要在System Boot上自动启动Graylog,请运行以下命令:

sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

默认情况下,REST API将倾听:

rest_listen_uri = http://127.0.0.1:9000/api/

和Web界面URI将继续

web_listen_uri = http://127.0.0.1:9000/

如果要从网络设备访问,我们可以将其更改为服务器的IP地址。

第7步:在Ubuntu 18.04上访问Graylog 3 Web界面

使用其IP地址和端口9000访问Graylog Web界面 - http://serverip_or_hostname:9000

使用在步骤6上设置的用户名管理员和密码。

第8步:为灰度计算nginx代理

如果我们希望使用域访问它,请选中下面的教程,以将nginx配置为灰度反向代理。

使用LetSencrypt SSL配置Graylog Nginx反向代理

下面给出了一个没有HTTPS部分的简单nginx配置

$cat /etc/nginx/conf.d/graylog.conf 
server
{
    server_name graylog.theitroad.com;
    location/{
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/api;
      proxy_pass       http://127.0.0.1:9000;
    }
}

改变后启动nginx

sudo systemctl restart nginx

在http://domain.com上访问Web UI

使用在步骤6上设置的用户名管理员和密码。