日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~

前言

在真实的项目中,不管是功能日志、错误日志还是异常日志,已经是项目的重要组成部分。在原始的单体架构,通常看日志的方式简单粗暴,直接登录到服务器,把日志文件拷贝下来进行分析;而如今分布式、微服务架构盛行,如果每个节点服务器都去拷贝一次,估计还没等你拷贝完,Boss就要炸锅了;特别是遇到线上问题,肯定需要快速响应,所以好的日志管理工具真的不能少,这里就来说说Excetpionless日志框架。

正文1. Exceptionless简介

Exceptionless是开源的,可以为 aSP.nET、Web aPI、WebFoRms、WPF、控制台项目收集对应的异常、事件和日志信息,并将收集到的信息进行分组归类,有利于问题排查及相关数据统计。使用简单也便捷,主要功能如下:

通俗一点来说就是把异常、日志等信息收集在一起,统一的入口查看;针对相关信息进行分组,并以图表的形式进行查看,还可以对用户关心的信息进行通知提醒等扩展功能

图片[1]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

Exceptionless有两种方式可以进行日志管理:

下面以WebaPI项目的方式进行演示,版本用.nET5。

2. 托管方式实现2.1 注册账号并创建组织和项目

直接进入官网()注册一个账号即可,注册账号绝对免费滴;

图片[2]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

image-20210925110911088

创建组织和项目,如下:

先创建组织

图片[3]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

再创建项目

图片[4]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

2.2 引入nuGET包并在StaRtup.cs注入和使用

这里创建了一个WebaPI项目,引入Exceptionless.aspnetcoRe 即可;

图片[5]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

在StaRtup.cs文件中进行注入相关服务并注册到管道中,如下:

图片[6]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

2.3 记录日志看效果

这里在aPI中进行日志记录和异常信息上报,如下:

图片[7]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

效果,登录进官网(),就会看到对应的异常信息了,如下:

图片[8]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

3. 自己搭建环境2.1 安装环境

Exceptionless提供DockeR安装版,这里先以DockeRfile形式演示,DockeR compose就一样的道理,只是分开容器部署更方便了。现在先直接下载(),推荐7.1.0版本,7.1.1的折腾了我好久,要么脚本执行不成功,要么缺少文件;然后拷贝到对应的DockeR主机上解压,如下:

%ignoRe_pRe_1%

解压后的信息如下

图片[9]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

DockeRfile 把对应的Exceptionless UI、ElasticseaRch等都安装在内部了,由于我的云服务内存比较小(内存大的可以不改),DockeRfile文件中默认指定了ElasticseaRch最小使用内存为1G,如果内存不够,就会报错空间不足,所以稍微改动一下DockeRfile,如下:

图片[10]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

改好之后就直接构建为镜像,执行如下命令:

%ignoRe_pRe_2%

构建成功之后,直接通过镜像启动容器即可,如下命令

%ignoRe_pRe_3%

可能由于服务器配置比较低的原因,启动稍微需要点时间

注:如果对dockeR还不太熟的,参考

Excpetionless aPI和Exceptionless UI 站点部署为一个站点了,如果能如下访问页面并能注册成功,环境就搭建完成。

图片[11]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

2.2 实操演练

登录Exceptionless UI系统(:5000/)进去之后就创建组织和项目,和托管的步骤差不多:

图片[12]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

下一步就是针对选择自己的项目类型,集成就行了(这步托管的也有,只是没截图),如下:

图片[13]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

稍微改改StaRtup.cs文件,其他不用动,如下:

图片[14]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

好了,这样就改完了,其他代码不动,运行访问一下aPI ,看日志效果

图片[15]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

2.3 Exceptionless 还提供接口调用

不管是托管还是自己搭建环境,都有提供对应的aPI进行调用,所以可以通过aPI的形式自己搞一个个性化的UI出来,也可以在其他系统中集成显示日志,反正接口在手,爱咋玩就咋玩;实在不行就改源代码,嘿嘿嘿~~~。

图片[16]-日志管理软件-分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~-OK资源网

Exceptionless的使用还是很简单的,只是搭建的时候的花点心思。

代码地址

Exceptionless官网

Exceptionless源代码

总结

关于上面只是演示Exceptionless的使用,包含托管和自己搭建环境,基本上小伙伴都会选择自己搭建;搭建过程需要花点心思,比如ES要不要集群,要不要支持aPM,邮件通知配置等等,不过现在可以通过DockeRcompose一键安装,最多就是需要等待一会。还有如果想搞点个性化的,也可以在Exceptionless的源代码上做操作;后续细节再单独汇总吧;

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发