ELK之间的合作机制:

L(Logstash)作为信息收集者,主要是用来对日志的搜集、分析、过滤,支持大量的数据获取方式,一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

E(Elasticsearch)作为数据的保存者,保存来自L(Logstash)收集的系统日志数据。

K(Kibana )作为展示者,主要是将ES上的数据通过页面可视化的形式展现出来。包括可以通过语句查询、安装插件对指标进行可视化等。

ELK架构图

ELK的工具

ELK新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Filebeat隶属于Beats。目前Beats包含四种工具:

1、Packetbeat(搜集网络流量数据)2、Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)3、Filebeat(搜集文件数据)4、Winlogbeat(搜集 Windows 事件日志数据)

Metricbeat

系统级监控。

用于从系统和服务收集指标。从 CPU 到内存,从 Redis 到 Nginx,Metricbeat 能够以一种轻量型的方式,输送各种系统和服务统计数据。

可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令类似的各个进程的统计数据。
下载安装包

https://www.elastic.co/cn/downloads/beats/metricbeat

解压

tar xzvf metricbeat-6.3.2-linux-x86_64.tar.gz

配置

- module: systemperiod: 3smetricsets:- cpu- load- memory- network- process- process_summaryprocessors: [".*"]process.include_top_n:by_cpu: 5 # include top 5 processes by CPUby_memory: 5 # include top 5 processes by memory

model:要监控的模块

metricset:监控指标,要保证是模块能够提供的

enabled:是否使能对该模块的监控,默认true

period:每次执行取数据的时间间隔,如果系统无效,则每个周期会返回一个错误信息

hosts:从哪些主机列表中取数据(不是所有模块都需要配置,如system)

field:数据的附加信息,会在输出文档中进行分组,字典格式配置

fields: {project: “myproject”, instance-id: “574734885120952459”}

tag:为数据做标记,便于搜索

tags: [“my-service”, “hardware”, “test”]

metricbeat支持的model有:

Apache,couchbase,Docker,HAProxy,kafka,MongoDB,MySQL,Nginx,PostgreSQL,Prometheus,Redis,System,ZooKeeper

默认model是system,在后面追加docker部分即可,metricsets设置要监控的项。

System可监控的项为:

Core,cpu,diskio,filesystem,fsstat,load,memory,network,process,socket

Core:提供每个cpu的load statistics

Fsstat:所有文件系统的信息统计.

Docker可监控的项为:

Container,cpu,diskio,info,memory,network

Container:运行状态的容器信息。

启动

sudo ./metricbeat -e -c metricbeat.yml

filebeat

下载地址 : https://www.elastic.co/cn/downloads/past-releases#filebeat
Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。

以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。

(个人理解,filebeat是一个轻量级的logstash,当你需要收集信息的机器配置或资源并不是特别多时,使用filebeat来收集日志)

下载安装包

https://www.elastic.co/cn/products/beats/filebeat
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.3-linux-x86_64.tar.gz

解压

tar xzvf filebeat-6.3.2-linux-x86_64.tar.gz

配置filebeat.yml
===== Filebeat inputs ======中配置监控的log,可一个或多个


filebeat.inputs:- type: log# Change to true to enable this input configuration.enabled: truepaths:- /var/log/*.log#- c:\programdata\elasticsearch\logs\*

注意:enabled默认设置是false,使用时一定要改成true

=== Elasticsearch template setting ====配置es写入分片数

setup.template.settings:index.number_of_shards: 3#index.codec: best_compression#_source.enabled: false

------- Elasticsearch output ----------配置es端口,默认localhost

output.elasticsearch:# Array of hosts to connect to.hosts: ["localhost:9200"]# Optional protocol and basic auth credentials.#protocol: "https"#username: "elastic"#password: "changeme"

--------- Logstash output ------配置输出到logstash
启动

sudo ./filebeat -e -c filebeat.yml

Topbeat

topbeat定期收集系统信息如每个进程信息、负载、内存、磁盘等等,然后将数据发送到elasticsearch进行索引。

topbeat收集的指标有:
系统统计信息

1、系统负载: 最后1分钟、最后5分钟、最后15分钟
2、CPU使用情况: user (和百分比), system, idle, IOWait等等
3、内存使用情况: 总共, 已用 (和百分比), 剩余等等
4、swap使用情况:总共, 已用 (和百分比), 剩余等等

每个进程的统计信息

1、进程名
2、进程PID
3、进程状态
4、进程ID
5、进程使用CPU情况: 用户 (和百分比), 系统, 总数 和 启动时间
6、进程使用内存情况: 虚拟内存,常驻内存(和百分比) 和 共享内存

文件系统统计信息

1、可用磁盘列表
2、每个磁盘、名称、类型和挂载目录
3、每个磁盘总大小、已用(和百分比)、剩余和可用空间

Topbeat 可以将这些收集到的指标直接插入到elasticsearch或者是使用logstash。
配置

period 选项定义收集信息的频率,默认是10秒。

procs 选项定义正则表达式,以匹配你所要监控的进程。默认是所有正在运行的进程都进行监控。

如果不监控进程,可以为设置:

 procs: ["^$"]

stats 指定要收集的统计数据,可以是下面的设置:

1、system: true 捕捉系统的统计信息,如系统负载、CPU使用情况、内存使用情况、swap使用情况。
2、proc: true 捕捉每个进程的统计信息,如进程名、进程PID、状态、进程ID、CPU使用率和内存使用率。
3、filesystem: true 捕捉文件系统统计信息,如磁盘空间总大小、磁盘设备名、挂载目录。

导入elasticsearch索引模板

将topbeat提供的索引模板导入到elasticsearch,以便elasticsearch知道哪些字段以哪种方式进行分析。

curl -XPUT 'http://127.0.0.1:9200/_template/topbeat' -d@/usr/elasticSearch/topbeat-1.3.1/topbeat-1.3.1-x86_64/topbeat.template.json

运行topbeat

/etc/init.d/topbeat startsudo ./topbeat -e -c topbeat.yml

加载kibana Dashboards

官方提供了一些仪表盘样本方便我们查看监视,项目地址https://github.com/elastic/beats-dashboards

加载方法如下:

wget http://download.elastic.co/beats/dashboards/beats-dashboards-1.0.0.tar.gztar xzvf beats-dashboards-1.0.0.tar.gzcd beats-dashboards-1.0.0/./load.sh http://10.1.18.19:9200

参考链接 :

ELK结合Beats工具的搭建使用(Metricbeat、Filebeat、Topbeat) : https://blog.csdn.net/u014773389/article/details/81207017?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

ELK结合Beats工具的搭建使用(Metricbeat、Filebeat、Topbeat)相关推荐

  1. @ELK集群环境部署搭建

    文章目录 ELK部署搭建 1.ELK简述 2.ELK功能介绍 3.ELK组件官方下载 4.ELK部署安装 1)elk组件下载 2)es部署安装 3)kibana部署安装 4)Logstash部署安装 ...

  2. Elk实时日志分析平台搭建

    一.   关于ELK实时日志分析平台 A.     Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源 ...

  3. ELK日志分析平台的搭建

    1  ELK平台简介 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全 ...

  4. 搜索引擎之ElasticSearch(es)入门学习、ELK 和 beats

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言. 一.ElasticSearch为啥要用 ElasticSearch简称es是一个ElasticSearch是一个分布式,高性能.高可用. ...

  5. Tsung压力测试工具的搭建和使用,配置。

    具体Tsung工具的应用是,模拟用户对某平台的访问,其中可以产生自定义数量的虚拟用户,当Tsung start启动后,虚拟用户产生,模拟访问测试的平台,得到压力数据,在平台生产和设计过程中查漏补缺,具 ...

  6. ELK企业应用-ekl快速搭建-kibana

    ELK企业应用-ekl快速搭建-kibana 1.安装Kibana 1.1.下载kibana安装包 tar xf kibana-6.2.4-linux-x86_64.tar.gz -C /usr/lo ...

  7. 海思3556V200 PQTools 工具环境搭建

    海思3556V200 PQTools 工具环境搭建 1.电脑先安装MCR(Matlab Compiler Runtime)2012a(7.17)的32 位版本.下载地址:http://cn.mathw ...

  8. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  9. 2、Cubemx_canfestival对象字典生成工具环境搭建

    百度云盘链接: 链接:canfestival安装包 提取码:z5i4 1.canfestival对象字典生成工具环境搭建 软件是用python写的,由于版本较老,建议在虚拟机上安装python2.7 ...

最新文章

  1. WinDbg的cmdtree命令
  2. itms-services 格式
  3. 无招胜有招之Java进阶JVM(五)垃圾回收
  4. 一个路径下挂载(匹配)多个子组件
  5. xamarin android 标签,安卓端Tabbedpage调整在底部位置和标签及取消Android API28 以下的点击特效—-xamarin.forms学习笔记(一)...
  6. JAVA多线程实现的三种方式 ()
  7. 51单片机扩展io口实验c语言,【51单片机】普通I/O口模拟SPI口C语言程序
  8. ERP原理:第一节 ERP的总体结构
  9. react-hooks/exhaustive-deps警告
  10. Android UI设计之十自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果
  11. iPhone 开发常用工具
  12. 写空到linux文件系统,谢烟客---------Linux之文件系统及其命令
  13. Squared Error 数学
  14. 什么情况下你会毫不犹豫地辞职?
  15. 开发简单 web 服务程序 cloudgo
  16. 产品设计指南:如何从零设计一款手机端产品(APP)?
  17. C语言文件操作——数据文件类型、文件判断、文件缓冲区详解
  18. 程序员:我差点死在了北京黑中介的手里……
  19. tplink703n变无线打印服务器,TP-LINK WR702N 改有线打印服务器 带LUCI管理页面(4M闪存 16M内存)...
  20. 新闻信息传播的新平台——微博初探

热门文章

  1. java书籍_还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!
  2. nsq php,NSQ 最佳实践
  3. 主板没有rgb接口怎么接灯_电脑硬件第六期,关于主板的那点破事。
  4. C8051汇编语言递归,基于C8051F310单片机的LED灯控制器汇编语言程序调试
  5. 怎么在cmd中安装python库_cmd中安装python库时出现的错误
  6. DataFrame 重新设置索引: reindex 和 reset_index 的区别
  7. 道硕改革宗神学院课表简略
  8. Riverbed“不再只是一家广域网优化公司”
  9. 5G:无人驾驶的“超级英雄”路
  10. 滚动监听 after选择器