zoukankan      html  css  js  c++  java
  • packetbeat部署

    packetbeat部署

    ELK的部署过程可参考我的另一篇文章:点击前往

    本次采用的是rpm包安装,rpm包安装源使用的则是清华大学:rpm包下载链接https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/7.5.2/

    点击前往

    安装配置

    # 安装
    yum install libpcap https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/7.5.2/packetbeat-7.5.2-x86_64.rpm  -y
    # 修改配置
    cat /etc/packetbeat/packetbeat.yml 
    #============================== Network device ================================
    
    # Select the network interface to sniff the data. On Linux, you can use the
    # "any" keyword to sniff on all connected interfaces.
    # 监控网卡设备,默认是所有网卡
    packetbeat.interfaces.device: any
    
    #================================== Flows =====================================
    
    # Set `enabled: false` or comment out all options to disable flows reporting.
    packetbeat.flows:
      # Set network flow timeout. Flow is killed if no packet is received before being
      # timed out.
      timeout: 30s
    
      # Configure reporting period. If set to -1, only killed flows will be reported
      period: 10s
    
    #========================== Transaction protocols =============================
    
    packetbeat.protocols:
    #- type: icmp
      # Enable ICMPv4 and ICMPv6 monitoring. Default: false
    #  enabled: true
    
    #- type: amqp
      # Configure the ports where to listen for AMQP traffic. You can disable
      # the AMQP protocol by commenting out the list of ports.
    #  ports: [5672]
    
    #- type: cassandra
      #Cassandra port for traffic monitoring.
    #  ports: [9042]
    
    #- type: dhcpv4
      # Configure the DHCP for IPv4 ports.
    #  ports: [67, 68]
    
    #- type: dns
      # Configure the ports where to listen for DNS traffic. You can disable
      # the DNS protocol by commenting out the list of ports.
    #  ports: [53]
    
    #- type: http
      # Configure the ports where to listen for HTTP traffic. You can disable
      # the HTTP protocol by commenting out the list of ports.
    #  ports: [80, 8080, 8000, 5000, 8002]
    
    #- type: memcache
      # Configure the ports where to listen for memcache traffic. You can disable
      # the Memcache protocol by commenting out the list of ports.
    #  ports: [11211]
    
    # 根据你实际的端口修改端口号,其他的用户到就注释了,或者添加 enable:false 参数关机了就行,版本不一样可能关闭的参数不同,具体参数自行前往官网查询
    - type: mysql
      # Configure the ports where to listen for MySQL traffic. You can disable
      # the MySQL protocol by commenting out the list of ports.
      ports: [3306,3307]
    
    #- type: pgsql
      # Configure the ports where to listen for Pgsql traffic. You can disable
      # the Pgsql protocol by commenting out the list of ports.
    #  ports: [5432]
    
    #- type: redis
      # Configure the ports where to listen for Redis traffic. You can disable
      # the Redis protocol by commenting out the list of ports.
    #  ports: [6379]
    
    #- type: thrift
      # Configure the ports where to listen for Thrift-RPC traffic. You can disable
      # the Thrift-RPC protocol by commenting out the list of ports.
    #  ports: [9090]
    
    #- type: mongodb
      # Configure the ports where to listen for MongoDB traffic. You can disable
      # the MongoDB protocol by commenting out the list of ports.
    #  ports: [27017]
    
    #- type: nfs
      # Configure the ports where to listen for NFS traffic. You can disable
      # the NFS protocol by commenting out the list of ports.
    #  ports: [2049]
    
    - type: tls
      # Configure the ports where to listen for TLS traffic. You can disable
      # the TLS protocol by commenting out the list of ports.
      ports:
        - 443   # HTTPS
        - 993   # IMAPS
        - 995   # POP3S
        - 5223  # XMPP over SSL
        - 8443
        - 8883  # Secure MQTT
        - 9243  # Elasticsearch
    
    #==================== Elasticsearch template setting ==========================
    
    setup.template.settings:
      index.number_of_shards: 1
      index.number_of_replicas: 1
      #index.codec: best_compression
      #_source.enabled: false
    
    #============================== Kibana =====================================
    
    # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
    # This requires a Kibana endpoint configuration.
    setup.kibana:
    
      # Kibana Host
      # Scheme and port can be left out and will be set to the default (http and 5601)
      # In case you specify and additional path, the scheme is required: http://localhost:5601/path
      # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
      # 设置kibana地址,如果是本机的话就使用默认的就行,如果没有配置对会影响后面模板的导入
      host: "localhost:5601"
    
      # Kibana Space ID
      # ID of the Kibana Space into which the dashboards should be loaded. By default,
      # the Default Space will be used.
      #space.id:
    
    #================================ Outputs =====================================
    
    # Configure what output to use when sending the data collected by the beat.
    
    #-------------------------- Elasticsearch output ------------------------------
    output.elasticsearch:
      # Array of hosts to connect to.
      # 这是es地址,跟kibana一样,如果是本机就保持默认即可,如果配置错了会影响后面模板的导入
      hosts: ["localhost:9200"]
    
      # Optional protocol and basic auth credentials.
      #protocol: "https"
      #username: "elastic"
      #password: "changeme"
    # 日志输出还支持本地文件输出,或者输出到logstash等等,具体的可参考官方文档。建议刚开始可采用本地文件的方式输出,方便测试
    #================================ Processors =====================================
    
    # Configure processors to enhance or manipulate events generated by the beat.
    
    processors:
      - add_host_metadata: ~
      - add_cloud_metadata: ~
      - add_docker_metadata: ~
    
    #================================ Logging =====================================
    
    # Sets log level. The default log level is info.
    # Available log levels are: error, warning, info, debug
    logging.level: error
    logging.to_files: true
    logging.files:
       path: /var/log/packetbeat
       name: error.log
       keepfiles: 7
       permissions: 0644
    # 以上我中文注释的地方是必改地方,稍微注意一下,每天贴出来的或者没有中文注释的可选择性的修改。
    

    导入模板

    # 百度有很多是采用接口的方式导入的模板,我这采用的则是原生命令的方式,因接口的方式是个坑,整了好久一堆报错
    
    # 导入索引模板
    packetbeat setup --index-management
    
    # 导入可视化图标
    packetbeat setup --dashboards
    

    启动测试

    # 启动
    systemctl start packetbeat
    

    如果是直接输出到es中的话,这时候我们前往kibana查看是否已经产生索引文件

    image-20210830113905972
    image-20210830113905972

    因为我们之前已经导入了索引模板,所以这时候直接查看估计就已经有数据了,如下图:

    image-20210830114115654
    image-20210830114115654

    索引生命周期

    上面这一波操作,packetbeat就已经安装完毕了。这里要提一下的就是索引的生命周期功能,什么叫索引生命周期呢?我的理解就是我们可以自定义策略来达到自定义删除,自定义定义每个索引的大小等等。当然这个功能也可通过脚本调动api接口来实现,但既然它提供了,那就可用直接拿来用,就没必要另外写脚本了。

    image-20210830114519887
    image-20210830114519887

    因我们是导入过索引模板的,所以索引生命周期也是直接就有了的。我们只需启动,并配置即可。

    我们可以配置一个索引的大小,如果索引大于这个大小那么则会另起一个索引并重命名;最大存在时间,这个我理解的则是在这个时间内所有的数据都往这个索引里写,超过这个时间则另起一个索引。

    image-20210830114950664
    image-20210830114950664

    温阶段与冷阶段因无业务需求所暂且没用过,官方介绍文档

    删除阶段启动,选择时间范围,我的理解则是 这个索引超过你设定的时间后则删除这个索引,经测试发现,这个索引是非正在存储数据的索引。比如索引 log-0001 昨日创建的,今日创建了 log-0002,我设定的是1天删除,那么今日则删除 log-0001索引

    官方也提供了一个专门管理索引的工具,curator工具介绍

  • 相关阅读:
    TPO-17 C2 Reschedule part-time job in campus dining hall
    TPO-17 C1 Find materials for an opera paper
    TPO-16 C2 Reschedule the medieval history test
    D语言中调用C++的std::string遇到的问题分析
    D语言与C++做映射时需要注意的事情
    D语言与C一起编程时,不用同时写两个C的两个头文件的办法
    D语言使用dub编译ms-coff文件
    D语言VisualD中使用C/C++与D语言混合编程
    D语言 在ms-coff文件格式下使用DGUI库
    D语言中做图片转换
  • 原文地址:https://www.cnblogs.com/98record/p/packetbeat-bu-shu.html
Copyright © 2011-2022 走看看