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

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

一、安装metricbeat

##在线安装
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.6.2-linux-x86_64.tar.gz
tar xzvf metricbeat-7.6.2-linux-x86_64.tar.gz

##也可以采用docker直接运行
docker pull docker.elastic.co/beats/metricbeat:7.6.2
docker run \
docker.elastic.co/beats/metricbeat:7.6.2 \
setup -E setup.kibana.host=kibana:5601 \
-E output.elasticsearch.hosts=["elasticsearch:9200"]  
##配置进入/etc/metricbeat/modules.d,查看所有模块
    --disabled表示未激活,elasticsearch-xpack已被激活

##vim elasticsearch-xpack.yml
---------------------------------------------
- module: elasticsearch
  metricsets:
    - ccr
    - cluster_stats
    - enrich
    - index
    - index_recovery
    - index_summary
    - ml_job
    - node_stats
    - shard
  period: 10s
  hosts: ["http://localhost:9200"]
  username: "elastic"
  password: "123"
  xpack.enabled: true
---------------------------------------------

##返回上一层,配置metricbeat
vim metricbeat.yml
---------------------------------------------
output.elasticsearch:
  hosts: ["192.168.19.71:9200"]
  username: "elastic"
  password: "123"
---------------------------------------------

##重启elasticsearch服务,查看端口
systemctl restart elasticsearch.service

##同样对server2\3进行处理,然后禁用内部采集即可

二、与kibana数据可视化联用

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

ELK日志采集平台(四)---轻量级采集工具metricbeat_第1张图片

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

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

##安装:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-x86_64.rpm
sudo rpm -vi filebeat-7.6.2-x86_64.rpm

##配置es
  var.paths:
       - var/log/elasticsearch/*.log
       - var/log/elasticsearch/*_server.json

  gc:
    enabled: true
    var.paths:
        - var/log/elasticsearch/gc.log.[0-9]*
        - var/log/elasticsearch/gc.log

 audit:
    enabled: true
    var.paths:
        - var/log/elasticsearch/*_access.log
        - var/log/elasticsearch/*_audit.json
 slowlog:
    enabled: true
    var.paths:
      - var/log/elasticsearch/*_index_search_slowlog.json
      - var/log/elasticsearch/*_index_search_slowlog.log
      - var/log/elasticsearch/*_index_indexing_slowlog.json
      - var/log/elasticsearch/*_index_indexing_slowlog.log

deprecation:
    enables: true
    var.paths:
      - var/log/elasticsearch/*_deprecatin.json
      - var/log/elasticsearch/*_deprecatin.log
        
##配置filebeat全局文件
    vim filebeat.yml
-----------------------------------------------------------
hosts: ["192.168.19.71:9200"]
username: "elastic"
password: "123"
-----------------------------------------------------------

##启动服务
systemctl enable --now filenbeat.service

##在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、减少层层嵌套

你可能感兴趣的:(elasticsearch,elk,数据库)