• ELK日志采集平台(四)---轻量级采集工具metricbeat


      

    目录

    一、安装metricbeat

    二、与kibana数据可视化联用


          logstash是负责采集数据的,是入口,流向为logstash-> ES->kibana,但是它的资源消耗很大,有时候没那么多内存给他占用,同时有些定制的采集指标logstash无法满足。所以有时也使用轻量级的metricbeat来实现采集,流向为metricbeat-> ES->kibana,可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,还可针对系统上的每个进程获得与 top 命令类似的统计数据。同时Metricbeat 提供多种内部模块,用于从服务中收集指标,例如 Apache、NGINX、MongoDB、MySQL、PostgreSQL、Prometheus、Redis 等等。

    官网:https://www.elastic.co/guide/en/beats/metricbeat/7.6/metricbeat-installation.html

    1. ##进入kibana
    2. 点击集群 -> 使用metricbeat
    3. 输入监测集群URL http://192.168.19.71:9200

    一、安装metricbeat

    1. ##在线安装
    2. curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.6.2-linux-x86_64.tar.gz
    3. tar xzvf metricbeat-7.6.2-linux-x86_64.tar.gz
    4. ##也可以采用docker直接运行
    5. docker pull docker.elastic.co/beats/metricbeat:7.6.2
    6. docker run \
    7. docker.elastic.co/beats/metricbeat:7.6.2 \
    8. setup -E setup.kibana.host=kibana:5601 \
    9. -E output.elasticsearch.hosts=["elasticsearch:9200"]
    1. ##配置进入/etc/metricbeat/modules.d,查看所有模块
    2. --disabled表示未激活,elasticsearch-xpack已被激活
    3. ##vim elasticsearch-xpack.yml
    4. ---------------------------------------------
    5. - module: elasticsearch
    6. metricsets:
    7. - ccr
    8. - cluster_stats
    9. - enrich
    10. - index
    11. - index_recovery
    12. - index_summary
    13. - ml_job
    14. - node_stats
    15. - shard
    16. period: 10s
    17. hosts: ["http://localhost:9200"]
    18. username: "elastic"
    19. password: "123"
    20. xpack.enabled: true
    21. ---------------------------------------------
    22. ##返回上一层,配置metricbeat
    23. vim metricbeat.yml
    24. ---------------------------------------------
    25. output.elasticsearch:
    26. hosts: ["192.168.19.71:9200"]
    27. username: "elastic"
    28. password: "123"
    29. ---------------------------------------------
    30. ##重启elasticsearch服务,查看端口
    31. systemctl restart elasticsearch.service
    32. ##同样对server2\3进行处理,然后禁用内部采集即可

    二、与kibana数据可视化联用

            filebeat可以对日志信息进行检测,官网介绍:https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-installation.html

             点击logs可以查看到有很多日志信息,但此时hostname检索到es各个主机的日志信息(未安装filebeat),集群的日志都在:/var/log/elasticsearch

            filebeat的数据流向为filebeat->logstash-> ES->kibana,组合使用。假如流量很大,为了确保数据不丢失,可以加入中间件kafaka或者redis,实现消息队列,即filebeat->logstash->kafaka-> ES->kibana;
            server1安装filebeat,激活es模块

    1. ##安装:
    2. curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-x86_64.rpm
    3. sudo rpm -vi filebeat-7.6.2-x86_64.rpm
    4. ##配置es
    5. var.paths:
    6. - var/log/elasticsearch/*.log
    7. - var/log/elasticsearch/*_server.json
    8. gc:
    9. enabled: true
    10. var.paths:
    11. - var/log/elasticsearch/gc.log.[0-9]*
    12. - var/log/elasticsearch/gc.log
    13. audit:
    14. enabled: true
    15. var.paths:
    16. - var/log/elasticsearch/*_access.log
    17. - var/log/elasticsearch/*_audit.json
    18. slowlog:
    19. enabled: true
    20. var.paths:
    21. - var/log/elasticsearch/*_index_search_slowlog.json
    22. - var/log/elasticsearch/*_index_search_slowlog.log
    23. - var/log/elasticsearch/*_index_indexing_slowlog.json
    24. - var/log/elasticsearch/*_index_indexing_slowlog.log
    25. deprecation:
    26. enables: true
    27. var.paths:
    28. - var/log/elasticsearch/*_deprecatin.json
    29. - var/log/elasticsearch/*_deprecatin.log
    30. ##配置filebeat全局文件
    31. vim filebeat.yml
    32. -----------------------------------------------------------
    33. hosts: ["192.168.19.71:9200"]
    34. username: "elastic"
    35. password: "123"
    36. -----------------------------------------------------------
    37. ##启动服务
    38. systemctl enable --now filenbeat.service
    39. ##在web端点击logs,通过hostname可以进行查询

    上述配置中:

    1、服务器日志文件集设置:
            var.paths 一组基于全局的路径,指定在何处查找日志文件。Go Glob支持的所有模式也在这里得到了支持。例如,您可以使用通配符从预定义级别的子目录:/path/to/log//. 1log获取所有文件。这将从/path/到/log的子文件夹中获取所有的.log文件。它不会从/path/获取日志文件到/log文件夹本身。如果此设置为空,Filebeat将根据您的操作系统选择日志路径;
    2、gc日志文件集设置
    3、审计日志文件集设置

     【部分问题解决】
    (1)冷热分离
            注意ELK是实时监测数据的,虽然有数据库的功能,但是完全和数据库不一样,实时监测非常消耗资源,如果只当数据库,纯属大材小用。一般要把数据冷热分离,刚刚采集到数据可以理解为热数据(hot),实时写入ELK分析;过一段时间,数据变为温数据(warm),可以用来查询,不再写入;再过一段时间变为冷数据(cold),查询也很少了,我们可以考虑把他放到数据库中存储,或者从硬件方面来说,从高性能的节点存储换为普通性能的节点,把高性能的节点留给热数据;再过很久,会删除数据。

     - 想要实现上面的冷热分离,进行生命周期管理,必须有:
            1、节点标签。区分冷热节点
            2、生命周期策略。定义热阶段的大小,最长时间,存在时长等等
            3、索引模板引用索引模板策略。模板创建索引,加载生命周期策略
            4、索引模板指定调度节点。将新建索引分片分配到热节点

    (2)搜索速度优化
            为了提高es搜索速度,可以考虑下面几种方法:
            1、为文件系统cache留有足够内存,内存越大,速度越快
            2、提升i/o,使用固态硬盘
            3、减少层层嵌套

  • 相关阅读:
    Charles 抓包工具教程(六) Charles 如何使用Repeat 功能进行接口并发操作
    WEB 渗透之文件类操作
    05_2D3D转换
    7、python中的多进程的创建与启动
    存储过程的简单使用以及Mybatis调用存储过程
    矩阵的概念
    2022年最火的十大测试工具,你掌握了几个
    【jvm优化超详细】常见的JVM调优场景
    JS教程之Electron.js设计强大的多平台桌面应用程序的好工具
    数据库 | Mysql - [索引]
  • 原文地址:https://blog.csdn.net/qq_41056224/article/details/126853929