• 部署Filebeat--Elastic Stack之七


    官网:https://www.elastic.co/cn/products/beats

     Beats系列产品: 

     机器角色:

    主机名

    ip

    服务

    elk1

    192.168.1.223

    jdk1.8,es7.2,logstash,

    elk2

    192.168.1.224

    jdk1.8,es7.2,elasticsearch-head,

    kibana,cerebro

    elk3

    192.168.1.225

    jdk1.8,es7.2,redis2+keepalived

    elk4

    192.168.1.226

    jdk1.8,redis1+keepalived+vip,

    filebeat,metricbeat,rabbitmq,

    Packbeat;heartbeat

    1 Filebeat 部署

    1. Filebeat工作原理

    Filebeat由两个主要组件组成:prospector 和 harvester。

    (1)harvester:

    负责读取单个文件的内容。

    如果文件在读取时被删除或重命名,Filebeat将继续读取文件。

    (2)prospector

    prospector 负责管理harvester并找到所有要读取的文件来源。

    如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个harvester。

    Filebeat目前支持两种prospector类型:log和stdin。 

    2.Filebeat如何保持文件的状态

    Filebeat 保存每个文件的状态并经常将状态刷新到磁盘上的注册文件中。

    该状态用于记住harvester正在读取的最后偏移量,并确保发送所有日志行。

    如果输出(例如Elasticsearch或Logstash)无法访问,Filebeat会跟踪最后发送的行,并在输出再次可用时继续读取文件。

    3.安装nginx

    在elk4(192.168.1.226)上安装nginx;
    #yum -y install pcre-devel zlib-devel 
    #tar -xvf nginx-1.11.6.tar.gz 
    #cd /home/nginx-1.11.6
    #./configure --prefix=/usr/local/nginx --with-http_stub_status_module
    #make 
    #make install
    #/usr/local/nginx/sbin/nginx -V
    

    #配置nginx
    #cp -apr /usr/local/nginx/conf/nginx.conf  /usr/local/nginx/conf/nginx.conf.bak
    #vi  /usr/local/nginx/conf/nginx.conf   修改内容
    location /nginx-status {
                stub_status on;
                access_log off;
              }
    

    #启动nginx
    #/usr/local/nginx/sbin/nginx
    
    #测试
    #curl http://192.168.1.226/nginx-status
    

     结果说明:

    Active connections:正在处理的活动连接数

    server accepts handled requests

    第一个 server 表示Nginx启动到现在共处理的连接

    第二个 accepts 表示Nginx启动到现在共成功创建的握手

    第三个 handled requests 表示总共处理了的请求

    请求丢失数 = 握手数 - 连接数 ,可以看出目前为止没有丢失请求

    Reading: 0 Writing: 1 Waiting: 1

    Reading:Nginx 读取到客户端的 Header 信息数

    Writing:Nginx 返回给客户端 Header 信息数

    Waiting:Nginx 已经处理完正在等候下一次请求指令的驻留链接(开启keepalive的情况下,这个值等于

    Active - (Reading+Writing)) 

    4.读取Nginx日志文件

    #安装filebeat,已经下载好了rpm包,直接安装即可
    #yum install -y filebeat
    #cd /etc/filebeat
    #cat itcast4.yml
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        -  /usr/local/nginx/logs/*.log   
      tags: ["nginx"]            #添加自定义tag,便于后续的处理
      fields:                    #添加自定义字段
        from: elk4 
      fields_under_root: false    #true为添加到根节点,false为添加到子节点中
    setup.template.settings:
      index.number_of_shards: 3  #指定索引的分区数
    output.elasticsearch:        #指定ES集群的配置
      hosts: ["192.168.1.223:9200","192.168.1.224:9200","192.168.1.225:9200"]
    
    #运行filebeat
    #filebeat -e -c itcast5.yml
    #参数说明 
    -e: 输出到标准输出,默认输出到syslog和logs下 
    -c: 指定配置文件 
    -d: 输出debug信息 
    
    #启动后,可以在Elasticsearch中看到索引以及查看数据: 
    

    2 Filebeat Module

    1.使用elasticsearch-head查看索引的原始数据,在message行中已经获取到了nginx的日志,但是,内容并没有经过处理,只是读取到原数据。上一步日志数据的读取以及处理都是自己手动配置的,但其实在Filebeat中,有大量的Module,可以简化我们的配置,直接就可以使用;如下:

     #filebeat  modules list

    可以看到,内置了很多的module,但是都没有启用,如果需要启用需要进行enable操作:

    #启用nginx模块

    #filebeat modules enable nginx

    #禁用nginx模块

    #filebeat modules disable nginx

    # filebeat modules list

    2.nginx module 配置

    #cd /etc/filebeat/modules.d

    #cat nginx.yml

    3.配置filebeat

    #cd /etc/filebeat
    #cat itcast5.yml       //名字可以随便取,后缀一样就行
    filebeat.inputs:
    setup.template.settings:
      index.number_of_shards: 3
    output.elasticsearch:
      hosts: ["192.168.1.223:9200","192.168.1.224:9200","192.168.1.225:9200"]
    filebeat.config.modules:
      path: ${path.config}/modules.d/*.yml
      reload.enabled: false
    

    #启动
    #filebeat -e -c itcast5.yml 
    

    #可以在Elasticsearch-head中看到索引以及查看数据

     

    其他的Module的用法参加官方文档:

    https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html

    3 Filebeat日志仪表板

    #cd /etc/filebeat
    #cat  itcast6.yml
    

    # filebeat  -c  itcast6.yml setup
    或
    #filebeat setup --dashboards (此命令会读取默认的配置文件,这里未使用默认配置文件,故使用如上命令)
    

    windows安装filebeat收集日志

    登录官方网站下载filebeat的windows客户端
    https://www.elastic.co/cn/downloads/beats/filebeat

    1.解压安装包到C:Program Filesfilebeat,右键,选择使用PowerShell运行;如此便注册成系统服务;

    2.修改配置文件filebeat.yml

    3.启动索引管理

    打开cmd

    #cd  C:Program Filesfilebeat

    #filebeat  setup --index-management

  • 相关阅读:
    squid节点添加新域名测试
    策略路由
    nagios note
    squid日志时间转换
    kuangbin专题十六 KMP&&扩展KMP HDU3336 Count the string
    kuangbin专题十六 KMP&&扩展KMP POJ3080 Blue Jeans
    kuangbin专题十六 KMP&&扩展KMP HDU2594 Simpsons’ Hidden Talents
    kuangbin专题十六 KMP&&扩展KMP POJ2752 Seek the Name, Seek the Fame
    kuangbin专题十六 KMP&&扩展KMP POJ2406 Power Strings
    kuangbin专题十六 KMP&&扩展KMP HDU1358 Period
  • 原文地址:https://www.cnblogs.com/llwxhn/p/12943208.html
Copyright © 2020-2023  润新知