graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

导读:本篇文章讲解 graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

问题背景

由于微服务很多,在查询时有些比较频繁,事先设置好常用的查询,操作更友好

graylog+kafka+zookeeper(单机测试及源码),graylog组件部署,查找问题分析(一)

graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)

graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三)

graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四)

graylog+kafka+zookeeper(单机测试及源码),graylog设置URL报警方式(五)

graylog+kafka+zookeeper(单机测试及源码),graylog+filebeat+sidecars收集log日志(六)

graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

graylog+kafka+zookeeper(单机测试及源码),仪表板Dashboards创建及使用(八)

graylog+kafka+zookeeper(单机测试及源码),indices索引和streams流创建及使用,日志定期删除功能(九)

方案一 通过logback方式进行发送日志

1 先通过查询条件找出需要的微服务如,以此类推,选择查询时间,点击保存,输入名字
authentication-server微服务的正常日志

app_name:authentication-server AND (level_name:INFO OR level_name:WARN OR level_name:DEBUG)

authentication-server微服务的错误日志

app_name:authentication-server AND level_name:ERROR

graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)
这样就可以每次直接查询想要的微服务了

2 点击search,在点击Load
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)
3 点击Load之后,选择需要查询的微服务日志
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

3 选择authentication-server-INFO,再选择查询时间,点击查询按钮,查询语法
显示如下
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

方案二 通过filebeat+sidecar方式

1 每台服务需要安装filebeat和sidecar
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

2 设置查询条件,直接选择查找的日志,因为filebeat方式没有像logback的方式可以设置服务名app_name,并且没有日志等级level_name,所以查询并不方便,也没有traceId,spanId,parentId等,唯一能分服务查询使用的是日志存储的路径名,因为在打印日志时,已经区分了ERROR日志,和INFO日志,具体语法如下:

filebeat_log_file_path:\/usr\/local\/adayun\/authentication\-server\/logs\/app.log
filebeat_log_file_path:\/usr\/local\/adayun\/authentication\-server\/logs\/app-error.log

反斜杠为转义字符
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)
3 sidecar前缀开头的是filebeat+sidecar查询方式
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)
4 选择sidecar-authentication-server-INFO,再选择查询时间,点击查询按钮,显示如下
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

方案选择总结

  • 推荐使用logbcak方式,因为filebeat有非常大的局限性,很多查询条件没有了,比如没有日志等级、微服务名、traceId、spanId、parentId等查询条件

  • 使用logback方式,可以根据traceId条件查询,找到一条链路所打印的日志,例如使用查询条件traceId:bd93b472a6acde19,可以一次性找到一条链路的信息
    graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

  • 如果要使用filebeat追踪链路日志,需要在日志打印的时候,手动添加traceId在message,这样可以作为查询条件使用,但还是推荐logback,这也是官方推荐,可以看到traceId、spanId、parentId等信息,如下所示

graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

心得

  • 这样设置之后,用起来很方便,大家有好的方法也可以留言

作为程序员第 24 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

Lyric: 开心的被粘手

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/110852.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!