安装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"
}
如何在ubuntu上安装elk堆栈

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
日期:2020-07-07 20:57:22 来源:oir作者:oir