一、简介
实习的公司用到elasticsearch,前端时间做搜索安装的时候没有写记录,有点遗憾TAT。
es的插件实在多,除了基本的es,我们还使用了ruby的更新插件,在git上找到的,没有用一般的jdbc插件的原因是它们不支持嵌套的数据类型(恩,,我们的数据比较复杂一点,存在一对多的关系,所以设计了嵌套的结果)。一般的都会用到的head插件,用起来很方便。
最近打算用到logstash+kibana做监控统计。Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。而logstash可以对你的日志进行收集、分析并存储以供以后使用,同时它还带有一个web界面,可以对日志进行搜集和展示。
1.安装比较简单,下载与你的系统兼容的压缩包,解压就好,注意不要解压到带“:”的目录下。
2.配置:配置主要是配置pipeline,一般包括input,output以及filter。用官网上的一句话来说明“The Logstash event processing pipeline has three stages: inputs → filters → outputs. Inputs generate events, filters modify them, and outputs ship them elsewhere.”。
3.处理流程:以上,logstash的处理流程很明确了。
a. Inputs:”You use inputs to get data into Logstash“。一些常见的输入方式有:(1)文件:文件系统中的文件;(2)系统日志,‘listens on the well-known port 514 for syslog messages and parses according to the RFC3164 format’;(3)redis,;(4)beats。 更多可用的input会在下面的“ Input Plugins”部分详细介绍。
b.Filters:“Filters are intermediary processing devices in the Logstash pipeline”。一些常见有用的例子:(1)grok:解析和结构化任意文本,将非结构化数据转换为结构化可查询的数据的最好方式,logstash提供了120个内置的模式;(2)mutate:可以对事件字段执行基本的转换,You can rename, remove, replace, and modify fields in your events.;(3)drop:顾名思义,可以放弃一种事件,例如debug events;(4)clone:copy;(5)geoip:为IP地址添加地址位置信息(可以在kibana中展示amazing的图表!) 更多关于过滤器的内容会在下面的“ Filter Plugins”部分详细介绍!
c. Outputs:(1)elasticsearch:如果你想要高效、方便、易于查询的格式,es is the way to go :);(2)file:write event data to a file on disk;(3)graphite;(4)statsd 更多关于过滤器的内容会在下面的“ Output Plugins”部分详细介绍!
二、配置Logstash
创建一个config文件,其中指定你想要使用的插件以及插件的配置。并在运行时使用-f命令指定你的配置文件。