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

前言

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

正文

1. Exceptionless简介

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

  • 针对关注信息可进行通知提醒;

  • 收集信息根据种类进行分组管理;

  • 记录详细的错误或异常信息,排查错误更轻松;

  • 可以管理用户查看信息;

  • 图表形式显示数据更加直观;

  • 相关配置轻松设置;

  • 收集日志、错误信息等很方便;

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

bca800131231f6edd3745eed2d2b6ad0.png

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

  • 托管方式

    这种方式只需要在Exceptionless官网(https://exceptionless.com/)注册一个账号即可,存储那些都不用管,比较省心,简单三步走就能完成日志收集,如下:

    0aeb47557ae20edbb6060ebe7de454d1.png

    这种方式是把采集到的信息存储到官方的服务器上了,感觉不太好,一是日志信息其实对于一些项目来说很重要,二是要收费啊,免费版其实就是试用版,高级功能用不了,还要限制人数和项目数。

    eb053741ccd9a27fd069c314670338e6.png
  • 自己搭建环境

    自己搭建环境,服务器都是自己,私有化,爽歪歪;但这种方式,不好的点就是需要花钱买服务器;

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

2. 托管方式实现

2.1 注册账号并创建组织和项目

直接进入官网(https://exceptionless.com/)注册一个账号即可,注册账号绝对免费滴;

5d3476e79af8941734fb11b93de22490.png
image-20210925110911088

创建组织和项目,如下:

先创建组织

40ae26bf298a544c009bcf0d90daa173.png

再创建项目

2c0e11ea2429031b75dea42c5d643486.png
2.2 引入NuGet包并在Startup.cs注入和使用

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

cf54cba7c15029f958a7bbc4a68057f5.png

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

df8a7b2cc8a841074e1d900767cceb94.png
2.3 记录日志看效果

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

1949e519794d8ceb13295e0fc6695307.png

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

a913d6a0aa9326c69a385292a254f0d9.png

3. 自己搭建环境

2.1 安装环境

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

# 如果unzip命令找不到,就需要安装yum install -y unzip zip# 然后解压unzip Exceptionless-7.1.0.zip

解压后的信息如下

1f5d8be8d8050501d5b813190bc85172.png

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

d070af8907a5ce97e01202a747938e3a.png

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

docker build -t test333 .

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

docker run -it --name tt3 -p 5000:80 -p 9200:9200 test333

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

注:如果对docker还不太熟的,参考docker系列文章

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

48c5262e782d8c5a585df34412052fb3.png
2.2 实操演练

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

d230fbd355e1281a8fa3468869ebc326.png

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

e8d3ec03c79d9e70d8b2c125be97dd73.png

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

80ac08bd1cecdd10ac43a6d66be482cf.png

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

e1bb1e3c8e470aac6ab2c4833745397c.png

2.3 Exceptionless 还提供接口调用

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

138f10cded966eed1a66a7bd458b8ada.png

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

代码地址:https://gitee.com/CodeZoe/microservies-demo/tree/main/ExceptionlessDemo

Exceptionless官网:https://exceptionless.com

Exceptionless源代码:https://github.com/exceptionless/Exceptionless/releases

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

章节回顾: 《TCP/IP详解卷1:协议》第1章 概述-读书笔记 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记 《TCP/IP详解卷1:协议…

10以内的分解与组成怎么教_狗狗酷炫的飞盘游戏怎么玩?分解步骤教你快速学会...

现在的铲屎官都喜欢训练自己的狗狗,训练狗狗不仅可以增加狗狗与主人的感情,还能增强狗狗的协调性,开发狗狗的智力,可谓一举两得。其中飞盘是大家都比较爱的活动,经常看看狗狗以华丽的身姿一跃接起主人扔的飞盘&#xf…

计算机组成与系统 报告,计算机组成与系统结构实验报告2

计算机组成与系统结构实验报告,西北工业大学评语: 课中检查完成的题号及题数: 成绩:自评成绩:95课后完成的题号与题数:实验报告实验名称: 班级:1.4 CPU 与简单模型机设计实验 日期: 2015.11.16 杨添文10011303 学号&am…

c++ 异步下获取线程执行结果_前端异步编程的那些事

啊一、异步编程的运行机制我们学习Javascript语言的时候就知道它的执行环境是”单线程“的。所谓”单线程“,就是指一次只能处理一个任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务。常见的浏览器无响应(假…

自动驾驶规划算法

本文将讲解BFS,Dijstra,A*,动态规划的算法原理,不正之处望读者指正,希望有兴趣的读者能在评论区提出一些这些算法的面试考点,共同学习,一起进步 0 图论基础 图有三种:无向图、有向…

印度网民集体删除中国APP,网友评论亮了

全世界只有3.14 % 的人关注了爆炸吧知识最近,国外有一款Remove China Apps火了。这款APP只有一个功能:可以一键扫描用户手机里的应用,识别出自中国公司的应用,并进行一键删除的骚操作。应用的主图标、界面,甚至特意使用…

SQL Server 负载均衡集群(转)

SQL Server 负载均衡集群一个应用系统随着业务量的提高,以及访问量和数据流量的快速增长,各个核 心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资…

大前端快闪二:react开发模式 一键启动多个服务

最近全权负责了一个前后端分离的web项目,前端使用create-react-app[1], 后端使用golang做的api服务。npx create-react-app my-app cd my-app npm start歘歘歘,就搭建了一个react前端项目。前端老鸟都知道npm start或yarn start以开发模式启动react App&…

数据库比较工具SQL Delta

SQL Delta 版本4只支持SQL Server数据库 版本5支持Oracle 但是数据库中不可以有英文 否则连接时会报 ORA-12737: Instant Client Light: unsupported server character set ZHS16GBK的错误 配置如下所示: 转载于:https://blog.51cto.com/shuimomo/461266

女朋友在家是怎么利用我的模型的​

1 趁着奶猫还没长大,赶紧摸2 说有谁不喜欢玩具呢3 爸爸再也不用费心编辫子了4 谁知道这是什么5 还挺会利用的啊6 学霸上厕所的时候7 逻辑推理你点的每个赞,我都认真当成了喜欢

abap al设置单元格可编辑 oo_润乾报表美化设置 -- 样式

在制作报表时,报表设计人员经常遇到下面这些美化报表的问题:为什么我做出的报表领导总觉得不好看不满意 美化一张报表要设置太多的格式和属性,那么多报表都得重复设置,真繁琐 系统中不同人做出的报表展现格式各不相同,…

GRPC在网页前端的使用

一直以来都是一个桌面端程序狗,某天突发奇想,想用网页实现一个客户端,于是开始了electronvueasp.netcore的探寻之路,这条道路很坎坷主要是css让我头疼不已(当然我们并没有放弃使用wpf,我是一个wpf老手&…

vue 带全选和多选的表格怎么写_EXCEL五分钟,批量制作带照片的工地出入证

作者:祝洪忠 转自:Excel之家ExcelHome小伙伴们好啊,今天和大家分享一个邮件合并的技巧——批量制作带照片的工地出入证。先看效果图:要准备的材料包括:一、Excel资料表资料表中包括姓名、工号和用姓名命名的带格式后缀…

从小一看到数字,脑子里就开始搞颜色......

1 脑子里的数字有颜色估计都是它的锅▼2 不愧是你▼3 文科生考场惯用伎俩填满了就是胜利▼4 每年向社会输送大量精英人才▼5 ???▼6 高考最后一晚逆袭的答案在一本叫《刑法》的书里▼7 中国外卖VS俄罗斯外卖毛子送外卖坐公交你敢信&am…

android键盘弹出,聊天背景不变形

2019独角兽企业重金招聘Python工程师标准>>> android:transcriptMode"normal",如果软键盘弹出时候,设置该属性listview会自动调整到最后,这样弹出的软键盘就不会遮盖到listview了 背景图尽量用 getWindow().setBackgrou…

bpmn文件的标签为何都以bpmn2开头_C语言之两种作用域:函数的作用域与文件作用域...

作用域描述程序中可访问标识符的区域。一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。其中,块是用一对花括号括起来的代码区域。例如,整个函数体是一个块,函数中的任意复合语句也是一个块。定义在块中的变量具有…

集成开放平台标准化连接器之基于OAS3.0的API管理能力

源宝导读:随着企业信息化进程的逐步深入,互联网技术的发展和分布式系统应用的日益广泛,直接导致大量异构系统的存在,这些系统往往各自独立、封闭运行,相互之间不存在或很少存在数据的交互,由于这种应用分割…

axure 组件_技巧分享 | Axure后台组件制作的全过程

点击上方蓝字,关注行设视觉黑马家族成员原创发布于行设视觉,转载请注明出处。作者 | 时光若刻http://www.woshipm.com/rp/2527010.html大家好,前一段时间我刚刚分享了一篇《打造高品质Axure组件库就是这么简单》,意在分享给大家一…

有没有测试人心里的软件,心理测评,认识自己的有效工具:(二)你做的可能是假的心理测试...

上一篇文章主要介绍了心理测评的基础知识,今天在上一篇的基础上,介绍下网上一些随处可见的心理测评,是如何的错误,以及怎么“迷惑”大家的?网上随便搜的一个阅读量超过10w的"心理"测试:测试他人会…

这相册一出手,哪个长辈搞不定?

1 这相册看着多喜庆看这花多美▼2 不会只有我一个人连最普通的都叠不好吧?▼3 真就史上最惨毕业生连毕业照都不配拥有吗?▼4 看起来经历了很严格的军训▼5 我闺蜜【偷】男票的钱给我买MAC air▼6 在台湾爸比和东北妈妈中间无缝切换▼7 先漱口、后…