Exceptionless分布式日志服务介绍及部署(Linux+docker/域名+服务名访问配置)

Exceptionless分布式日志服务介绍及部署(Linux)

文章目录

  • Exceptionless分布式日志服务介绍及部署(Linux)
  • 前言
  • 一、Exceptionless是什么?
  • 二、下载地址
  • 三、部署
    • 1.在线安装
    • 2.离线安装
    • 3.启动命令
    • 4.域名设置
  • 总结


前言

需求背景:目前在维护厂里现有系统,并在此基础上进行二次开发。现有系统是C/S架构,在开发维护过程中往往存在软件运行出现异常BUG等一系列问题,而之前所产生的异常信息都是保存在用户本地的,这对于日常维护来说无疑是一种阻碍,因此引入Exceptionless分布式日志服务来解决


一、Exceptionless是什么?

Exceptionless是一个基于 .net core的开源日志框架,Exceptionless的意思是:没有异常。Exceptionless可以为ASP.NET, Web API, WebForms, WPF, 控制台和MVC应用程序提供实时错误,功能和日志报告。它将收集的信息组织成简单的可操作数据,这将有助于您的应用程序变得无异常。最重要的是,它是开源的!

Exceptionless专注于.net平台提供实时错误和日志报告。主要包括:错误通知、智能分组异常、详细错误报告堆栈跟踪、支持离线、UI查看重要错误和确定优先级、仪表板上的统计信息和趋势、对异常标记为已修复,监视回归、将事件标记为关键等。
对于Exceptionless有二种部署环境:
a.在Exceptionless官网创建帐号,跟着页指导新建应用程序以及项目,官网会生成apikey,将apikey复制拿到net 对应项目中,在项目中安装Exceptionless客户端进行使用,日志数据将存储在Exceptionless官网。
b.自己搭建Exceptionless的服务器环境,数据存储在自己的服务器上。对于a种方案是直接省事,但有很多限制功能(如:不能添加成员),除非掏钱成会员。所以推荐使用b方案。

二、下载地址

Exceptionless官网:官网地址

说明文档:GitHub文档地址

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] [ARG...]

示例:

docker run -d -p 8080:80 exceptionless/exceptionless:6.1.3

命令参数解析:

  • -d: 后台运行容器,并返回容器ID;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口

一般情况下,我们还需要给启动的实例增加个名称方便通过名称查询运行日志

  • –name=“自定义名称”: 为容器指定一个名称;

可以通过命令来查询运行实例日志:

 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
  1. 增加代理将访问进行转发:这里用nginx进行转发
    nginx配置:
  server {
     
     listen       80;
     server_name 域名;
     location /服务名/{
          
        proxy_pass Exceptionless服务地址;
    }
}

注意:此处的域名+服务名方式访问仍存在一些问题:
1.配置域名以后内网地址无法登录Exceptionless服务
2.域名+服务名访问需要对一些静态文件进行一些路径修改,但是左侧菜单跳转地址仍然缺失服务名


总结

此文参考地址:Exceptionless生产环境部署
docker本地导入导出镜像
以上就是今天要讲的内容,本文仅仅简单介绍了工作中Exceptionless的部署问题,虽然实现了想要的效果但是仍然存在一些问题,在下初次涉及才疏学浅未能彻底解决,若存在一些误区望能各位读到本篇文章的不吝赐教。
特别鸣谢:勇哥和栋哥指导ღ( ´・ᴗ・` )比心

你可能感兴趣的:(Exceptionless,docker,linux,c#,nginx)