简单ELK日志查询服务程序搭建

最近在翻<<JAVA微服务实战>>这本书,书中有介绍一个微服务日志系统;

 

ELK是一个技术栈,包括Elasticsearch,Logstash和Kibana,ELK是三种技术首字母缩写.ELK主要用于日志收集.存储与查询..

 

为什么用ELK,就是简单的方便查询分析日志呗...

 

常用的ELK的架构为 logstash==>elasticsearch====>kibana...个人感觉kibana更多的功能在于操作查询使用,一种操作es的可视化工具,在ELK中扮演的作用并不大..

 

考虑到

  • 并发日志量增加
  • logstash将数据索引到ElasticSearch比较慢
  • 索引失败,数据丢失

 

后来多引入一个组件:redis,作为缓冲框架;

 

应用服务===> logstash-shipper ===>redis ===>logstash-indexer ====>elasticSearch ====>kibana;

此时应用服务,shipper,redis,indexer都是用分布式来实现的...相应的组件就是:

本地微服务,logstash,redis,es,kibana;

然后es用的版本是:

其实版本用的挺杂的,自己用这几版本能真正用起来,其实就已经很不错了....

基础环境:

jdk 1.8

 

注意事项:

  • 微服务引入logback的版本要一致,不能有冲突;
  • es的安装需要切换用户;root用户是不能启动执行的
  • redis的安装设置后台启动;修改redis.conf中daemonize为yes,bind参数最好也改一下,很多文章要求改为ip.我是改为0.0.0.0,感觉改成这样更好用...(也可以能是个大坑,至少我现在还没踩到...嘻嘻嘻...)
  • logstash中的设置,注意input和output的插件类型,是file还是tcp;注意ip
  • logstash中的配置文件的格式及 => 等符号...具体有错误时,请仔细查看启动日志(tail -f nohup)非常有用.

至少上面几点是我踩过的坑,真是有效.

 

各程序的启动命令(仅方便本人使用)

es:su es(切换es用户) 进入 /usr/local/elasticsearch下,./bin/elasticsearch -d 启动即可,jps -m -l查看进程 ip:9200

kibana:进入/home/soft/kibana-6.3.2-linux-x86_64..执行命令 nohup ./bin/kibana & 后台执行 node程序  ip:5601
    查看进程  netstat -tlnp |grep 5601得到一个pid,ps aux | grep pid(上一个命令的pid值) 即可
ip:5601

redis安装目录:
/home/soft/redis-5.0.7
启动服务端:./src/redis-server redis.conf  (bind 0.0.0.0)

启动客户端:./src/redis-cli (因为我已经改过bind了..所以没问题)

启动:logstash-indexer/shipper:

nohup ./bin/logstash -f conf/logstash.conf & 启动即可...tail -f nohup.out查看启动日志

关闭:ps -ef|grep logstash  看清楚,哪个是你的进程,再kill掉

 

其他的坑,后期遇到了再补充...本文简单介绍,下文分开说.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值