部署用于生产的Exceptionlees(一个强大易用的日志收集服务)

Exceptionless简介

Exceptionless从翻译来看是无异常的意思,其实它收集了很多异常信息。

大家可以把他看做事一个非常好用的日志收集服务。

还提供了,多组织、多项目。

它是一个开源项目,作者也非常的热心,项目地址

https://github.com/exceptionless/Exceptionless

UI截图

我们还通过了webhook将异常发送至钉钉进行实时通知

这也是一个开源项目,项目地址为:

https://github.com/RabbitTeam/exceptionless-webhooks

支持的技术

  1. .NET/.NET Core

  2. JavaScript

  3. NodeJs


部署要求

  • .NET4.7

  • IIS 7.5+

  • ElasticSearch 5.6

  • Redis

关于这些要求大家自行搜索部署,本文不做介绍。


Exceptionless结构

  1. WebUI

  2. WebAPI

  3. BackgroundTask

Exceptionless 由3个部分组成,分别是:可视化的UI视图,WebAPI(主要用于程序发送日志和提供WebUI所需接口),后台任务(发送日志到es,跑webhook等)

本文会将这三个东西部署在一起。(机器有限,还有我们认为日志不是那么的重要,一般也很少宕机)

部署步骤

下载程序包

https://github.com/exceptionless/Exceptionless/releases

包内的wwwroot就是程序文件了

按需配置

配置文件

  1. Web.config

  2. app.config.*.js

为什么有两个配置文件?因为我们之前说过WebUI和WebAPI从结构上是两个不同的应用。(前后端分离)

所以我们需要对两个不同的东西单独配置。

Web.config

基本配置

RedisConnectionString

用于持久化状态的redis连接串

例:10.10.10.82:6379,defaultDatabase=1

ElasticSearchConnectionString

es的地址,如是集群可逗号分隔

例:http://10.10.10.231:9200,http://10.10.10.232:9200

BaseURL

exceptionless基础url

EnableSSL

是否启用ssl

WebsiteMode

有三个值

Dev

QA

Production

顾名思义选Production就好了,主要是邮件发送的限制。

邮件发件配置

SmtpHost

SmtpPort

SmtpEncryption

SmtpUser

SmtpFrom

SmtpPassword

这段不解释了。

高级设置

RunJobsInProcess

是否运行后台任务,理论上应该是false,但便捷起见我们没有单独跑后台任务,所以这边设了true,等以后撑不住了再把后台任务分出来。

ElasticSearchNumberOfShards

es切片数,具体看es相关的说明,官方建议设置成 3.

ElasticSearchNumberOfReplicas

es副本数(备份),官方建议设置成 1.

EnableArchive

这个属性文档上面没有写(默认为true),默认Exceptionless会把接收到的事件信息进行本地化IO存储,路径是(StorageFolder的配置项,默认为:App_Data\storage)

这样你会发现server上的硬盘占用非常的大,优于这些事件信息我们认为没那么重要所以设成了false,好处是减轻了IO压力,坏处是极端情况下会丢失事件数据(像es发送数据失败)

这个有点像缓冲区的概念,exceptionless不会每接收到一条事件就去写DB(es),而是通过一个后台任务批量的写一批到es。

app.config.*.js

BASE_URL

和Web.config的BaseURL一致即可

USE_SSL

和Web.config的EnableSSL一致即可

加速静态资源

exceptionless是歪果仁开发的,所以使用了一些国外的cdn资源,但这些资源在国内访问是非常慢的,而且还有被墙,比如 google fonts。

这时候就需要把这些资源替换成国内高速可用的cdn资源。

这边推荐一个国内的前端静态资源库

https://cdn.baomitu.com/

大家把这些资源在上面的网站上搜索,进行替换就好了。

注意还有 google fonts。

部署wwwroot

将wwwroot拷贝到服务器上,在IIS上创建一个web即可(相关文件权限记得开)


写在最后

这样一个可以用于生产的exceptionless就搭建完成了。

其中有几个步骤官方文档描述的不详细,这边在强调下

ElasticSearchConnectionString(多个es服务器以 ‘,’ 分隔)

EnableArchive(如果以默认值true,过段时间你会发现服务器的硬盘增长的非常快,exceptionless不会自动删除)

加速静态资源(如果不做这步你会发现打开exceptionless的ui非常的慢)
.NET技术栈QQ群:384413261(点击加入 .NET Group)

相关文章:

  • 免费开源分布式系统日志收集框架 Exceptionless

  • 使用 Exceptionless 作为 Log Server 搭配 NLog 记录系统日志

  • 使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索

  • 为elasticsearch集成一些实用 插件以及配置的开箱即用的版本

  • Exceptionless 本地部署

  • ExceptionLess新玩法 — 记日志

  • .NET Exceptionless 日志收集框架本地环境搭建

原文地址:https://www.cnblogs.com/ants/p/8580890.html 


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

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

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

相关文章

ASP.NET Core Web API下事件驱动型架构的实现(四):CQRS架构中聚合与聚合根的实现

在前面两篇文章中,我详细介绍了基本事件系统的实现,包括事件派发和订阅、通过事件处理器执行上下文来解决对象生命周期问题,以及一个基于RabbitMQ的事件总线的实现。接下来对于事件驱动型架构的讨论,就需要结合一个实际的架构案例…

如何看待微软新开源的Service Fabric?

本人曾在Service Fabric (SF)项目中做了几年,这次很兴奋能看到它的开源。短短两天已经有1300多个关注了。我看了一下开源的代码,真是满满的干货,200多万行C代码,所有最核心的协议算法都在里面。但是,不得不承认&#x…

RabbitMQ教程C#版 “Hello World”

先决条件 本教程假定RabbitMQ已经安装,并运行在localhost标准端口(5672)。如果你使用不同的主机、端口或证书,则需要调整连接设置。从哪里获得帮助 如果您在阅读本教程时遇到困难,可以通过邮件列表联系我们。1.介绍Rab…

牛客小白月赛18-记录

正题 比赛链接:https://ac.nowcoder.com/acm/contest/1221 成绩 总结 好难,就拿了一些水题分 T1:Forsaken喜欢数论\texttt{T1:Forsaken喜欢数论}T1:Forsaken喜欢数论 题目大意 f(i)f(i)f(i)表示iii的最小质因子,求∑i2nf(i)\sum_{i2}^nf(i)∑i2n​f(i…

.NET Core开源API网关 – Ocelot中文文档

Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成,下面我…

ABP前端使用阿里云angular2 UI框架NG-ZORRO分享

一、前言前段时间写博客分享和介绍了阿里云的UI框架NG-ZORRO(博客请查看:http://www.cnblogs.com/donaldtdz/p/7892960.html),结合近段时间对.Net开源框架ABP的学习。完成将ABP前端框架替换成阿里云的NG-ZORRO。二、替换说明ABP版…

Prufer序列 生成树定理

Description 在图论中,树的定义是连通且无环的无向图。对于一棵有 nn 个节点且节点从 11 到 nn 编号的树,它的 Prufer 序列是一个唯一的长为 n−2n−2 的标号序列。 Prufer 序列的构造方法:每次删除树中标号最小的叶子节点(即度为…

NOI.AC-积木【堆】

正题 题目链接:http://noi.ac/contest/266/problem/794 题目大意 无限多个1∗21*21∗2的砖块交替着 一个砖块会掉落仅当下方两个砖块都掉落,现在抽出nnn个砖块,求掉落多少个砖块。 解题思路 开一个优先队列,若两个连在一起的就把上面那个…

大规模开发团队如何实现DevOps转型? 来自微软全球开发平台工程团队的实践经验

微软全球开发平台工程团队从敏捷到DevOps的转型2013年11月13日,我们宣布了Visual Studio2013,以及微软研发云Visual Studio Online (VSO)的正式商用。紧接着我们经历了一次长达七小时的服务中断。我们的服务运行在一个“弹性扩展单元”中,为大…

野鸡NOI.AC模拟赛【2019.10.26】

前言 截止至2019.10.2614:222019.10.26\ \ \ \ 14:222019.10.26 14:22 成绩 正题 T1:NOI.AC−T1:NOI.AC-T1:NOI.AC−序列【堆】 https://blog.csdn.net/Mr_wuyongcong/article/details/102755906 T2:NOI.AC−T2:NOI.AC-T2:NOI.AC−积木【堆】 https://blog.csdn.net/Mr_wu…

Golang的CSP很酷?其实.NET也可以轻松完成

CSP(Communicating sequential processes)这东西我一开始以为很简单,后面差了资料发现它独树一帜,自己是一门语言,也是一套理论。这边我不深入的对它做过多的见解,我怕耽误大家_,大家可以看看wi…

SignalR Core尝鲜

要点SignalR Core改用Microsoft.AspNetCore.Sockets,不再依赖HTTP。使用MessagePack序列化格式,支持二进制协议。TypeScript客户端移除了第三方依赖包。支持WebSocket原生客户端,可以使用自己构建的客户端连接到SignalR服务器。伸缩方式更灵活…

2016陕西省ACM 热身体B 种类并查集

Energy 发布时间: 2017年3月27日 11:31 最后更新: 2017年3月27日 18:30 时间限制: 1000ms 内存限制: 256M 描述 人类准备发射载人飞船前往火星。 飞船使用了一种特殊的反物质燃料来作为动力,在飞船的制造期间,同时人类也在从宇宙 的各个地方收集这…

kubernetes实践之运行aspnetcore webapi微服务

1、预备工作unbuntu 16.04 or abovedocker for linuxkubernetes for linux 集群环境2、使用vs2017创建一个web api应用程序,并打包镜像到本地。3、推送本地镜像到docker hub4、编写k8s资源配置文件(yml)hello-world-deployment.yml如下上面replicas部署两个副本实例…

使用.NET Core快速开发一个较正规的命令行应用程序

一般命令行程序包含什么?使用方式帮助信息子命令参数选项帮助信息帮助信息如上,介绍了命令的作用和参数、选项作用。这个是必不可少的。子命令一个应用程序打包了多个功能,这时候就可以使用子命令,比如 dotnet ef migrations&…

Window7 docker安装

一、下载docker toolbox docker-toolbox-windows-docker-toolbox安装包下载_开源镜像站-阿里云 -ce后缀的是免费的版本,其他是收费版本 二、安装 安装完成即可 三、启动docker 双击 Docker Quickstart Terminal启动 其他问题: 启动拉boot2docker镜像失…

aspnetcore.webapi实践k8s健康探测机制 - kubernetes

1、浅析k8s两种健康检查机制Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈。比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可能是资源死锁,此时 httpd 进程并没有异常退出&#xff…

快速搭建CentOS+ASP.NET Core环境支持WebSocket

以前用python,go尝试在linux下做web服务,python没有强类型支持与高性能,go又没有很好的集成开发环境(还有强迫症的语法),回头看了几次.net,都没有时间尝试,现终于实现了这些想法&…

来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor

在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器.这个小惊喜, 迅速的在dotnet开发者中间传开了. 而就在昨天(2018年3月22日) Blazor发布了它的第一次Release. Blazor到底是个什么样的东…

dotnet watch+vs code提升asp.net core开发效率

在园子中,已经又前辈介绍过dotnet watch的用法,但是是基于asp.net core 1.0的较老版本来讲解的,在asp.net core 2.0的今天,部分用法已经不太一样,所以就再写一篇文章来介绍dotnet watch vs code来提升asp.net core开发…