ELKStack日志分析系统单机安装


运行环境:

操作系统:CentOS 7.0 64位

JDK:1.8

logstash:1.5.4

elasticsearch:1.7.1

kibana:4.1.4



目的:

通过ELKStack管理Java日志


Java测试类如下:

(该类只用了log4j的jar包)

package org.logstash;
import org.apache.log4j.Logger;
public class HelloExample
{
final static Logger logger=Logger.getLogger(HelloExample.class);

public static void main(String[] args)
{
HelloExample obj=new HelloExample();
try{
obj.divide();
}catch(Exception ex){
logger.error("报错了,报错了。。");
System.out.println("System:"+"报错了,报错了。。");
}
}

private void divide(){
int i=10/0;
}
}


log4j.properties配置文件如下:


log4j.rootLogger=DEBUG,logstash
#####SocketAppender######
log4j.appender.logstash=org.apache.log4j.net.SocketAppender
log4j.appender.logstash.Port=4560
log4j.appender.logstash.RemoteHost=127.0.0.1
log4j.appender.logstash.ReconnectionDelay=60000
log4j.appender.logstash.LocationInfo=true


该类最后打包成了一个可执行jar包LogstashExample.jar



ELKStack部署步骤:

1、安装JDK1.8,这个步骤省略

2、新建一个文件夹专门存放ELK套件,我这里是在根目录新建了一个名为ELKStack的文件夹,将安装包全部拷贝到该文件夹下,这个步骤非必须,看个人。

3、部署logstash

      tar -xzvf logstash-1.5.4.tar.gz    #解压logstash

      cd /ELKStack/logstash-1.5.4/bin

      ./logstash -e ''      #执行logstash,测试logstash是否正常

      直接在控制台任意输入,如:Hello World,logstash输出如下,表示logstash可以正常运行:

{
        "message" => "Hello World",
      "@version" => "1",
    "@timestamp" => "2017-02-13T06:33:36.486Z",
          "type" => "stdin",
          "host" => "localhost.localdomain"
}

(Ctrl+C可以关闭logstash进程)

4、修改logstash执行配置文件

      vi logstash_to_elasticsearch.conf   #新建并编辑logstash_to_elasticsearch.conf文件,该文件在/ELKStack目录下

      logstash_to_elasticsearch.conf内容如下:

input{
log4j{
type=>"log4j-json" 
port=>4560
}
}
output{
stdout{
codec=>rubydebug
}
elasticsearch{
host=>localhost    #这个位置如果是在同一个计算机上一定要用localhost,且不需要引号,用IP会出错
}
}

5、部署elasticsearch

tar -xzvf elasticsearch-1.7.1.tar.gz   #解压

cd /ELKStack/elasticsearch-1.7.1/bin

./elasticsearch   #执行elasticsearch

cd /ELKStack/logstash-1.5.4/bin

./logstash -f ../../logstash_to_elasticsearch.conf  #执行logstash,通过该方式执行logstash,可以加载配置文件中的参数,使得logstash可以将日志输出到elasticsearch

6、部署kibana

tar -xzvf kibana-4.1.4-linux-x64.tar.gz   #解压

cd /ELKStack/kibana-4.1.4-linux-x64/bin

./kibana   #执行kibana,kibana天然就与elasticsearch相连,在elasticsearch处于运行情况下可以直接搜elasticsearch的端口号,与elasticsearch进行连接,所以不需要修改任何配置就可以运行,只需注elasticsearch和kibana的版本

7、运行测试类jar

      java -cp LogstashExample.jar org.logstash.HelloExample

浏览器中输入kibana的地址:http://192.168.213.129:5601/    #IP根据个人电脑会有不同,但是端口号肯定是5601

这时我们就可以在kibana中看到输出的错误日志




遇到的问题:

ELKStack是很强大的日志分析系统,但是不同三个套件必须版本匹配,不然将无法使用ELK,我这边是自己通过很多版本的尝试之后找到的比较匹配的版本。

在编写logstash的配置文件的时候也需要注意,我也不知道为啥用IP就不行,可能是没有hosts的支持吧,毕竟是单机安装,建议还是使用localhost。


遇到的问题:

ELKStack是很强大的日志分析系统,但是不同三个套件必须版本匹配,不然将无法使用ELK,我这边是自己通过很多版本的尝试之后找到的比较匹配的版本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值