安装步骤

  1. 首先exceptionless依赖elasticsearch,而elasticsearch需要java环境,所以先安装jdk

  2. 下载exceptionless:

    • 下载完成之后解压进入目录中:

    • 右击已管理员身份运行:Start.bat。如果报错,则用powershell进入到该目录,然后运行。他会帮我们下载elasticsearch和kabana。

  3. 进入到wwwroot文件夹中修改web.config文件:

    1. <?xml version="1.0" encoding="utf-8"?>
      <configuration>
      <connectionStrings>
      <!--exceptionless默认用户名和密码是存在内存中,这里设置存放在redis中-->
      <add name="RedisConnectionString" connectionString="" />
      <!--elasticSearch的地址-->
      <add name="ElasticSearchConnectionString" connectionString="http://localhost:9200" />
      <add name="LdapConnectionString" connectionString="" />
      </connectionStrings>
      <appSettings>
      <!-- Base url for the ui used to build links in emails and other places. -->
      <!--exceptionless的地址,注意后面一定要加个!号,不然激活邮箱的地址会失效-->
      <add key="BaseURL" value="http://localhost:50000/#!" />
      <!-- Controls whether SSL is required. Only enable this if you have SSL configured. -->
      <add key="EnableSSL" value="false" />
      <!--
      Dev: Use this mode when debugging. (Outbound emails will not be sent)
      QA: Use this mode when deployed to staging. (Outbound emails restricted)
      Production: Use this mode when deployed to production.
      -->
      <add key="WebsiteMode" value="Production" />
      <!-- Controls whether users can signup. -->
      <add key="EnableAccountCreation" value="true" />
      <!-- Controls whether daily summary emails are sent -->
      <add key="EnableDailySummary" value="true" />
      <!--
      Email Client Settings (Uncomment the section below to change the default email settings)
      There are three valid SmtpEncryption settings: None, SSL and StartTLS
      -->
      <add key="SmtpHost" value="smtp.qq.com" />
      <add key="SmtpPort" value="465" />
      <add key="SmtpEncryption" value="SSL" />
      <add key="SmtpFrom" value="1983702356@qq.com" />
      <add key="SmtpUser" value="1983702356@qq.com" />
      <add key="SmtpPassword" value="jhmvvgpwfbaoeagi" /> <!-- Folder used to store event post data -->
      <add key="StorageFolder" value="|DataDirectory|\storage" />
      <!-- Runs the jobs in the current website process -->
      <add key="RunJobsInProcess" value="true" />
      <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.net>
      <defaultProxy enabled="true" />
      </system.net>
      <system.web>
      <authentication mode="None" />
      <compilation targetFramework="4.6" debug="false" />
      <httpRuntime targetFramework="4.6" maxRequestLength="10000" maxUrlLength="1024" />
      <customErrors mode="RemoteOnly" defaultRedirect="~/error.html" />
      </system.web>
      <system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
      <remove name="FormsAuthentication" />
      <remove name="RewriteModule" />
      <remove name="RoleManager" />
      <remove name="WebDAVModule" />
      </modules>
      <urlCompression doStaticCompression="true" />
      <httpCompression directory="%SystemDrive%\websites\_compressed" minFileSizeForComp="1024">
      <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
      <staticTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="message/*" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="application/json" enabled="true" />
      <add mimeType="*/*" enabled="false" />
      </staticTypes>
      </httpCompression>
      <httpProtocol>
      <customHeaders>
      <remove name="Server" />
      <remove name="X-Powered-By" />
      <remove name="X-AspNet-Version" />
      </customHeaders>
      </httpProtocol>
      <handlers>
      <remove name="OPTIONS" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACE" />
      <remove name="TRACEVerbHandler" />
      <remove name="WebDAV" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      </handlers>
      <security>
      <requestFiltering allowDoubleEscaping="true">
      <requestLimits maxAllowedContentLength="10000000" />
      </requestFiltering>
      </security>
      <!--<rewrite><rules><clear /><rule name="Redirect HTTP to HTTPS"><match url="^(.*)$" /><conditions><add input="{HTTPS}" pattern="^OFF$" /><add input="{HTTP_HOST}" matchType="Pattern" pattern="\:9001$" negate="true" /><add input="{HTTP_HOST}" matchType="Pattern" pattern="^local-app.exceptionless.io$" negate="true" /></conditions><action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /></rule><rule name="Redirect HTTPS to HTTP"><match url="^(.*)$" /><conditions><add input="{HTTPS}" pattern="^ON$" /><add input="{HTTP_HOST}" matchType="Pattern" pattern="^local-app.exceptionless.io$" /></conditions><action type="Redirect" url="http://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /></rule><rule name="Redirect exceptionless.io to be.exceptionless.io"><match url="^(.*)$" /><conditions><add input="{HTTP_HOST}" matchType="Pattern" pattern="^exceptionless.io$" /></conditions><action type="Redirect" url="https://be.{HTTP_HOST}/{R:1}" redirectType="SeeOther" /></rule><rule name="PushState" stopProcessing="true"><match url=".*" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /><add input="{REQUEST_FILENAME}" pattern=".*[^.]*\.[\d\w]+$" negate="true" /><add input="{REQUEST_URI}" matchType="Pattern" pattern="api/(.*)" negate="true" /></conditions><action type="Rewrite" url="/" /></rule></rules></rewrite>-->
      </system.webServer>
      <location path="error.html">
      <system.web>
      <httpModules>
      <clear />
      </httpModules>
      </system.web>
      <system.webServer>
      <modules>
      <clear />
      </modules>
      </system.webServer>
      </location>
      <location path="exceptionless.png">
      <system.web>
      <httpModules>
      <clear />
      </httpModules>
      </system.web>
      <system.webServer>
      <modules>
      <clear />
      </modules>
      </system.webServer>
      </location>
      <location path="favicon.ico">
      <system.web>
      <httpModules>
      <clear />
      </httpModules>
      </system.web>
      <system.webServer>
      <modules>
      <clear />
      </modules>
      </system.webServer>
      </location>
      <location path="index.html">
      <system.web>
      <httpModules>
      <clear />
      </httpModules>
      </system.web>
      <system.webServer>
      <modules>
      <clear />
      </modules>
      </system.webServer>
      </location>
      <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
      <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="SimpleInjector" publicKeyToken="984cb50dea722e99" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin.FileSystems" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="SimpleInjector.Extensions.ExecutionContextScoping" publicKeyToken="984cb50dea722e99" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0" />
      </dependentAssembly>
      <dependentAssembly>
      <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
      </dependentAssembly>
      </assemblyBinding>
      </runtime>
      <location path="index.html">
      <system.webServer>
      <staticContent>
      <clientCache cacheControlMode="DisableCache" />
      </staticContent>
      </system.webServer>
      </location>
      </configuration>
  4. 如果你修改了Exceptionless的默认路由,记得改下app.config.77fc9ddd679d37dc.js文件中的地址。

  5. 然后启动elasticsearch、redis。再将exceptionless部署到iis即可。
  6. 打开http://localhost:50000,注册一个账号,然后登入:

分布式日志:Exceptionless的安装与部署的更多相关文章

  1. .NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

    自己安装时候遇到很多问题,接下来把这些问题写出来希望对大家有所帮助 搭建环境: 1.下载安装 java 8 SDK (不要安装最新的10.0) 并配置好环境变量(环境变量的配置就不做介绍了) 2.下载 ...

  2. 分布式日志框架Exceptionless之生产环境部署步骤

    Exceptionless 是一个开源的实时的日志收集框架,它将日志收集变得简单易用并且不需要了解太多的相关技术细节及配置.本篇基于我的上一篇<基于Exceptionless实现分布式日志> ...

  3. .Net Core 集成ExceptionLess分布式日志框架之本地化部署

    前言 公司目前使用的项目中关于日志记录这块,之前一直都是使用的Log4net 存放于后台文件中的,对于异常错误啊,或者需要查看一些详情错误的时候感觉很不方便,要到服务器上去打开日志文件检索错误,降低了 ...

  4. 容器化分布式日志组件ExceptionLess的Angular前端UI

    写在前面 随着微服务架构的流行,日志也需要由专门的分布式日志组件来完成这个工作,我们项目使用的是 ExceptionLess 这个组件,它是前后端分离的:这篇文章我们就来实践容器化 Exception ...

  5. .NET Core微服务之基于Exceptionless实现分布式日志记录

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Exceptionless极简介绍 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,AS ...

  6. Net Core集成Exceptionless分布式日志功能以及全局异常过滤

    Net Core集成Exceptionless分布式日志功能以及全局异常过滤 相信很多朋友都看过我的上篇关于Exceptionless的简单入门教程[asp.Net Core免费开源分布式异常日志收集 ...

  7. .NET开源分布式日志框架ExceptionLess实战演练(公开版)

    一.课程介绍 在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间 ...

  8. Ambari安装之部署3个节点的HA分布式集群

    前期博客 Ambari安装之部署单节点集群 其实,按照这个步骤是一样的.只是按照好3个节点后,再做下HA即可. 部署3个节点的HA分布式集群 (1)添加机器 和添加服务的操作类似,如下图 之后的添加a ...

  9. 如何扩展分布式日志组件(Exceptionless)的Webhook事件通知类型?

    写在前面 从上一篇博客高并发.低延迟之C#玩转CPU高速缓存(附示例)到现在又有几个月没写博客了,啥也不说,变得越来越懒了,懒惰产生了拖延后遗症. 最近一周升级了微服务项目使用的分布式日志组件Exce ...

  10. Flume1.9.0的安装、部署、简单应用(含分布式、与Hadoop3.1.2、Hbase1.4.9的案例)

    目录 目录 前言 什么是Flume? Flume的特点 Flume的可靠性 Flume的可恢复性 Flume的一些核心概念 Flume的官方网站在哪里? Flume在哪里下载以及如何安装? 设置环境变 ...

随机推荐

  1. 19. Fluentd输入插件:in_http用法详解

    in_http插件允许使用HTTP协议来采集日志事件.这个插件会建立一个支持REST风格的HTTP端点,来接收日志事件请求. 配置示例 <source> @type http port 9 ...

  2. Handler机制与生产者消费者模式

    本文梳理了 Handler 的源码,并详细阐述了 Handler 与生产者消费者模式的关系,最后给出了多版自定义 Handler 实现.本文首发于简书,重新整理发布. 一.Handler Handle ...

  3. SpringBoot课程学习(一)

    @SpringBootTest指定测试的启动类 声明@SpringBootTest @Test注解 @Test 指定测试方法 @Order排序 一:先声明排序模式 @TestMethodOrder(M ...

  4. Codeforces Round #442 (Div. 2) B. Nikita and string

    题意:求最长可以分a b a为三部分子串,a b a可以为空 思路在代码里 1 #include<cstdio> 2 #include<iostream> 3 #include ...

  5. 27.路由器Routers

    像一些reils这样的web框架提供自动生成urls的功能,但是Django没有 rest framework为django添加了这一功能,以一种简单.快速.一致的方式 routers必须配合view ...

  6. Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务

    本文主要介绍 Windows 环境下搭建 PostgreSQL 的主从逻辑复制,关于 PostgreSQl 的相关运维文章,网络上大多都是 Linux 环境下的操作,鲜有在 Windows 环境下配置 ...

  7. 浅入浅出 1.7和1.8的 HashMap

    前言 HashMap 是我们最最最常用的东西了,它就是我们在大学中学习数据结构的时候,学到的哈希表这种数据结构.面试中,HashMap 的问题也是常客,现在卷到必须答出来了,是必须会的知识. 我在学习 ...

  8. 基于JESD204B和PCIe DMA的多通道数据采集和回放系统

    基于JESD204B和PCIe DMA的多通道数据采集和回放系统 在主机端PCIe驱动的控制和调度下,数据采集与回放系统可以同时完成对多个JESD204B接口AD数据的采集以及JESD204B接口DA ...

  9. nodered获取简单的时间

    1.添加simpletime 的节点 2. 添加一个inject节点用来每1s循环获取当点的信息 3.添加一个函数节点对simpletime发来的msg进行解析 var payload=msg;var ...

  10. go: can only use path@version syntax with 'go get' and 'go install' in module-aware mode

    一: 非gomod模式 需要在go文件目录下的src创建代码 但是后面的版本一般做项目部管理不适用上述方法 也不会出现 go: can only use path@version syntax wit ...