(四)ELKB日志监控管理

elk全套相关组件下载

1:ELKB日志监控管理

elk包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。
数据采集:beats
数据解析,清洗:Logstash
数据存储:Elasticsearch
数据可视化:Kibana

1.1:整体架构

在这里插入图片描述

2:beats数据采集

Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。
根据不同的采集有不同的采集工具:主要如下beats系列工具
我们根据自己的需要安装不同的beats
beats包含的常用组件如下:

packetbeat(用于服务器间监控网络流量,程序性能等)

filebeat(用于监听日志数据,可以替代logstash-input-file)

topbeat(用于搜集进程的信息、负载、内存、磁盘等数据)

Metricbeat 是一种轻量级的数据摄入器,您可以将其安装在服务器上,以定期从操作系统和服务器上运行的服务收集指标。 Metricbeat会收集它收集的度量标准和统计信息,并将其运送到您指定的输出,例如 Elasticsearch 或 Logstash。

winlogbeat(用于搜集windows事件日志)

具体安装使用:beats轻量化采集工具

3:logstash

1:安装启动logstash

它提供了大量的插件,可帮助您解析,过滤,转换和缓冲来自各种来源的数据

1:安装
下载:curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-6.8.13.rpm
或者自行去官网下载
解压:sudo rpm -i logstash-6.8.13.rpm
2:配置

Logstash提供了用于从各种输入中读取的输入插件。在本指南中,您将创建一个Logstash管道配置,该配置侦听Beats输入并将接收到的事件发送到Elasticsearch输出。
vim demo-metrics-pipeline.conf
该文件配置我们的数据监听哪里,怎么处理,发送到哪里?

input {			
  beats {
    port => 5044
  }
}

# The filter part of this file is commented out to indicate that it :filter部分是可选的
# is optional.
# filter {
#
# }

output {			
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  }
}
3:启动logstash

-f就是我们创建的配置文件

./bin/logstash -f demo-metrics-pipeline.conf 
4:logstash单元测试

logstash可不依赖beats使用。elk进行单独测试
前提es,kibana必须按照正常使用
1:创建测试配置文件:vim demo-metrics-pipeline.conf

input {					
 stdin{}   #stdin是监控控制台输入,也就是我们启动后的窗口 可以作为控制台输入数据发送到output
}

# The filter part of this file is commented out to indicate that it :filter部分是可选的
# is optional.
# filter {
#
# }

output {			#输出我们是写了两个地方,为了验证logstash的安装正确
 # elasticsearch {
 #   hosts => "localhost:9200"
 #   manage_template => false
 #   index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
 # }
	stdout{             #输出1:控制台,也就是我们的输入会在控制台再输出一次
		codec => rubydebug {}
	}
	  elasticsearch {	#输出2:正常的话输出到es,存到索引
	    hosts => "es-ip:9200"
	    manage_template => false
	    index => "logsatsh-%{+YYYY.MM.dd}"
	  }
}

2:启动logstash

./bin/logstash -f demo-metrics-pipeline.conf 

此时就是一个交互窗口。我们可以发送数据hh,控制台会输出我们的索引结果

 ./bin/logstash -f demo-metrics-pipeline.conf 
hh

[INFO ] 2021-01-07 06:27:31.495 [Ruby-0-Thread-1: /usr/share/logstash/lib/bootstrap/environment.rb:6] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
{
    "@timestamp" => 2021-01-06T22:27:31.482Z,
      "@version" => "1",
          "host" => "hdp01",
       "message" => "hh"
}
[INFO ] 2021-01-07 06:27:32.176 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}

3:此时去kibana可以查看:GET logsatsh-2021.01.06/_search
写入成功

2:grok过滤器

grok过滤器文档: https://www.elastic.co/guide/en/logstash/6.8/plugins-filters-grok.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值