如何在Ubuntu 16.04上安装Graylog服务器

Graylog服务器是企业就绪的开源日志管理软件套件。它从各种来源收集日志并进行分析以发现和解决问题。Greylog服务器基本上是Elasticsearch,MongoDB和Graylog的组合。Elasticsearch是一个非常流行的开源应用程序,用于存储文本并提供非常强大的搜索功能。MongoDB是一个开源应用程序,用于以NoSQL格式存储数据。Graylog从各种来源收集日志,并提供基于Web的仪表板来管理和搜索日志。Graylog还提供用于配置和数据的REST API。它提供了一个可配置的仪表板,该仪表板可通过使用来自一个中心位置的字段统计信息,快速值和图表来可视化指标并观察趋势。

在本教程中,您将学习在Ubuntu 16.04上安装Graylog Server。本指南是为Graylog Server 2.3编写的,但也可能适用于较新的版本。您还将学习安装Java,Elasticsearch和MongoDB。我们还将保护MongoDB实例的安全,并为基于Web的仪表板和API设置Nginx反向代理。

先决条件

  • 具有至少4GB RAM的Vultr Ubuntu 16.04服务器实例。
  • 一个sudo的用户

在本教程中,我们将192.0.2.1用作服务器的公共IP地址和graylog.example.com指向服务器的域名。192.0.2.1用您的Vultr公共IP地址和graylog.example.com实际域名替换所有出现的。

使用指南如何更新Ubuntu 16.04更新基本系统。系统更新后,继续安装Java。

安装Java

Elasticsearch需要Java 8才能运行。它同时支持Oracle Java和OpenJDK,但始终建议您尽可能使用Oracle Java。添加Oracle Java PPA存储库:

sudo add-apt-repository ppa:webupd8team/java

更新APT存储库元数据:

sudo apt update

安装最新的Java 8稳定版本,运行:

sudo apt -y install oracle-java8-installer

出现提示时接受许可协议。如果Java已成功安装,则您应该能够验证其版本。

java -version

您将看到以下输出。

user@vultr:~$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

JAVA_HOME通过安装设置和其他默认值oracle-java8-set-default。跑:

sudo apt -y install oracle-java8-set-default

运行echo $JAVA_HOME命令以检查是否设置了环境变量。

user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-oracle

如果未获得上面显示的输出,则可能需要注销并再次登录到Shell。

安装Elasticsearch

Elasticsearch是一个分布式,实时,可扩展且高度可用的应用程序,用于存储日志和搜索日志。它将数据存储在索引中,并且数据搜索非常快。它提供了各种API集,例如HTTP RESTful API和本机Java API。可以通过Elasticsearch存储库直接安装Elasticsearch。添加Elasticsearch APT存储库:

echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

导入用于对软件包签名的PGP密钥。这将确保包装的完整性。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

更新APT存储库元数据。

sudo apt update

安装Elasticsearch软件包:

sudo apt -y install elasticsearch

安装软件包后,打开Elasticsearch默认配置文件。

sudo nano /etc/elasticsearch/elasticsearch.yml

找到以下行,取消注释,并将其值从更改my-applicationgraylog

cluster.name: graylog

您可以启动Elasticsearch,并使它能够在启动时自动启动:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Elasticsearch现在在端口9200上运行。请运行以下命令来验证其是否正常运行:

curl -XGET 'localhost:9200/?pretty'

您应该看到类似于以下的输出。

[user@vultr ~]$ curl -XGET 'localhost:9200/?pretty'
{
  "name" : "-kYzFA9",
  "cluster_name" : "graylog",
  "cluster_uuid" : "T3JQKehzSqmLThlVkEKPKg",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

如果遇到错误,请等待几秒钟,然后重试,因为Elasticsearch需要一些时间才能完成其启动过程。现在,Elasticsearch已安装并正常工作。

安装MongoDB

MongoDB是免费的开源NoSQL数据库服务器。与使用表来组织数据的传统数据库不同,MongoDB是面向文档的,并且使用不带模式的类似JSON的文档。Graylog使用MongoDB来存储其配置和元信息。可以直接通过MongoDB存储库安装。导入用于签名包的GPG密钥。这样可以确保包装的真实性。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

现在创建存储库文件:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

更新APT存储库元数据。

sudo apt update

安装MongoDB软件包:

sudo apt -y install mongodb-org

启动MongoDB服务器并启用它以自动启动。

sudo systemctl start mongod
sudo systemctl enable mongod

安装Graylog服务器

下载Grayray服务器以及最新的存储库。

wget https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.deb
sudo dpkg -i graylog-2.3-repository_latest.deb
sudo apt update

安装Graylog软件包:

sudo apt install graylog-server

Graylog服务器现已安装在您的服务器上。在开始之前,您需要配置一些内容。

配置Graylog

安装pwgen实用程序以生成强密码。

sudo apt -y install pwgen

现在生成一个强密码秘密。

pwgen -N 1 -s 96

您将输出类似于:

[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v

另外,为root admin用户的密码生成一个256位的哈希:

echo -n StrongPassword | sha256sum

替换StrongPassword为您要为admin用户设置的密码。你会看见:

[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223  -

打开Graylog配置文件:

sudo nano /etc/graylog/server/server.conf

查找password_secret =,复制并粘贴通过pwgen命令生成的密码。查找root_password_sha2 =,复制并粘贴您转换后的管理员密码的SHA 256位哈希。查找#root_email =,取消注释并提供您的电子邮件地址。取消注释并将您的时区设置为root_timezone。例如:

password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = [email protected]
root_timezone = Asia/Kolkata

通过取消注释#web_enable = false并将其值设置为来启用基于Web的Graylog界面true。还要取消注释并根据指定更改以下几行。

rest_listen_uri = http://0.0.0.0:9000/api/
rest_transport_uri = http://192.0.2.1:9000/api/
web_enable = true
web_listen_uri = http://0.0.0.0:9000/

保存文件并退出文本编辑器。

通过运行以下命令重新启动并启用Graylog服务:

sudo systemctl restart graylog-server
sudo systemctl enable graylog-server

将Nginx配置为反向代理

默认情况下,Graylog Web界面localhost在端口9000上侦听,API在端口9000上使用URL侦听/api。在本教程中,我们将使用Nginx作为反向代理,以便可以通过标准HTTP端口访问应用程序。通过运行以下命令安装Nginx Web服务器:

sudo apt -y install nginx

通过键入打开默认的虚拟主机文件。

sudo nano /etc/nginx/sites-available/default

用以下行替换现有内容:

server
{
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name 192.0.2.1 graylog.example.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
sudo systemctl enable nginx

结论

Graylog服务器的安装和基本配置现已完成。您现在可以访问Graylog服务器上http://192.0.2.1或者http://graylog.example.com如果您配置了DNS。使用用户名admin和您先前设置的密码的纯文本版本登录root_password_sha2

恭喜-您在Ubuntu 16.04服务器上安装了可以正常运行的Graylog服务器。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息