不错的入门书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 ''
{
"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 ''
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 ''
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
阅读(1343) | 评论(0) | 转发(0) |