ELK入门(Elastic Stack)

  • ELK入门(Elastic Stack)
    • 开始之前
    • 安装Elasticsearch
      • 确保Elasticsearch启动和运行编辑
    • 安装Kibana
      • 启动Kibana Web界面
    • 安装Beats
      • 安装 Metricbeat
      • 将系统指标发送到Elasticsearch
      • 在Kibana中可视化系统指标
    • 安装Logstash(可选)
      • 配置Logstash收听Beats输入
      • 启动Logstash
      • 配置Metricbeat以将事件发送到Logstash
      • 定义过滤器以从字段提取数据
      • 下一步是什么?

ELK入门(Elastic Stack)

是否在寻找Elastic Stack(“ELK”)指南,该指南显示了如何设置Elastic Stack并快速启动并运行?您来对地方了!首先,您安装核心产品:

  • Elasticsearch
  • Kibana
  • Beats
  • Logstash (optional)

然后,您将学习如何实施使用Metricbeat收集服务器指标并将数据发送到Elasticsearch的系统监视解决方案,您可以在其中使用Kibana搜索和可视化数据。完成基本设置后,添加Logstash进行其他解析。

首先,您可以在单个VM甚至笔记本电脑上安装Elastic Stack。

开始之前

  • 有关受支持的操作系统和产品兼容性的信息, 请参阅《Elastic Support Matrix》。
  • 验证系统是否满足Logstash和Elasticsearch 的 最低JVM要求。

安装Elasticsearch

Elasticsearch是一个实时的分布式存储,搜索和分析引擎。它可以用于许多目的,但是它擅长的一种环境是索引半结构化数据流,例如日志或解码的网络数据包。

要下载并安装Elasticsearch,请打开终端窗口并使用与您的系统配合使用的命令(deb for Debian/Ubuntu, rpm for Redhat/Centos/Fedora, mac or brew for OS X, linux for Linux, and win for Windows)::

deb:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.0-amd64.deb
sudo dpkg -i elasticsearch-7.5.0-amd64.deb
sudo /etc/init.d/elasticsearch start

rpm:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.0-x86_64.rpm
sudo rpm -i elasticsearch-7.5.0-x86_64.rpm
sudo service elasticsearch start
# 或者 使用 systemctl启动
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

mac:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.0-darwin-x86_64.tar.gz
tar -xzvf elasticsearch-7.5.0-darwin-x86_64.tar.gz
cd elasticsearch-7.5.0
./bin/elasticsearch

brew:

brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
elasticsearch

linux:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.0-linux-x86_64.tar.gz
tar -xzvf elasticsearch-7.5.0-linux-x86_64.tar.gz
cd elasticsearch-7.5.0
./bin/elasticsearch

win:

  1. 从Elasticsearch下载页面下载Elasticsearch 7.5.0 Windows zip文件 。
  2. 将zip文件的内容提取到计算机上的目录中,例如C:\Program Files。
  3. 以管理员身份打开命令提示符,然后导航到包含解压缩文件的目录,例如:cd C:\Program Files\elasticsearch-7.5.0
  4. 启动Elasticsearch: bin\elasticsearch.bat

对于其他操作系统,请转到 Elasticsearch下载页面。

tip 默认的cluster.name和 node.name分别是elasticsearch和您的主机名。如果您打算继续使用此群集或添加更多节点,则最好将这些默认值更改为唯一名称。有关更改文件中这些设置和其他设置的详细信息elasticsearch.yml,请参阅“ 配置Elasticsearch”。

要了解有关安装,配置和运行Elasticsearch的更多信息,请阅读 Elasticsearch Reference。

确保Elasticsearch启动和运行编辑

要测试Elasticsearch守护程序是否已启动并正在运行,请尝试在端口9200上发送HTTP GET请求。

curl http://127.0.0.1:9200

在Windows上,如果未安装cURL,请将浏览器指向该URL。

您应该看到类似于以下内容的响应:

{"name" : "QtI5dUu","cluster_name" : "elasticsearch","cluster_uuid" : "DMXhqzzjTGqEtDlkaMOzlA","version" : {"number" : "7.5.0","build_flavor" : "default","build_type" : "tar","build_hash" : "00d8bc1","build_date" : "2018-06-06T16:48:02.249996Z","build_snapshot" : false,"lucene_version" : "7.3.1","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

安装Kibana

Kibana是一个旨在与Elasticsearch一起使用的开源分析和可视化平台。您可以使用Kibana搜索,查看和与Elasticsearch索引中存储的数据进行交互。您可以轻松地执行高级数据分析,并在各种图表,表格和地图中可视化数据。

我们建议您将Kibana与Elasticsearch安装在同一服务器上,但这不是必需的。 如果将产品安装在其他服务器上,则需要在启动Kibana之前在Kibana配置文件kibana.yml中更改Elasticsearch服务器的URL(IP:PORT)

要下载并安装Kibana,请打开一个终端窗口,然后使用适用于您系统的命令:

deb, rpm, or linux:

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.5.0-linux-x86_64.tar.gz
tar xzvf kibana-7.5.0-linux-x86_64.tar.gz
cd kibana-7.5.0-linux-x86_64/
./bin/kibana

mac:

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.5.0-darwin-x86_64.tar.gz
tar xzvf kibana-7.5.0-darwin-x86_64.tar.gz
cd kibana-7.5.0-darwin-x86_64/
./bin/kibana

brew:

brew tap elastic/tap
brew install elastic/tap/kibana-full
kibana
  1. 从Kibana下载页面下载Kibana 7.5.0 Windows zip文件 。
  2. 将zip文件的内容提取到计算机上的目录中,例如C:\Program Files
  3. 以管理员身份打开命令提示符,然后导航到包含解压缩文件的目录,例如:cd C:\Program Files\kibana-7.5.0-windows
  4. 启动Kibana:bin\kibana.bat

对于其他操作系统,请转到 Kibana下载页面。

要了解有关安装,配置和运行Kibana的更多信息,请阅读 Kibana Reference。

启动Kibana Web界面

要启动Kibana Web界面,将浏览器指向端口5601。例如,http://127.0.0.1:5601

安装Beats

Beats是开源数据发送者,您可以将其作为代理安装在服务器上,以将运营数据发送到Elasticsearch。Beats可以将数据直接发送到Elasticsearch或通过Logstash发送,您可以在其中进一步处理和增强数据。

每个Beat是单独安装的产品。在本指南中,您将学习如何在system启用了收集系统指标的模块的情况下安装和运行Metricbeat 。

要了解有关安装和配置其他Beats的更多信息,请参阅《入门指南》文档:

Elastic Beats To capture
Auditbeat 审核数据
Filebeat 日志文件
Functionbeat 云数据
Heartbeat 可用性监控
Journalbeat 系统日记
Metricbeat 指标
Packetbeat 网络流量
Winlogbeat Windows事件日志

安装 Metricbeat

要下载并安装Metricbeat,请打开一个终端窗口并使用与您的系统一起使用的命令:
deb:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-amd64.deb
sudo dpkg -i metricbeat-7.5.0-amd64.deb

rpm:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-x86_64.rpm
sudo rpm -vi metricbeat-7.5.0-x86_64.rpm

mac:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-darwin-x86_64.tar.gz
tar xzvf metricbeat-7.5.0-darwin-x86_64.tar.gz

brew:

brew tap elastic/tap
brew install elastic/tap/metricbeat-full

linux:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-linux-x86_64.tar.gz
tar xzvf metricbeat-7.5.0-linux-x86_64.tar.gz

win:

  1. 从Metricbeat下载页面下载Metricbeat Windows zip文件 。
  2. 将zip文件的内容提取到中C:\Program Files
  3. metricbeat-7.5.0-windows目录重命名为Metricbeat
  4. 以管理员身份打开PowerShell提示符(右键单击PowerShell图标,然后选择“以管理员身份运行”)。
  5. 在PowerShell提示符下,运行以下命令以将Metricbeat安装为Windows服务:
    PS > cd 'C:\Program Files\Metricbeat'
    PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1
    

note
如果在系统上禁用了脚本执行,请设置当前会话的执行策略以允许脚本运行。例如:PowerShell.exe
-ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1.

对于其他操作系统,请转到 Beats下载页面。

将系统指标发送到Elasticsearch

Metricbeat提供了预构建的模块,可用于在约5分钟内快速实施和部署系统监视解决方案,并带有示例仪表板和数据可视化。

在本节中,您将学习如何运行该system模块以从服务器上运行的操作系统和服务中收集指标。系统模块收集系统级别的度量标准,例如CPU使用率,内存,文件系统,磁盘IO和网络IO统计信息,以及系统上运行的每个进程的顶级统计信息。

开始之前:确认Elasticsearch和Kibana正在运行,并且Elasticsearch准备好从Metricbeat接收数据。

要设置system模块并开始收集系统指标:

  1. 从Metricbeat安装目录中,启用system模块:
    deb and rpm:

    sudo metricbeat modules enable system
    

    mac and linux:

    ./metricbeat modules enable system
    

    brew:

    metricbeat modules enable system
    

    win:

    PS C:\Program Files\Metricbeat> .\metricbeat.exe modules enable system
    
  2. 设置初始环境:
    deb and rpm:

    sudo metricbeat setup -e
    

    mac and linux:

    ./metricbeat setup -e
    

    brew:

    metricbeat setup -e
    

    win:

    PS C:\Program Files\Metricbeat> metricbeat.exe setup -e
    

    该setup命令将加载Kibana仪表板。如果已经设置了仪表板,请忽略此命令。该-e标志是可选的,并将输出发送到标准错误而不是syslog。

  3. 启动Metricbeat:
    deb and rpm:

    sudo service metricbeat start
    

    mac and linux:

    ./metricbeat -e
    

    brew:

    metricbeat -e
    

    win:

    PS C:\Program Files\Metricbeat> Start-Service metricbeat
    

Metricbeat运行并开始将系统指标发送到Elasticsearch。

在Kibana中可视化系统指标

要可视化系统指标,请打开浏览器并导航到Metricbeat系统概述仪表板:选择 Metricbeat-system-overview-ecs

tip
如果您在Kibana中看不到数据,请尝试将日期范围更改为更大的范围。默认情况下,Kibana显示最后15分钟。如果看到错误,请确保Metricbeat正在运行,然后刷新页面。

现在您已经知道如何为Elastic Stack设置最简单的架构-一个或多个Beats将事件数据直接发送到在同一服务器上运行的Elasticsearch实例-让我们添加Logstash。

安装Logstash(可选)

Logstash是一个功能强大的工具,可与多种部署集成。它提供了大量的插件,可帮助您解析,丰富,转换和缓冲来自各种来源的数据。如果您的数据需要Beats中没有的其他处理,则需要将Logstash添加到您的部署中。

要下载并安装Logstash,请打开一个终端窗口,然后使用适用于您的系统的命令:
deb:

curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.5.0.deb
sudo dpkg -i logstash-7.5.0.deb

rpm:

curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.5.0.rpm
sudo rpm -i logstash-7.5.0.rpm

mac and linux:

curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.5.0.tar.gz
tar -xzvf logstash-7.5.0.tar.gz

brew:

brew tap elastic/tap
brew install elastic/tap/logstash-full

win:

  1. 从Logstash下载页面下载Logstash 7.5.0 Windows zip文件 。
  2. 将zip文件的内容提取到计算机上的目录中,例如C:\Program Files。使用短路径(少于30个字符)以避免在Windows上遇到文件路径长度限制。

对于其他操作系统,请转到Logstash下载页面。
要了解有关安装,配置和运行Logstash的更多信息,请阅读 Logstash参考。

配置Logstash收听Beats输入

Logstash提供了用于从多种输入中读取的输入插件。在本指南中,您将创建一个Logstash管道配置,该配置侦听Beats输入并将接收到的事件发送到Elasticsearch输出。

要配置Logstash:

  • 创建一个名为的新Logstash管道配置文件demo-metrics-pipeline.conf。如果将Logstash作为deb或rpm软件包安装,请在Logstash config目录中创建文件 。该文件必须包含:

    • 一个输入阶段,将Logstash配置为在端口5044上侦听传入的Beats连接。
    • 将事件编入Elasticsearch的输出阶段。输出阶段还配置Logstash写入Metricbeat索引。
      例如:
    input {beats {port => 5044}
    }# The filter part of this file is commented out to indicate that it
    # is optional.
    # filter {#
    # }output {elasticsearch {hosts => "localhost:9200"manage_template => falseindex => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"}
    }
    

    当您使用此管道配置启动Logstash时,Beats事件将通过Logstash进行路由,您可以在其中完全访问Logstash功能以收集,充实和转换数据。

启动Logstash

使用适合您的系统的命令。如果将Logstash作为deb或rpm软件包安装,请确保配置文件位于config目录中。对于其他平台,config不需要目录,但这是保持一致的最佳实践。
deb:

sudo /etc/init.d/logstash start

rpm:

sudo service logstash start

mac and linux:

cd logstash-7.5.0
./bin/logstash -f path/to/config/demo-metrics-pipeline.conf

brew:

logstash -f path/to/config/demo-metrics-pipeline.conf

win:

bin\logstash.bat -f path\to\config\demo-metrics-pipeline.conf

tip
如果收到JVM错误消息,请检查Java版本,如安装Logstash中所示 。

Logstash开始侦听Beats输入中的事件。接下来,您需要配置Metricbeat以将事件发送到Logstash。

配置Metricbeat以将事件发送到Logstash

Metricbeat默认将事件发送到Elasticsearch。要将事件发送到Logstash,请修改Metricbeat配置文件metricbeat.yml。您可以在Metricbeat安装目录下找到该文件,/etc/metricbeat用于rpm和deb或 /usr/local/etc/metricbeatbrew

output.elasticsearch通过将其注释掉来禁用该部分,然后output.logstash通过取消注释来启用该部分:

#-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch:# Array of hosts to connect to.#hosts: ["localhost:9200"]
.
.
.
#----------------------------- Logstash output --------------------------------
output.logstash:# The Logstash hostshosts: ["localhost:5044"]

保存文件,然后重新启动Metricbeat以应用配置更改。

Logstash从Beats输入中读取并将事件编入Elasticsearch。您尚未定义过滤器部分,因此Logstash只是将事件转发到Elasticsearch,而无需其他处理。接下来,您将学习如何定义过滤器阶段。

定义过滤器以从字段提取数据

Metricbeat收集的系统指标包括一个名为的字段cmdline ,其中包含用于启动系统进程的完整命令行参数。例如:

"cmdline": "/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 3
-isForBrowser -boolPrefs 36:1|299:0| -stringPrefs 285:38;{b77ae304-9f53-a248-8bd4-a243dbf2cab1}| -schedulerPrefs
0001,2 -greomni /Applications/Firefox.app/Contents/Resources/omni.ja -appomni
/Applications/Firefox.app/Contents/Resources/browser/omni.ja -appdir
/Applications/Firefox.app/Contents/Resources/browser -profile
/Users/dedemorton/Library/Application Support/Firefox/Profiles/mftvzeod.default-1468353066634
99468 gecko-crash-server-pipe.99468 org.mozilla.machname.1911848630 tab"

您可能只想发送命令路径,而不是将整个命令行参数发送给Elasticsearch。一种方法是使用Grok过滤器。学习Grok不在本入门指南的范围内,但是如果您想了解更多信息,请参阅 Grok过滤器插件文档。

要提取路径,请在您之前创建的Logstash配置文件的输入和输出部分之间添加以下Grok过滤器:

filter {if [system][process] {if [system][process][cmdline] {grok {match => { "[system][process][cmdline]" => "^%{PATH:[system][process][cmdline_path]}"}remove_field => "[system][process][cmdline]" }}}
}
  1. 使用模式匹配路径,然后将路径存储在名为的字段中 cmdline_path
  2. 删除原始字段,cmdline因此不会在Elasticsearch中建立索引

完成后,完整的配置文件应如下所示:

input {beats {port => 5044}
}filter {if [system][process] {if [system][process][cmdline] {grok {match => {"[system][process][cmdline]" => "^%{PATH:[system][process][cmdline_path]}"}remove_field => "[system][process][cmdline]"}}}
}output {elasticsearch {hosts => "localhost:9200"manage_template => falseindex => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"}
}

重新启动Logstash以获取更改。现在,事件包括一个名为的字段 cmdline_path,其中包含命令路径:

"cmdline_path": "/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container"

下一步是什么?

恭喜你!您已经成功设置了弹性堆栈。您学习了如何将系统指标传输到Elasticsearch并可视化Kibana中的数据。您还学习了如何使用Logstash过滤Metricbeat收集的事件。

接下来,您需要设置Elastic Stack安全功能并激活您的试用许可证,以便您可以解锁Elastic Stack的全部功能。要了解操作方法,请阅读:

  • 固定弹性堆栈
  • 许可证管理

是否想通过指标监视和集中式日志分析来快速启动并运行?在Kibana中试用Metrics应用程序和Logs应用程序。有关更多详细信息,请参阅《度量标准监视指南》 和《日志监视指南》。

稍后,当您准备设置生产环境时,另请参阅《 Elastic Stack安装和升级指南》。

ELK入门(Elastic Stack)相关推荐

  1. Elasticsearch宝典:从ELK到Elastic Stack

    Elasticsearch宝典:从ELK到Elastic Stack 文/田雪松 Elastic Stack早期的名字叫ELK,是由三个开源软件组成的数据处理框架.后期由于有新的成员加入到ELK中,E ...

  2. 【Elastic Stack上】Elastic Search快速入门,让你对ELK日志架构不再困惑

    课程介绍 Elastic Stack简介 Elasticsearch的介绍与安装 Elasticsearch的快速入门 Elasticsearch的核心讲解中文分词 全文搜索 Elasticsearc ...

  3. 第一章 Elastic Stack入门

    一.预备知识Restful 1.起源 在没有前后端分离概念之前,一个网站的完成总是"all in one",在这个阶段,页面.数据.渲染全部在服务端完成,这样做的最大的弊端是后期维 ...

  4. 2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.简介 二.ELK 协议栈介绍及体系结构 三.集中式日志协议栈 ...

  5. 【Elastic Stack学习】ELK日志分析平台(一)ELK简介、ElasticSearch集群

    * ELK简介: ELK是Elasticsearch . Logstash.Kibana三个开源软件的缩写.ELK Stack 5.0版本之后新增Beats工具,因此,ELK Stack也改名为Ela ...

  6. ELK Stack 与 Elastic Stack 的异同点

    在很多场合,都可以看到 ELK Stack 或者是 Elastic Stack 的介绍,大多数人都会产生疑问,这两者到底有什么区别?本文将介绍 ELK Stack 与 Elastic Stack 的异 ...

  7. Elastic Stack核心技术实战01--Elasticsearch环境搭建与基础入门

    相信大家对于ELK并不陌生吧,大家在工作中一定都接触过Elasticsearch这个搜索引擎,ELK技术栈就是Elasticsearch和Logstash以及Kibana三个组件共同组成的,但是随着后 ...

  8. 云计算企业级小架构部署应用综合练习-二- Ansible 部署 Elastic Stack(ELK)

    一.Elastic Stack 项目介绍 ⚠️警告 1 这不是零基础的教程,需要掌握 Ansible 和 ELK 各个组件的使用 2 这个只是提供了一套自动化部署 ELK 系统的解决方案 3作为练习之 ...

  9. Elastic stack 技术栈学习(二)—— Linux(Centos系统) 搭建日志采集服务器ELK

    文章目录 一.前言 1.目的 2.ELK 3.系统 二.步骤 1.安装win10操作系统 2. 下载压缩包并上传 1)上传到服务器 2)上传到客户端 3. 部署JDK 4.关闭selinux 5. 部 ...

最新文章

  1. 虚拟文件系统(VFS)
  2. 给大家推荐8个SpringBoot精选项目
  3. VL09 不能取消来自分散系统的货物移动
  4. linux怎么对端口限速,linux – 如何使用iptables对SSH连接进行速率限制?
  5. 【MFC】MFC开发之前言
  6. Session ,ViewState,以及接收其它网页传过来的值的使用
  7. 通孔的作用是什么linux,电路板空洞的作用是什么 如何区分PTH与NPTH两种通孔
  8. UIScrollView的简单使用
  9. 计算机网络实训室建设设备,计算机网络技术综合实训室建设方案.doc
  10. Linux常用的基本命令13
  11. python3.5安装pip_python详细安装pip教程
  12. UE4 C++无法打开包括文件 C1083
  13. 计算机病毒的特点分类危害性,计算机病毒的分类及破坏是什么
  14. DockOne微信分享(六十六): Docker网络方案初探
  15. MMORPG传奇类手游《空空西游》完整源码(客户端cocos2d-js+服务端pomelo+cocosStudio工程+搭建教程)
  16. 虚拟服务器磁盘读写慢,解决VMware Workstation虚拟机运行缓慢问题之修改硬盘参数及其虚拟硬盘的两种模式的说明...
  17. openeuler 欧拉操作系统的几个图形界面安装方法
  18. 抖音视频链接数据分析
  19. 当串口助手发送数据给单片机,单片机原封不动转发给串口助手显示
  20. 对图片中的表格进行识别,并转换成excel文件(python、小软件)(批量)

热门文章

  1. 【不务正业】减肥、想瘦,我在csdn学减肥之利用python帮助女友减脂
  2. 【论文解读 | AAAI2020】NeuralCD:Neural Cognitive Diagnosis for Intelligent Education Systems
  3. cmd执行调用打开文件
  4. 使用c#捕获usb扫描枪扫描二维码、条形码结果
  5. iOS - 多控制器切换一(巧用tabbarController)
  6. 使用OneNote多人分布式共享
  7. 绩效评估、绩效审计与绩效优化
  8. 黑视素照度(EML) Equivalent Melanopic Lux 计算工具
  9. OSPF NBMA网络
  10. 跨专业考浙大计算机考研难度,0基础跨专业计算机考研经验-2013浙大