Learning ELK stack 学习笔记

本文介绍了ELK堆栈的基本组件及其配置方法,包括Logstash的输入、过滤、输出插件,Elasticsearch的索引管理和Kibana的高级功能。同时探讨了日志收集流程、数据保留策略和系统伸缩性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不错的入门书Learning ELK stack
第三章:
Logstash插件类型分为四类:
 Input
 Filter
 Output
 Codec

Logstash input类的file插件维护了一个sincedb文件追踪监控操作文件的当前位置。默认写入$HOME/.sincedb*,游标及读取频率可以通过配置修改。
file的两个配置属性:sincedb_path,sincedb_write_interval(默认15秒读取一次文件)
这里还涉及另一个配置 start_position => "beginning" 或"end"(默认),使用beginning,如果移除了.sincedb,将重新读取历史数据,造成数据重复。
lumberjack和logstash forwarder(轻量化的logstash)使用lumberjack协议打包日志
redis经常做为logstash forwarder 与logstash的中间人角色,在高负载系统上提供获取日志的服务。

Logstash outpu类型插件:
重点是elasticsearch,email,kafka,lumberjack,redis,
Logstash filter类型插件:
date,drop,grok解析非结构化的日志转换成结构化,mutate重命名,移除,替换,修改字段,转换字段类型,合并字段等
Logstash codec类型插件:编码解码日志
json,mutliline


第五章节:
elasticsearch > indices > documents(json) > fields(_type,mapping)
                    pattern=>"logstash-%{+YYYY.MM.dd}"(默认index)
shard:index的物理存储位置,支持Primary shard and replica shard, 默认每个document使用5个shard
    replica shard分布在各个节点上,可以failover与平均负载

cluster > nodes :三种角色
                =>data node
                =>master node
                =>routing node & load banlancer node
elasticsearch api
    $curl -X '://://?'d ''
VERB:GET, POST, PUT,DELETE, HEAD
PROTOCAL:http,https
PATH:/index/type/id
OPERATION_NAME: _search, _count, and so on
QUERY_STRING: ?pretty for pretty print of JSON documents
BODY: This makes a request for body text.
查看指定index的document
thinkt@linux-pw37:~> curl -XGET 'http://192.168.56.101:9200/logstash-2016.09.09/_search?pretty'
{
  "took" : 107,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "logstash-2016.09.09",
      "_type" : "logs",
      "_id" : "AVf3tVjYndkMLGPlmtnx",
      "_score" : 1.0,
      "_source" : {
        "message" : "2016-09-09,770.099976,773.244995,759.659973,759.659973,1812200,759.659973",
        "@version" : "1",
        "@timestamp" : "2016-09-09T00:00:00.000Z",
        "path" : "/home/vagrant/table.csv",
        "host" : "localhost.localdomain",
        "Date" : "2016-09-09",
        "Open" : 770.099976,
        "High" : 773.244995,
        "Low" : 759.659973,
        "Close" : 759.659973,
        "Volume" : 1812200,
        "Adj_close" : 759.659973
      }
    } ]
  }
}
查看所有index
thinkt@linux-pw37:~> curl -XGET 'http://192.168.56.101:9200/_cat/indices?v'
health status index               pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-2016.03.18   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.03.17   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.03.16   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.03.15   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.06.07   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.06.08   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.06.09   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.08.31   5   1          1            0        8kb            8kb
yellow open   logstash-2016.09.01   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.08.30   5   1          1            0        8kb            8kb
yellow open   logstash-2016.03.21   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.06.14   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.09.08   5   1          1            0        8kb            8kb
yellow open   logstash-2016.06.15   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.09.09   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.06.16   5   1          1            0      7.9kb          7.9kb
yellow open   logstash-2016.09.06   5   1          1            0      7.9kb          7.9kb

查看集群中所有nodes
thinkt@linux-pw37:~> curl -XGET 'http://192.168.56.101:9200/_cat/nodes?v'
host      ip        heap.percent ram.percent load node.role master name
10.0.2.15 10.0.2.15           13          56 0.00 d         *      node-1

logstash 的elasticsearch 插件会自动创建index


kibana4特性:
搜索关键字高亮
聚合类型:桶,度量
可脚本化的字段
动态展示

kibana的主项:
discover,visualize,dashboard,settings

discover的search box搜索记录默认最多显示500条index documents
    time filter支持quick,absolute,relative三种时间过滤方式,并支持定义自动刷新间隔,也可以使用histogram直方图拖动选择时间。
    查询语法使用lucene语法
    Lucene     
        n.     Lucene是一个非常优秀的开源的全文搜索引擎; 我们可以在它的上面开发出各种全文搜索的应用来。Lucene在国外有很高的知名度; 现在已经是Apache的顶级项目; 在国内;
    搜索方式:search box 文本查询,field查询

visualize,dashboard


阻止数据丢失
logs > borker(redis,rabbit mq,amqp,zeroMQ) > logstash > elasticsearch > kibana > nginx
加固数据访问
elasticsearch,kibana使用SSL认证访问elasticsearch
    browser-(ssl_key_file,ssl_cert_file)->kibana->elasticsearch
Elasticsearch shield(收费)
Search guard(free)
系统伸缩性
    horizontally scalable
    fast,quick,realtime
    inexpensive便宜的
    flexable弹性灵活的
    用户量及支持力度
    开源的
    
数据保留策略
    elasticsearch curator管理indeices


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值