Exceptionless分布式⽇志服务介绍及部署(Linux+docker域名+服务名访问配
置)
Exceptionless分布式⽇志服务介绍及部署(Linux)
⽂章⽬录
前⾔
需求背景:⽬前在维护⼚⾥现有系统,并在此基础上进⾏⼆次开发。现有系统是C/S架构,在开发维护过程中往往存在软件运⾏出现异常BUG等⼀系列问题,⽽之前所产⽣的异常信息都是保存在⽤户本地的,这对于⽇常维护来说⽆疑是⼀种阻碍,因此引⼊Exceptionless分布式⽇志服务来解决
⼀、Exceptionless是什么?
Exceptionless是⼀个基于 core的开源⽇志框架,Exceptionless的意思是:没有异常。Exceptionless可以为ASP.NET, Web API, WebForms, WPF, 控制台和MVC应⽤程序提供实时错误,功能和⽇志报告。它将收集的信息组织成简单的可操作数据,这将有助于您的应⽤程序变得⽆异常。最重要的是,它是开源的!
Exceptionless专注于平台提供实时错误和⽇志报告。主要包括:错误通知、智能分组异常、详细错误报告堆栈跟踪、⽀持离线、UI查看重要错误和确定优先级、仪表板上的统计信息和趋势、对异常标记为已修复,监视回归、将事件标记为关键等。
对于Exceptionless有⼆种部署环境:
a.在Exceptionless官⽹创建帐号,跟着页指导新建应⽤程序以及项⽬,官⽹会⽣成apikey,将apikey复制拿到net 对应项⽬中,在项⽬中安装Exceptionless客户端进⾏使⽤,⽇志数据将存储在Exceptionless官⽹。
b.⾃⼰搭建Exceptionless的服务器环境,数据存储在⾃⼰的服务器上。对于a种⽅案是直接省事,但有很多限制功能(如:不能添加成员),除⾮掏钱成会员。所以推荐使⽤b⽅案。
⼆、下载地址
Exceptionless官⽹:
说明⽂档:
Github:
三、部署
本篇⽂章只讲⽣产环境部署(linux服务器+docker容器)
1.在线安装
通过docker仓库下载,注意:因为docker仓库地址默认为国外地址,所以此操作要更换docker仓库地址为国内地址,具体操作可以度娘命令:docker pull exceptionless/exceptionless:6.1.3
2.离线安装
a.将下载好的Exceptionless离线包通过xftp上传到linux服务器
b.通过命令:docker load --input 离线包名 将镜像导⼊到docker容器
3.启动命令
docker启动镜像实例语法:
docker run [OPTIONS] IMAGE [COMMAND][]
⽰例:
docker run -d -p 8080:80 exceptionless/exceptionless:6.1.3
命令参数解析:
-d: 后台运⾏容器,并返回容器ID;
-P: 随机端⼝映射,容器内部端⼝随机映射到主机的端⼝
⼀般情况下,我们还需要给启动的实例增加个名称⽅便通过名称查询运⾏⽇志
–name=“⾃定义名称”: 为容器指定⼀个名称;
可以通过命令来查询运⾏实例⽇志:
linux在线命令查询平台
docker logs 实例名称
4.域名设置
这⾥讲两种域名访问⽅式:
1. ⼆级域名直接访问
此种⽅式最为简单直接将⼆级域名映射到部署好的服务的ip地址便可以了
2. ⼆级域名+服务名⽅式访问
域名+服务名⽅式则需要进⾏⼀些设置:
1. Exceptionless启动命令中需要指定域名地址:-e EX_ApiUrl=域名+服务名
docker run -d -p 8080:80-e EX_ApiUrl=域名+服务名--name c_exceptionless exceptionless/exceptionless:6.1.3
2. 增加代理将访问进⾏转发:这⾥⽤nginx进⾏转发
nginx配置:
server {
listen      80;
server_name 域名;
location /服务名/{
proxy_pass Exceptionless服务地址;
}
}
注意:此处的域名+服务名⽅式访问仍存在⼀些问题:
1.配置域名以后内⽹地址⽆法登录Exceptionless服务
2.域名+服务名访问需要对⼀些静态⽂件进⾏⼀些路径修改,但是左侧菜单跳转地址仍然缺失服务名
总结
此⽂参考地址:
以上就是今天要讲的内容,本⽂仅仅简单介绍了⼯作中Exceptionless的部署问题,虽然实现了想要的效果但是仍然存在⼀些问题,在下初次涉及才疏学浅未能彻底解决,若存在⼀些误区望能各位读到本篇⽂章的不吝赐教。
特别鸣谢:勇哥和栋哥指导ღ( ´ ᴗ ` )⽐⼼

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。