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。现在,您可以从中央位置收集和分析系统日志。
注意:现在服务器报价出炉,价格很低
1、腾讯云:限时 2860 元无门槛代金券:点击一键领取。
2、腾讯云最新优惠活动,3年/5年服务器限时抢购:点击前往。
3、阿里云:限时 2000 元无门槛代金券:点击一键领取。
提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。
版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态