安装filebeat
Ubuntu默认存储库也附带了FileBeat软件包。
只需运行以下命令即可安装,启动和启用FileBeat服务。
sudo apt install filebeat sudo systemctl start filebeat sudo systemctl enable filebeat
FileBeat配置为直接向Elasticsearch发送数据。
由于我们希望在进入Elasticsearch之前将数据流入Logstash,从注释出发送给Elasticsearch的行并将其取消注释发送到Logstash的行。
sudo nano /etc/filebeat/filebeat.yml
更改以下:
# Configure what output to use when sending the data collected by the beat. # ---------------------------- Elasticsearch Output --------------------------- #output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`. #protocol: "https" # Authentication credentials - either API key or username/password. #api_key: "id:api_key" #username: "elastic" #password: "changeme" # ------------------------------ Logstash Output ------------------------------ output.logstash: # The Logstash hosts hosts: ["localhost:5044"] # Optional SSL. By default is off. # List of root certificates for HTTPS server verifications
进行更改后,保存和退出。
运行以下命令以启用FileBeat模块和解析进程。
sudo filebeat modules enable system sudo filebeat setup --pipelines --modules system
加载filebeat模板
sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
还与Kibana集成了Filebeat。
sudo filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601
重新启动所有组件
sudo systemctl restart elasticsearch sudo systemctl restart kibana sudo systemctl restart logstash sudo systemctl restart filebeat
安装Kibana
默认情况下,Ubuntu提供了保护Kibana软件包的存储库。
无需添加另外的存储库。
只需运行以下命令即可安装,启动和启用Kibana服务。
sudo apt install kibana sudo systemctl start kibana sudo systemctl enable kibana
Kibana提供了一种Web界面,可以使用反向代理和HTTPS。
Kibana通过端口 5601访问。
访问Kibana Web界面:
http://localhost:5601/status
如果我们想使用Nginx反向代理并启用HTTPS,则在nginx虚拟主机中使用此反向代理配置。
server { listen 80; server_name example.com; 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; } }
安装Elasticsearch
因为默认Elasticsearch在Ubuntu中不可用,我们将Elasticsearch APT存储库添加到Ubuntu。
运行以下命令以添加其GPG存储库密钥。
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add
在Ubuntu中创建其存储库文件:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
添加存储库后,运行以下命令以安装Elasticsearch。
sudo apt update sudo apt install elasticsearch
启动并启用Elasticsearch服务(在系统启动引导时自动启动)。
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
缺省情况下,Elasticsearch应在端口9200上运行。
查看Elasticsearch状态和详细信息
curl -X GET "localhost:9200"
输出应该类似下面的内容:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "O1zUDFjJQzyjAaiP5xlwOg", "version" : { "number" : "7.12.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a", "build_date" : "2021-03-18T06:17:15.410153305Z", "build_snapshot" : false, "lucene_version" : "8.8.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Elk是E Lasticsearch,L Ogstash,K Ibana和Beats的首字母缩写。
Elasticsearch是一种搜索引擎,提供分布式的多租剂的全文搜索引擎和跨分布式分类存储的架构无架构的JSON文档。
LogStash是一个免费的和开放的服务器端数据处理组件,可以在发送到其他来源之前收集,解析和转换数据,包括弹性源。
Kibana是一个免费的和打开的用户界面,可让我们探索和可视化弹性型搜索数据。
节拍是轻量级的传输代理,可以收集应用程序数据并将其发送到弹性型搜索或者其他平台。
安装Java
Elasticsearch是一个Java组件,需要安装Java。
只需运行以下命令即可安装Java。
sudo apt install openjdk-11-jdk
要验证安装了Java,请运行以下命令:
java -version
输出:
openjdk version "11.0.10" 2021-01-19 OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
安装logstash
LogStash软件包也在Ubuntu存储库中可用。
运行以下命令来安装,启动和启用logstash服务。
sudo apt install logstash sudo systemctl start logstash sudo systemctl enable logstash
在/etc/logstash/conf.d中找到logstash的默认配置。
由于我们将使用FileBeat来收集和输入数据以对Logstash进行登录,因此运行以下命令以创建文件以在LogStash上定义端口5044.
sudo nano /etc/logstash/conf.d/02-beats-input.conf
将下面的内容复制并粘贴到文件中并保存。
input { beats { port => 5044 } }
接下来,创建文件:
sudo 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}" } } }
执行下面命令进行检查,确保配置正确:
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
配置语法没问题,将输出:
Configuration OK
准备Ubuntu.
安装一些重要的软件包。
sudo apt update sudo apt install wget apt-transport-https curl gnupg2