ExceptionLess windows部署。
前言
windows部署
1、一个api项目,里面包含了所有api。
2、一个elasticsearch项目,用来存储相关数据。
3、一个UI项目,也就是查看异常、设置新异常邮件通知等操作的后台。
异常在客户端提交的代码原理:一个异常被提交,先写入一个队列,然后随后会被post 到 api ,api收到数据后也是先写队列,然后再通过job作业同步到elasticsearch。
expectionless允许不要redis缓存,job作业随api项目一起启动,不需要单独部署。
综上,该项目最小化运行的方案:不要redis,不要job单独进程,只需要部署:1、api项目。2、elasticsearch项目。3、ui项目
ExceptionLess
-
进入Github下载最新包。
- 本次采用ExceptionLess 8.0
- net 7 runtime
- ElasticSearch至少为 7.x
-
Visual Studio 编译项目。打开
Exceptionless.Web
编译项目。 -
参考配置如下
- 发布环境运行
appsettings.Production.yml
配置文件。 - 配置文件键值对 xx=xx;xx=xx
- css放置在文件夹中编译完成拷贝。js会错误。
- 发布环境运行
ConnectionStrings:Redis: server="192.11.0.22:6379,defaultDatabase=6,password=pwd,connectTimeout=1500,connectRetry=1,syncTimeout=1000,abortConnect=false"Elasticsearch: server=http://192.168.199.30:9200Cache: provider=redis;MessageBus: provider=redis;Queue: provider=redis;Storage: provider=folder;path=.\storage
# LDAP: ''
# 此处为邮件发送,例如:smtps://xxx%40qq.com:xxx@smtp.qq.com:465 . 邮箱地址@请转义为 %40
# Email: smtp://localhost:1025 # Base url for the ui used to build links in emails and other places.
BaseURL: 'http://localhost:9001/#!'# Email from
SmtpFrom: xxx@xx.com# Wether or not to run the jobs in process. Requires Redis to be configured when running jobs out of process.
RunJobsInProcess: true
#AppScope: dev
#EnableAccountCreation: false
#DisableIndexConfiguration: false
#AllowedOutboundAddresses: "exceptionless"Serilog:MinimumLevel:Default: DebugApm:#Endpoint: http://localhost:4317Insecure: true#SslThumbprint: CB16E1B3DFE42DF751F93A8575942DA89E10BC98EnableLogs: falseEnableTracing: falseEnableMetrics: trueFullDetails: trueDebug: falseConsole: false
-
邮件配置
- 取得SMTP授信信息。例如QQ
smtps://10000:bsvfwsfcucxwagfa@smtp.qq.com:465
- 接收邮件服务器: pop.qq.com,使用 SSL,端口号 995
- 发送邮件服务器: smtp.qq.com,使用 SSL,端口号 465 或 587
- smtps://QQ号:授权码@发送邮件服务器
- 配置额外参数 SmtpFrom: xxx@xx.com。此处在官方配置文件并没有
- 取得SMTP授信信息。例如QQ
-
在8.0版本中,ExceptionLess已将UI项目集成到
Exceptionless.Web
中- 本地安装Node
- Visual Studio Code打开
ClientApp
项目 npm install
安装依赖npm run build
编译项目npm run serve
运行编译项目- 编译之后的项目文件为
ClientApp
中的dist
文件 app.config.97c8c67dce8f8f20.js
类似此名字,为配置文件。- 配置UI项目中的
BASE_URL
即可 - 参考如下
(function () {'use strict';angular.module('app.config', []).constant('BASE_URL', 'https://localhost:5201').constant('EXCEPTIONLESS_API_KEY').constant('EXCEPTIONLESS_SERVER_URL').constant('FACEBOOK_APPID').constant('GITHUB_APPID').constant('GOOGLE_APPID').constant('INTERCOM_APPID').constant('LIVE_APPID').constant('SLACK_APPID').constant('STRIPE_PUBLISHABLE_KEY').constant('SYSTEM_NOTIFICATION_MESSAGE').constant('USE_HTML5_MODE', false).constant('USE_SSL', false).constant('ENABLE_ACCOUNT_CREATION', true);}());
ElasticSearch
- 服务器安装ElasticSearch
- 需安装对应
mapper-size
插件!!!非常重要!!- Mapper-Size
- 相关端口,IP地址开放
- 如果不启用SSL,需要停用
Redis
- 服务器安装Redis
其它事项
-
提交
// 注入Exceptionless builder.Services.AddExceptionless(s =>{s.ServerUrl = "https://localhost:5201";s.ApiKey = "LY6503R2lFm8CqQ6uI9O4fgdVrMJD8shZ7NKVwT9";});// Exceptionless。app.UseExceptionless();//e.ToExceptionless().Submit();
- Nlog或者Log4
-
ExceptionLess一体化方案,即API同UI在一个服务器
- dotnet Exceptionless.Web.dll --urls=“https://localhost:5201”
- UI项目可默认配置
- 5201为开发环境默认端口
- ui项目默认5100
-
参考 记一次“机智如我”的部署Exceptionless中遇到的各种坑
-
参考 exceptionless 在 windows 上 手动部署,非docker 详细步骤
-
参考 Send Email Bug!!
相关文章:
ExceptionLess windows部署。
前言 windows部署 1、一个api项目,里面包含了所有api。 2、一个elasticsearch项目,用来存储相关数据。 3、一个UI项目,也就是查看异常、设置新异常邮件通知等操作的后台。 异常在客户端提交的代码原理:一个异常被提交,…...
使用python实现1DCNN-GRU回归预测
要实现1DCNN-GRU进行回归预测,您可以使用以下Python代码作为参考: 首先,导入所需的库: import numpy as np import tensorflow as tf from tensorflow.keras.layers import Conv1D, MaxPooling1D, GlobalAveragePooling1D, GRU,…...

移动端数据可视化设计
在做APP设计的时候,难免会遇到一些需要展示数据的场景。使用传统的表格和文档展示数据不仅难看,也影响用户理解数据的含义。而数据可视化设计能将数据以更加直观的方式展现出来,使数据更加客观、更有说服力。 在移动应用中,数据可…...

Linux文件系统概述
本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 文件系统概述 前言正文文件与磁盘磁盘介绍与机械硬盘机械硬盘基础结构机械硬盘数据存储与管理 文件操作的细节创建文件访问文件删除文件恢复文件其他情况 最后 前言 …...

go专业数据结构与算法
go语言之专业数据结构与算法 2.数组概念 3.golang实现数组结构 4.golang实现数组迭代器 5.数组栈的高级实现 6.栈模拟低级递归 7.斐波那契数列栈模拟递归 8.递归实现文件夹遍历 9.栈模拟文件递归 10.层级展示文件夹 11.数组队列的实现 12.队列实现遍历文件夹 13.循环队列 14.链…...
Hive on Spark的小文件设置参数
Hive on Spark的小文件设置参数 参数调优 了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效…...

高级SQL语句
目录 MySQL 高级(进阶) SQL 语句函数数学函数:聚合函数字符串函数: 连接查询inner join(内连接):left join(左连接):right join(右连接): CREATE VIEW(视图)UNION(联集)C…...

IDE /skipping incompatible xxx_d.dll when searching for -lxxx_d
文章目录 概述场景复现用以测试的代码编译器位数不匹配导致?保持编译器类型一致再验证编译器位数的影响MingW下调用OS的库咋不告警?以mingW下使用winSocket为例MingW下网络编程的头文件分析该环境下链接的ws2_32库文件在哪里?mingW为啥可以兼容window下的动态库 概…...

C语言学习准备-编辑器选择
今天继续给大家更新C语言经典案例 今天的案例会比昨天稍微有一些难度,但是同时还是非常经典的案例 本来是想给大家继续更新C语言经典案例,但是有朋友反应C语言编辑器的选择,刚好我自己也是想更换一下C语言的编辑器,跟大家分享一下…...

微信为什么使用 SQLite 保存聊天记录?
概要 SQLite 是一个被大家低估的数据库,但有些人认为它是一个不适合生产环境使用的玩具数据库。事实上,SQLite 是一个非常可靠的数据库,它可以处理 TB 级的数据,但它没有网络层。接下来,本文将与大家共同探讨 SQLite 在…...
VB串口通讯方式解释
目前,Visual Basic (简称VB) 已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB 支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB 应用程序中可以方便地调用WINDOWS API函数…...

Mybatis-Plus不能更新对象字段为空值问题解决
问题描述: 在使用Mybatis-Plus调用updateById方法进行数据更新默认情况下是不能更新空值字段的,而在实际开发过程中,往往会遇到需要将字段值更新为空值的情况,该如何解决呢? 原因分析: Mybatis-Plus中字…...

d3dx9_43.dll丢失怎么解决
d3dx9_43.dll丢失的影响 当我们在运行某些需要DirectX 9支持的程序时,如果系统中缺少d3dx9_43.dll文件,就会出现错误提示,导致程序无法正常启动。这个错误提示通常会类似于“找不到d3dx9_43.dll”或“d3dx9_43.dll不存在”。 打开电脑浏览器…...

【花雕】全国青少年机器人技术一级考试备考实操搭建手册8
随着科技的不断进步,机器人技术已经成为了一个重要的领域。在这个领域中,机械结构是机器人设计中至关重要的一部分,它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说,了解机械结构的基础知识,掌…...

【UE5 Cesium】09-Cesium for Unreal 子关卡应用实例(下)
效果 通过按钮点击事件实现子关卡的切换 步骤 新建两个Actor蓝图作为GeoMarker,分别命名为“BP_GeoMarker_BeiJing”、“BP_GeoMarker_ShangHai” 分别打开这两个蓝图,添加文本渲染组件 在指定的地理位置上拖入蓝图“BP_GeoMarker_BeiJing” 控制“BP_…...

插值应用案例2
案例1 高点和高程 在一丘陵地带测量高程,x和y方向每隔100m测一个点,得到高程如下表所列,试插值一曲面,确定合适的模型,并由此测到最高点和相应的高程。 x0/z0\y0 100 200 300 400 500 100 636 697 624 478 …...

【新星计划Linux】——常用命令(1)
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.常用命令 1.Linux的基本原则: 用户接口: 2.命令形…...
python应用-excel和数据库的读取及写入操作
近日完成一个交办任务,从excel表读取数据,根据ID在数据库表匹配相应的记录,并回填至excel表里。我使用的工具是python。下面记录下相应的模块。 一、从excel表读取数据 import pandas as pd import numpy as npdef read_excel():path &quo…...

MySQL Optimization Learning(一)
目录 一、MySQL性能监控 1、show profile 2、performance schema 2.1、MYSQL performance schema详解 3、show processlist 一、MySQL性能监控 MySQL官网 拖到首页最下方找到 MySQL Reference Manual ->cmd命令行 C:\Users\Administrator>mysql -uroot -proot …...

Flink消费kafka出现空指针异常
文章目录 出现场景:表现:问题:解决: tombstone : Kafka中提供了一个墓碑消息(tombstone)的概念,如果一条消息的key不为null,但是其value为null,那么此消息就是墓碑消息. …...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...