Beats 使用详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Luomingkui1109/article/details/88042716

1.Beats是什么?

    Beats是elasticsearch公司开源的一款采集系统监控数据的代理agent,它可以发送不同类型的数据到elasticsearch中,也可以行将采集完的数据发送到logstash中转,然后在推送到elasticsearch中,目前还在发展中,与成熟的监控系统zabbix和ganglia相比就界面看起来爽了点,系统功能还是有点弱,不过与elasticsearch全文搜索框架集成后,数据查询过滤功能非常强悍,还是非常有前途

的,在ELKB中,各个框架角色如下:

    Beats:负责收集系统数据,可以直接发送到es中,也可以通过logstash中转

    logstash:收集日志,为beats提供中转功能

    Elasticsearch:提供数据存储,服务端聚合计算功能

    Kibana:提供炫丽的可视化图形展示并且作为elasticsearch的搜索的小清新客户端

2.Beats的组成:

    到目前elasticsearch已经提供的有:

(1)Packetbeat(搜集网络流量数据)

(2)Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)

(3)Filebeat(搜集文件数据)

(4)Winlogbeat(搜集 Windows 事件日志数据)

(5)自定义beat ,如果上面的指标不能满足需求,elasticsarch公司鼓励开发者

    使用go语言,扩展实现自定义的beats指标,只需要按照模板,实现监控的输入,日志,输出等即可

3.Beats 基本拓扑:

4.Beats 安装使用

    本篇只介绍一种beats的安装方法,其他几种大同小异,需要监控多少台机器,就安装多少台机器即可

4.1 安装初始化包

(1)安装依赖库 sudo yum install libpcap   
(2)wget https://download.elastic.co/beats/packetbeat/packetbeat-1.1.2-x86_64.rpm   
(3)sudo rpm -vi packetbeat-1.1.2-x86_64.rpm

  4.2 配置elasticsearch地址或者Logstash(可选)采集的beats指标

sudo vi /etc/packetbeat/packetbeat.yml   
或者,配置logstash作为中转不直接写入elasticsearch  

4.3 配置elasticsearch模板

curl -XPUT 'http://192.168.1.187:9200/_template/packetbeat' -d@/etc/packetbeat/packetbeat.template.json    

4.4 启动 Packetbeat 指标收集进程

//启动beats  
sudo /etc/init.d/packetbeat start  

//关闭  
sudo /etc/init.d/packetbeat stop   

//测试:  
curl http://www.elastic.co/ > /dev/null  
curl -XGET 'http://localhost:9200/topbeat-*/_search?pretty'  

4.5 安装 kibana dashboards  的模板数据

1, 下载 wget  http://download.elastic.co/beats/dashboards/beats-dashboards-1.1.1.zip  
2, 解压 unzip beats-dashboards-1.1.1.zip  
3,  进入 cd beats-dashboards-1.1.1/  
4, 执行 ./load.sh  或者  ./load.sh -url http://192.168.33.60:9200   
    将dashboard的模板配置数据存进elasticsarch里面

  4.6 配置kibana dashboards

1, 选择索引模块 
2,选择仪表盘 
3,选择Packetbeat Dashboard 添加监控指标,就可以看见监控的走势图了,最上面有个搜索框,可以任意搜索你监控的机器节点,最后晒几张比较炫的图,也不算华而不实

5.Filebeat 简单介绍

5.1 概述

    Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。

5.2 工作流程

    以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。(个人理解,filebeat是一个轻量级的logstash,当你需要收集信息的机器配置或资源并不是特别多时,使用filebeat来收集日志。日常使用中,filebeat十分稳定,笔者没遇到过宕机。)

5.3 相关链接    

    下载地址:https://www.elastic.co/downloads/beats/filebeat

    官方文档:https://www.elastic.co/guide/en/beats/filebeat/current/index.html

6.packetbeat

6.1 Packetbeat简介

    packbeat已经被elastic整合在beats项目中。packbeat是一个开源的实时网络抓包与分析框架,内置了很多常见的协议捕获及解析,如HTTP、MySQL、Redis等。在实际使用中,通常和Elasticsearch以及kibana联合使用,用于数据搜索和分析以及数据展示。

(1)实时抓取网络包

(2)自动解析应用层协议(抓包)DNS、Http、Redis、Mysql等

6.2 Packetbeat抓取elasticserach请求数据

(1)进入packetbeat目录,创建es.yml文件

(2)编辑es.yml文件

packetbeat.interfaces.device: ens33#网卡

packetbeat.protocols.http:
ports: [9200]#es端口
send_request: true#抓取请求信息
include_body_for: ["application/json", "x-www-form-urlencoded"]#包含内容
output.console:
pretty: true#控制台输出

(3)启动packetbeat

sudo ./packetbeat -e -c es.yml -strict.perms=false

猜你喜欢

转载自blog.csdn.net/Luomingkui1109/article/details/88042716