ELK + Redis 日志分析系统 -学习第一天

ELKElasticsearchLogstashKibana三部分组件组成;


Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。【我的理解类似solr、lucense的搜索引擎,其实后来才知道他根本就是lucense】

Logstash可以日志进行收集、分析,并将其存储的开源工具。【类似Flume的功能,实际上不如Flume好玩。我个人认为】

Kibana。 可以认为是友好的 Web 界面。 把前两个收集整理的数据展现出来。

Redis内存数据库。使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。


在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。


1、安装jdk

mkdir -p /usr/lib/jvm

tar -xvf  jdk-8u45-linux-x64.tar.gz -C /usr/lib/jvm

 

# vim /etc/profile 配置系统参数
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

2、安装logstash

1
2
3
4
5
6
# wget https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz
# tar zxf logstash-1.5.4.tar.gz -C /usr/local/
 
配置logstash的环境变量
# echo "export PATH=\$PATH:/usr/local/logstash-1.5.4/bin" > /etc/profile.d/logstash.sh
# . /etc/profile
3、做 2个测试

1 通过-e参数指定logstash的配置信息,用于快速测试,直接输出到屏幕。

1
2
3
4
5
# logstash -e "input {stdin{}} output {stdout{}}"            
my name is zhengyansheng.     // 手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
2015-10-08T13:55:50.660Z 0.0.0.0 my name is zhengyansheng.
这种输出是直接原封不动的返回...

2 通过-e参数指定logstash的配置信息,用于快速测试,以json格式输出到屏幕。

1
2
3
4
5
6
7
8
9
10
# logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
my name is zhengyansheng.     // 手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
{
        "message"  =>  "my name is zhengyansheng." ,
       "@version"  =>  "1" ,
     "@timestamp"  =>  "2015-10-08T13:57:31.851Z" ,
           "host"  =>  "0.0.0.0"
}
这种输出是以json格式的返回...
4、以配置文件的方式再做个测试

logstash-simple.conf 在你的安装路径下自己新建。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# vim logstash-simple.conf 
input { stdin {} }
output {
    stdout { codec=> rubydebug }
}
 
# logstash -f logstash-simple.conf    //普通方式启动
Logstash startup completed
 
# logstash agent -f logstash-simple.conf --verbose //开启debug模式
Pipeline started {:level=>:info}
Logstash startup completed
hello world.     // 手动输入hello world.
{
        "message"  =>  "hello world." ,
       "@version"  =>  "1" ,
     "@timestamp"  =>  "2015-10-08T14:01:43.724Z" ,
           "host"  =>  "0.0.0.0"
}
效果同命令行配置参数一样...

此处,我遇到了一个问题。如下图:



这个是因为,配置文件 logstash-simple.conf  编码不对。

把编码改成 utf-8 的格式就可以了。

什么?

不知道怎么改?

好吧,百度一下自己。【提示,vim :set】




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值