帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Ubuntu 20.04服务器上安装Logstash日志文件分析软件

如何在Ubuntu 20.04服务器上安装Logstash日志文件分析软件

发布时间:2020年07月16日 11:06:05    来源: A5互联

ELK是由三个开源产品ElasticSearch、Logstash和Kibana组合而成。它是全球最流行的日志管理平台之一。Elasticsearch是一个搜索和分析引擎。Logstash是一个日志处理管道,它可以同时传输多个来源的日志,并对其进行转换,然后将其发送到像Elasticsearch一样的 "存储"。Kibana用于可视化你的数据,Logstash已经索引到Elasticsearch索引中。在本文中,我们将说明如何在Ubuntu 20.04上安装Logstash。

1、先决条件

运行Ubuntu 20.04系统的服务器,并在上配置了root密码。

2、安装必需的依赖项

为了安装Elasticsearch,您将需要在系统中安装Java。您可以使用以下命令安装Java JDK:

apt-get install openjdk-11-jdk -y

安装完成后,使用以下命令验证Java的安装版本:

java -version

接下来,通过运行以下命令安装其他必需的依赖项:

apt-get install nginx curl gnupg2 wget -y

一旦安装了所有依赖项,就可以继续下一步。

3、安装和配置Elasticsearch

开始之前,您需要在系统中安装Elasticsearch。它存储Logstash中的日志和事件,并提供实时搜索日志的功能。

首先,使用以下命令将Elastic存储库添加到您的系统中:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

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

接下来,更新存储库并使用以下命令安装Elasticsearch:

apt-get update -y

apt-get install elasticsearch -y

安装后,编辑Elasticsearch默认配置文件:

nano /etc/elasticsearch/elasticsearch.yml

取消注释并更改其值,如下所示:

network.host: localhost

保存并关闭文件,然后启动Elasticsearch服务,并使用以下命令使其在启动时启动:

systemctl start elasticsearch

systemctl enable elasticsearch

此时,Elasticsearch已安装并正在端口9200上监听。您现在可以通过运行以下命令来测试Elasticsearch是否正常工作:

curl -X GET "localhost:9200"

如果一切正常,您应该看到以下输出:

完成后,您可以继续下一步。

4、安装和配置Kibana

接下来,您将需要在系统中安装Kibana。使用Kibana,您可以分析Elasticsearch上存储的数据。您可以通过运行以下命令来安装它:

apt-get install kibana -y

一旦安装了Kibana,请启动Kibana服务,并使用以下命令使其在启动时启动:

systemctl start kibana

systemctl enable kibana

接下来,您需要为Kibana创建一个管理用户,以访问Kibana Web界面。运行以下命令来创建Kibana管理用户和密码,并将其存储在htpasswd.users文件中。

echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/htpasswd.users

系统将要求您提供密码,如以下输出所示:

接下来,创建一个Nginx虚拟主机配置文件来服务Kibana:

nano /etc/nginx/sites-available/kibana

添加以下行:

server {

listen 80;


server_name kibana.域名.com;


auth_basic "Restricted Access";

auth_basic_user_file /etc/nginx/htpasswd.users;


location / {

proxy_pass http://localhost:5601;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection 'upgrade';

proxy_set_header Host $host;

proxy_cache_bypass $http_upgrade;

}

}

保存并关闭文件,然后使用以下命令启用Nginx虚拟主机文件:

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/

接下来,重新启动Nginx服务以应用更改:

systemctl restart nginx

接下来,打开您的Web浏览器,并使用URLhttp://kibana.域名.com/status检查Kibana的状态。系统将要求您提供用户名和密码,如下所示:

提供您的Kibana用户名和密码,然后单击“登录”按钮。您应该看到以下屏幕:

此时,您的系统中已安装Kibana仪表板。现在,您可以继续下一步。

5、安装和配置Logstash

Logstash用于处理beats发送的日志。您可以通过运行以下命令来安装它:

apt-get install logstash -y

一旦安装了Logstash,请使用以下命令创建新的节拍配置文件:

nano /etc/logstash/conf.d/02-beats-input.conf

添加以下行:

input {

beats {

port => 5044

}

}

保存并关闭文件,然后使用以下命令创建Elasticsearch配置文件:

nano /etc/logstash/conf.d/30-elasticsearch-output.conf

添加以下行:

output {

if [@metadata][pipeline] {

elasticsearch {

hosts => ["localhost:9200"]

manage_template => false

index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

pipeline => "%{[@metadata][pipeline]}"

}

} else {

elasticsearch {

hosts => ["localhost:9200"]

manage_template => false

index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

}

}

}

保存并关闭文件,然后使用以下命令验证您的Logstash配置:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

如果一切正常,您应该看到以下输出:

Config Validation Result: OK. Exiting Logstash

接下来,启动Logstash服务,并使用以下命令使其在启动时启动:

systemctl start logstash

systemctl enable logstash

此时,Logstash已安装在您的系统中。现在,您可以继续下一步。

6、安装和配置Filebeat

ELK堆栈使用Filebeat收集来自各种来源的数据并将其传输到Logstash。

您可以使用以下命令安装Filebeat:

apt-get install filebeat -y

安装完成后,您将需要配置Filebeat以连接到Logstash。您可以使用以下命令对其进行配置:

nano /etc/filebeat/filebeat.yml

注释掉以下几行:

#output.elasticsearch:

# Array of hosts to connect to.

# hosts: ["localhost:9200"]

然后,取消注释以下行:

output.logstash:

# The Logstash hosts

hosts: ["localhost:5044"]

保存并关闭文件,然后使用以下命令启用系统模块:

filebeat modules enable system

默认情况下,Filebeat配置为对系统日志和授权日志使用默认路径。

您可以使用以下命令为系统模块加载pipelines:

filebeat setup --pipelines --modules system

接下来,使用以下命令加载模板:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

您应该看到以下输出:

Index setup finished.

默认情况下,Filebeat附带了示例Kibana仪表板,使您可以在Kibana中可视化Filebeat数据。因此,您需要禁用Logstash输出并启用Elasticsearch输出。您可以使用以下命令进行操作:

filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601

您应该看到以下输出:

现在,启动Filebeat服务,并使用以下命令启用它在启动时启动:

systemctl start filebeat

systemctl enable filebeat

7、访问Kibana仪表板

此时,已安装并配置了ELK的所有组件。现在,打开您的Web浏览器并输入URL http://kibana.域名.com。您应该在以下屏幕中看到Kibana仪表板:

在左窗格中,单击“Discover”发现,并选择预定义的filebeat- *索引模式以在以下屏幕中查看Filebeat数据:

现在,Kibana提供了许多功能,请自己探索。

结论

您已在Ubuntu 20.04服务器上成功安装和配置Logstash。现在,您可以从中央位置收集和分析系统日志。