在本教程中,我们将介绍在 CentOS 7(即 Elasticsearch 2.2.x、Logstash 2.2.x 和 Kibana 4.4.x)上安装 Elasticsearch ELK Stack。我们还将向您展示如何使用 Filebeat 1.1.x 将其配置为在集中位置收集和可视化系统的系统日志。 Logstash 是一个开源工具,用于收集、解析和存储日志以供将来使用。 Kibana 是一个 Web 界面,可用于搜索和查看 Logstash 已索引的日志。这两个工具都基于 Elasticsearch,用于存储日志。
当尝试识别服务器或应用程序的问题时,集中日志记录非常有用,因为它允许您在一个位置搜索所有日志。它也很有用,因为它允许您通过在特定时间范围内关联多个服务器的日志来识别跨多个服务器的问题。
可以使用 Logstash 收集所有类型的日志,但我们将本教程的范围限制为系统日志收集。
本教程的目标是设置 Logstash 来收集多个服务器的系统日志,并设置 Kibana 来可视化收集的日志。
我们的 ELK 堆栈设置有四个主要组件:
-
Logstash:Logstash 处理传入日志的服务器组件
-
弹性搜索:存储所有日志
-
Kibana:用于搜索和可视化日志的Web界面,将通过Nginx代理
-
Filebeat:Filebeat 安装在将日志发送到 Logstash 的客户端服务器上,充当日志传送代理,利用伐木工人与 Logstash 通信的网络协议
我们将在一台服务器上安装前三个组件,我们将其称为我们的ELK服务器。 Filebeat 将安装在我们想要收集日志的所有客户端服务器上,我们将其统称为我们的客户端服务器.
要完成本教程,您将需要 CentOS 7 VPS 的 root 访问权限。可以在此处找到设置说明(步骤 3 和 4):CentOS 7 的初始服务器设置.
如果您更愿意使用 Ubuntu,请查看本教程:如何在 Ubuntu 14.04 上安装 ELK.
您的 ELK 服务器所需的 CPU、RAM 和存储量取决于您打算收集的日志量。在本教程中,我们将为 ELK 服务器使用具有以下规格的 VPS:
- 操作系统:CentOS 7
- RAM: 4GB
- CPU: 2
除了 ELK 服务器之外,您还需要一些其他服务器来收集日志。
让我们开始设置我们的 ELK 服务器!
Elasticsearch 和 Logstash 需要 Java,因此我们现在就安装它。我们将安装最新版本的 Oracle Java 8,因为这是 Elasticsearch 推荐的。但是,如果您决定走这条路,它应该可以与 OpenJDK 一起正常工作。执行本节中的步骤意味着您接受 Java SE 的 Oracle 二进制许可协议。
切换到您的主目录并使用以下命令下载 Oracle Java 8(更新 73,撰写本文时的最新版本)JDK RPM:
-
cd ~
-
wget--no-cookies --no-check-certificate--header “Cookie:gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;oraclelicense=accept-securebackup-cookie” “http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-x64.rpm”
然后使用此 yum 命令安装 RPM(如果您下载了不同的版本,请替换此处的文件名):
-
sudo yum -y本地安装jdk-8u73-linux-x64.rpm
现在 Java 应该安装在/usr/java/jdk1.8.0_73/jre/bin/java
,并链接自/usr/bin/java
.
您可以删除之前下载的存档文件:
-
rm〜/jdk-8u*-linux-x64.rpm
现在 Java 8 已安装,让我们安装 ElasticSearch。
通过添加 Elastic 的包存储库,可以使用包管理器来安装 Elasticsearch。
运行以下命令将Elasticsearch公共GPG密钥导入rpm:
-
sudo rpm --importhttp://packages.elastic.co/GPG-KEY-elasticsearch
为 Elasticsearch 创建新的 yum 存储库文件。请注意,这是一个命令:
-
echo '[elasticsearch-2.x]
- name=2.x 包的 Elasticsearch 存储库
- baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
- gpg检查=1
- gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
- 启用=1
-
' | sudo tee/etc/yum.repos.d/elasticsearch.repo
使用以下命令安装 Elasticsearch:
Elasticsearch 现已安装。让我们编辑配置:
-
sudo vi/etc/elasticsearch/elasticsearch.yml
您需要限制外部对您的 Elasticsearch 实例(端口 9200)的访问,以便外部人员无法通过 HTTP API 读取您的数据或关闭您的 Elasticsearch 集群。找到指定的行network.host
,取消注释,并将其值替换为“localhost”,如下所示:
elasticsearch.yml 摘录(已更新)
network.host: localhost
保存并退出elasticsearch.yml
.
现在启动Elasticsearch:
-
sudosystemctl启动elasticsearch
然后运行以下命令以在启动时自动启动 Elasticsearch:
现在 Elasticsearch 已启动并运行,让我们安装 Kibana。
Kibana 包与 Elasticsearch 共享相同的 GPG 密钥,并且我们已经安装了该公钥。
为 Kibana 创建并编辑新的 yum 存储库文件:
-
sudo vi/etc/yum.repos.d/kibana.repo
添加以下存储库配置:
/etc/yum.repos.d/kibana.repo
- [kibana-4.4]
- name=4.4.x 包的 Kibana 存储库
- baseurl=http://packages.elastic.co/kibana/4.4/centos
- gpg检查=1
- gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
- 启用=1
保存并退出。
使用以下命令安装 Kibana:
-
sudo yum -y install kibana
打开Kibana配置文件进行编辑:
-
sudo vi/opt/kibana/config/kibana.yml
在 Kibana 配置文件中,找到指定的行server.host
,并将 IP 地址(默认为“0.0.0.0”)替换为“localhost”:
kibana.yml 摘录(已更新)
server.host: "localhost"
保存并退出。此设置使得 Kibana 只能由本地主机访问。这很好,因为我们将在同一台服务器上安装 Nginx 反向代理,以允许外部访问。
现在启动 Kibana 服务并启用它:
-
sudosystemctl 启动 kibana
-
sudo 检查配置基巴纳
在使用 Kibana Web 界面之前,我们必须设置反向代理。现在让我们使用 Nginx 来实现这一点。
因为我们配置了 Kibana 来监听localhost
,我们必须设置一个反向代理以允许外部访问它。为此,我们将使用 Nginx。
Note:如果您已经有一个想要使用的 Nginx 实例,请随意使用它。只需确保配置 Kibana,以便您的 Nginx 服务器可以访问它(您可能想要更改host
值,在/opt/kibana/config/kibana.yml
,到您的 Kibana 服务器的私有 IP 地址)。另外,建议您启用 SSL/TLS。
将 EPEL 存储库添加到 yum:
-
sudo yum -y installepel-释放
现在使用 yum 安装 Nginx 和 httpd-tools:
-
sudo yum -y installnginx httpd 工具
使用 htpasswd 创建一个名为“kibanaadmin”的管理员用户(您应该使用其他名称),该用户可以访问 Kibana Web 界面:
-
sudo htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
根据提示输入密码。请记住此登录信息,因为您将需要它来访问 Kibana Web 界面。
现在在您喜欢的编辑器中打开 Nginx 配置文件。我们将使用 vi:
-
sudo vi/etc/nginx/nginx.conf
查找默认服务器块(以server {
),文件中的最后一个配置块,并将其删除。完成后,文件中的最后两行应如下所示:
nginx.conf 摘录
include /etc/nginx/conf.d/*.conf;
}
保存并退出。
现在我们将在新文件中创建一个 Nginx 服务器块:
-
sudo vi/etc/nginx/conf.d/kibana.conf
将以下代码块粘贴到文件中。请务必更新server_name
匹配您的服务器名称:
/etc/nginx/conf.d/kibana.conf
- 服务器 {
- 听80;
-
- server_name example.com;
-
- auth_basic "限制访问";
- auth_basic_user_file /etc/nginx/htpasswd.users;
-
- 地点 / {
- proxy_pass http://localhost:5601;
- proxy_http_版本 1.1;
- proxy_set_header 升级 $http_upgrade;
- proxy_set_header 连接“升级”;
- proxy_set_header 主机 $host;
- proxy_cache_bypass $http_upgrade;
- }
- }
保存并退出。这会将 Nginx 配置为将服务器的 HTTP 流量定向到正在侦听的 Kibana 应用程序localhost:5601
。另外,Nginx 将使用htpasswd.users
我们之前创建的文件,并且需要基本身份验证。
现在启动并启用 Nginx 以使我们的更改生效:
-
sudosystemctl 启动 nginx
-
sudo系统控制enable nginx
Note:本教程假设 SELinux 已禁用。如果不是这种情况,您可能需要运行以下命令才能使 Kibana 正常工作:sudo setsebool -P httpd_can_network_connect 1
现在可以通过您的 FQDN 或 ELK 服务器的公共 IP 地址访问 Kibana,即http://麋鹿_server_public_ip/。如果您在 Web 浏览器中进入该页面,输入“kibanaadmin”凭据后,您应该会看到 Kibana 欢迎页面,该页面会要求您配置索引模式。安装完所有其他组件后,让我们稍后再回到这个话题。
Logstash 包与 Elasticsearch 共享相同的 GPG 密钥,并且我们已经安装了该公钥,因此让我们为 Logstash 创建并编辑一个新的 Yum 存储库文件:
-
sudo vi/etc/yum.repos.d/logstash.repo
添加以下存储库配置:
/etc/yum.repos.d/logstash.repo
- [logstash-2.2]
- name=2.2 包的logstash 存储库
- baseurl=http://packages.elasticsearch.org/logstash/2.2/centos
- gpg检查=1
- gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
- 启用=1
保存并退出。
使用以下命令安装 Logstash:
Logstash 已安装,但尚未配置。
由于我们将使用 Filebeat 将日志从客户端服务器发送到 ELK 服务器,因此我们需要创建 SSL 证书和密钥对。 Filebeat 使用该证书来验证 ELK Server 的身份。使用以下命令创建用于存储证书和私钥的目录:
现在您有两个选项来生成 SSL 证书。如果您的 DNS 设置允许您的客户端服务器解析 ELK 服务器的 IP 地址,请使用Option 2。否则,Option 1将允许您使用 IP 地址。
如果您没有 DNS 设置(该设置将允许您从中收集日志的服务器解析 ELK 服务器的 IP 地址),您必须将 ELK 服务器的私有 IP 地址添加到subjectAltName
我们即将生成的 SSL 证书的 (SAN) 字段。为此,请打开 OpenSSL 配置文件:
-
sudo vi/etc/pki/tls/openssl.cnf
找出[ v3_ca ]
文件中的 部分,并在其下添加以下行(替换为 ELK 服务器的私有 IP 地址):
openssl.cnf 摘录
- subjectAltName = IP: ELK_server_private_ip
保存并退出。
现在使用以下命令在适当的位置 (/etc/pki/tls/) 生成 SSL 证书和私钥:
-
cd/etc/pki/tls
-
sudoopenssl 请求-config/etc/pki/tls/openssl.cnf-x509 -days 3650 -batch -nodes -newkeyRSA:2048-keyout私人/logstash-forwarder.key-out证书/logstash-forwarder.crt
The Logstash-forwarder.crt文件将被复制到所有将日志发送到 Logstash 的服务器,但我们稍后会这样做。让我们完成 Logstash 配置。如果您选择此选项,请跳过选项 2 并继续进行配置Logstash.
如果您的私有网络有 DNS 设置,则应创建一条包含 ELK 服务器的私有 IP 地址的 A 记录 - 该域名将在下一个命令中使用,以生成 SSL 证书。或者,您可以使用指向服务器公共 IP 地址的记录。只需确保您的服务器(您将从中收集日志的服务器)能够将域名解析到您的 ELK 服务器。
现在使用以下命令(替换为 ELK 服务器的 FQDN)在适当的位置 (/etc/pki/tls/...) 生成 SSL 证书和私钥:
-
cd/etc/pki/tls
-
sudo openssl req -subj '/CN=ELK_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
The Logstash-forwarder.crt文件将被复制到所有将日志发送到 Logstash 的服务器,但我们稍后会这样做。让我们完成 Logstash 配置。
Logstash 配置文件采用 JSON 格式,位于 /etc/logstash/conf.d 中。该配置由三部分组成:输入、过滤器和输出。
让我们创建一个名为的配置文件02-beats-input.conf
并设置我们的“filebeat”输入:
-
sudo vi/etc/logstash/conf.d/02-beats-input.conf
插入以下内容input配置:
02-beats-input.conf
- input {
- 节拍{
- 端口 => 5044
- ssl => 真
- ssl_certificate =>“/etc/pki/tls/certs/logstash-forwarder.crt”
- ssl_key =>“/etc/pki/tls/private/logstash-forwarder.key”
- }
- }
保存并退出。这指定了一个beats
将侦听 tcp 端口的输入5044
,它将使用我们之前创建的 SSL 证书和私钥。
现在让我们创建一个名为的配置文件10-syslog-filter.conf
,我们将在其中添加系统日志消息的过滤器:
-
sudo vi/etc/logstash/conf.d/10-syslog-filter.conf
插入以下系统日志filter配置:
10-syslog-filter.conf
- 筛选 {
- 如果[类型] ==“系统日志”{
- 领悟{
- 匹配 => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message} ” }
- add_field => [ "received_at", "%{@timestamp}" ]
- add_field => [ "received_from", "%{host}" ]
- }
- 系统日志_pri { }
- 日期 {
- 匹配=> [“syslog_timestamp”,“MMM d HH:mm:ss”,“MMM dd HH:mm:ss”]
- }
- }
- }
保存并退出。该过滤器查找标记为“syslog”类型的日志(由 Filebeat),并且它将尝试使用grok
解析传入的系统日志日志,使其结构化且可查询。
最后,我们将创建一个名为的配置文件30-elasticsearch-output.conf
:
-
sudo vi/etc/logstash/conf.d/30-elasticsearch-output.conf
插入以下内容output配置:
/etc/logstash/conf.d/30-elasticsearch-output.conf
- 输出 {
- 弹性搜索{
- 主机=> [“本地主机:9200”]
- 嗅探=>真
- 管理模板=>假
- 索引=>“%{[@metadata][beat]}-%{+YYYY.MM.dd}”
- document_type =>“%{[@metadata][类型]}”
- }
- }
保存并退出。此输出基本上将 Logstash 配置为将节拍数据存储在运行于以下位置的 Elasticsearch 中:localhost:9200
,在以使用的节拍命名的索引中(在我们的例子中是 filebeat)。
如果您想为使用 Filebeat 输入的其他应用程序添加过滤器,请务必命名文件,以便它们在输入和输出配置之间排序(即在 02- 和 30- 之间)。
使用以下命令测试您的 Logstash 配置:
-
sudo serviceLogstash 配置测试
它应该显示Configuration OK
如果没有语法错误。否则,请尝试读取错误输出以查看您的 Logstash 配置出了什么问题。
重新启动并启用 Logstash 以使我们的配置更改生效:
-
sudosystemctl 重新启动logstash
-
sudo 检查配置日志存储开启
接下来,我们将加载示例 Kibana 仪表板。
Elastic 提供了多个示例 Kibana 仪表板和 Beats 索引模式,可以帮助您开始使用 Kibana。尽管我们不会在本教程中使用仪表板,但无论如何我们都会加载它们,以便我们可以使用它包含的 Filebeat 索引模式。
首先,将示例仪表板存档下载到您的主目录:
-
cd ~
-
curl -L -Ohttps://download.elastic.co/beats/dashboards/beats-dashboards-1.1.0.zip
安装unzip
使用此命令打包:
-
sudo yum -y install unzip
接下来,提取存档的内容:
并使用以下命令将示例仪表板、可视化和 Beats 索引模式加载到 Elasticsearch 中:
这些是我们刚刚加载的索引模式:
- [数据包节拍-]YYYY.MM.DD
- [topbeat-]YYYY.MM.DD
- [filebeat-]YYYY.MM.DD
- [winlogbeat-]YYYY.MM.DD
当我们开始使用 Kibana 时,我们将选择 Filebeat 索引模式作为默认值。
因为我们计划使用 Filebeat 将日志发送到 Elasticsearch,所以我们应该加载 Filebeat 索引模板。索引模板将配置 Elasticsearch 以智能方式分析传入的 Filebeat 字段。
首先,将 Filebeat 索引模板下载到您的主目录:
-
cd ~
-
curl -Ohttps://gist.githubusercontent.com/thisismitch/3429023e8438cc25b86c/raw/d8c479e2a1adcea8b1fe86570e42abab0f10f364/filebeat-index-template.json
然后使用以下命令加载模板:
-
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty'-d@filebeat-index-template.json
如果模板加载正确,您应该看到如下消息:
Output:
{
"acknowledged" : true
}
现在我们的 ELK 服务器已准备好接收 Filebeat 数据,让我们继续在每个客户端服务器上设置 Filebeat。
为每个执行以下步骤CentOS 或 RHEL 7您想要将日志发送到 ELK 服务器的服务器。有关在基于 Debian 的 Linux 发行版(例如 Ubuntu、Debian 等)上安装 Filebeat 的说明,请参阅设置 Filebeat(添加客户端服务器)部分本教程的 Ubuntu 变体。
On your ELK服务器,将先决条件教程中创建的 SSL 证书复制到您的客户端服务器(替换客户端服务器的地址和您自己的登录名):
-
scp /etc/pki/tls/certs/logstash-forwarder.crt user@client_server_private_address:/tmp
提供登录凭据后,请确保证书复制成功。它是客户端服务器和 ELK 服务器之间通信所必需的。
现在,在你的客户端服务器,将 ELK 服务器的 SSL 证书复制到适当的位置(/etc/pki/tls/certs):
-
sudo mkdir -p/etc/pki/tls/certs
-
sudo cp/tmp/logstash-forwarder.crt /etc/pki/tls/certs/
现在我们将安装 Topbeat 软件包。
On 客户端服务器,创建运行以下命令将Elasticsearch公共GPG密钥导入rpm:
-
sudo rpm --importhttp://packages.elastic.co/GPG-KEY-elasticsearch
为 Filebeat 创建并编辑新的 yum 存储库文件:
-
sudo vi/etc/yum.repos.d/elastic-beats.repo
添加以下存储库配置:
/etc/yum.repos.d/elastic-beats.repo
- [beats]
- 名称=Elastic Beats 存储库
- baseurl=https://packages.elastic.co/beats/yum/el/$basearch
- 启用=1
- gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
- gpg检查=1
保存并退出。
使用以下命令安装 Filebeat:
Filebeat 已安装,但尚未配置。
现在我们将配置 Filebeat 以连接到 ELK 服务器上的 Logstash。本部分将引导您修改 Filebeat 附带的示例配置文件。完成这些步骤后,您应该有一个类似于this.
On 客户端服务器、创建并编辑Filebeat配置文件:
-
sudo vi/etc/filebeat/filebeat.yml
Note:Filebeat的配置文件是YAML格式,这意味着缩进非常重要!请务必使用与这些说明中指示的相同数量的空格。
在文件顶部附近,您将看到prospectors
部分,您可以在其中定义探矿者指定应传送哪些日志文件以及应如何处理它们。每个探矿者都由-
特点。
我们将修改现有的探矿者以发送secure
and messages
记录到 Logstash。在下面paths
,注释掉- /var/log/*.log
文件。这将阻止 Filebeat 发送每个.log
在 Logstash 的该目录中。然后添加新条目syslog
and auth.log
。完成后,它应该看起来像这样:
filebeat.yml 摘录 1 of 5
...
paths:
- /var/log/secure
- /var/log/messages
# - /var/log/*.log
...
然后找到指定的行document_type:
,取消注释并将其值更改为“syslog”。修改后应该是这样的:
filebeat.yml 摘录 2 of 5
...
document_type: syslog
...
这指定该探矿者中的日志类型为syslog(这是我们的 Logstash 过滤器正在寻找的类型)。
如果您想将其他文件发送到 ELK 服务器,或者对 Filebeat 处理日志的方式进行任何更改,请随意修改或添加 prospector 条目。
接下来,在output
部分,找到显示以下内容的行elasticsearch:
,它表示 Elasticsearch 输出部分(我们不会使用它)。删除或注释掉整个 Elasticsearch 输出部分(直到那行logstash:
).
找到注释掉的 Logstash 输出部分,由以下行表示#logstash:
,并通过删除前面的内容来取消注释#
。在本节中,取消注释hosts: ["localhost:5044"]
线。改变localhost
到 ELK 服务器的私有 IP 地址(或主机名,如果您选择该选项):
filebeat.yml 摘录 3 of 5
### Logstash as output
logstash:
# The Logstash hosts
hosts: ["ELK_server_private_IP:5044"]
这会将 Filebeat 配置为通过端口 5044(我们之前指定输入的端口)连接到 ELK 服务器上的 Logstash。
直属hosts
条目,并使用相同的缩进,添加以下行:
filebeat.yml 摘录 4 of 5
bulk_max_size: 1024
接下来,找到tls
部分,并取消注释。然后取消注释指定的行certificate_authorities
,并将其值更改为["/etc/pki/tls/certs/logstash-forwarder.crt"]
。它应该看起来像这样:
filebeat.yml 摘录 5 of 5
...
tls:
# List of root certificates for HTTPS server verifications
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
这会将 Filebeat 配置为使用我们在 ELK 服务器上创建的 SSL 证书。
保存并退出。
现在启动并启用 Filebeat 以将我们的更改落实到位:
-
sudosystemctl 启动 filebeat
-
sudo系统控制enable文件节拍
再次强调,如果您不确定您的 Filebeat 配置是否正确,请将其与此进行比较Filebeat 配置示例.
现在 Filebeat 正在发送您的系统日志messages
and secure
文件到您的 ELK 服务器!对您希望收集日志的所有其他服务器重复此部分。
如果您的 ELK 堆栈设置正确,Filebeat(在您的客户端服务器上)应该将您的日志传送到 ELK 服务器上的 Logstash。 Logstash 应该将 Filebeat 数据加载到带有日期标记的索引中的 Elasticsearch 中,filebeat-YYYY.MM.DD
.
On your ELK服务器,通过使用以下命令查询 Filebeat 索引来验证 Elasticsearch 确实正在接收数据:
-
curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'
您应该看到一堆如下所示的输出:
示例输出:
...
{
"_index" : "filebeat-2016.01.29",
"_type" : "log",
"_id" : "AVKO98yuaHvsHQLa53HE",
"_score" : 1.0,
"_source":{"message":"Feb 3 14:34:00 rails sshd[963]: Server listening on :: port 22.","@version":"1","@timestamp":"2016-01-29T19:59:09.145Z","beat":{"hostname":"topbeat-u-03","name":"topbeat-u-03"},"count":1,"fields":null,"input_type":"log","offset":70,"source":"/var/log/auth.log","type":"log","host":"topbeat-u-03"}
}
...
如果您的输出显示总点击数为 0,则 Elasticsearch 不会在您搜索的索引下加载任何日志,您应该检查您的设置是否有错误。如果您收到了预期的输出,请继续下一步。
当您在要收集日志的所有服务器上完成 Filebeat 设置后,让我们看看 Kibana,我们之前安装的 Web 界面。
在 Web 浏览器中,转到 ELK 服务器的 FQDN 或公共 IP 地址。输入“kibanaadmin”凭据后,您应该会看到一个页面,提示您配置默认索引模式:
继续并选择[文件节奏]-YYY.MM.DD从“索引模式”菜单(左侧),然后单击星号(设置为默认索引)按钮将 Filebeat 索引设置为默认值。
现在单击Discover顶部导航栏中的链接。默认情况下,这将显示过去 15 分钟内的所有日志数据。您应该看到包含日志事件的直方图,以及下面的日志消息:
现在,那里不会有太多内容,因为您只是从客户端服务器收集系统日志。在这里,您可以搜索和浏览您的日志。您还可以自定义仪表板。
尝试以下操作:
- 搜索“root”以查看是否有人尝试以 root 身份登录您的服务器
- Search for a particular hostname (search for
host: "hostname"
)
- 通过选择直方图上的区域或从上面的菜单中更改时间范围
- 单击直方图下方的消息可查看数据的过滤方式
Kibana 还有许多其他功能,例如图形和过滤,所以请随意探索!
现在您的系统日志已通过 Elasticsearch 和 Logstash 进行集中,并且您可以使用 Kibana 将它们可视化,您应该在集中所有重要日志方面有一个良好的开端。请记住,您几乎可以将任何类型的日志或索引数据发送到 Logstash,但如果使用 grok 解析和结构化数据,这些数据将变得更加有用。
为了改进新的 ELK 堆栈,您应该考虑使用 Logstash 收集和过滤其他日志,并且创建 Kibana 仪表板。您可能还想使用 Topbeat 收集系统指标与您的 ELK 堆栈。本系列的其他教程中涵盖了所有这些主题。
祝你好运!