整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

新手指南-如何监视Web应用程序?

eb应用程序是指独立且无需任何外部托管软件即可运行的软件。Web应用程序通常需要Web服务器将程序转换为HTML内容以供Web浏览器使用,这样Web应用程序就可以将服务直接提供给用户。

我们每天使用许多Web应用程序,例如会议工具,存储管理软件,源代码控制程序(例如GIT),照片编辑工具等。Web应用无处不在,灵活便捷 ,并且省去了维护和扩展中央服务器的麻烦,但对于开发人员来说,为各种环境(包括之前和当前的OS或框架)提供有效支撑是一个巨大挑战。而且向最终用户交付Web应用程序需要对所有支持的框架,操作系统和版本进行严格的测试。


在此文中,我们将重点关注监视托管独立应用程序(即使用.NET框架开发的Web应用程序)中遇到的挑战。


作为独立的应用程序开发人员,最大的挑战来自性能问题。如果您在应用程序中遇到高内存或高CPU消耗的情况,则可能需几天时间复现此问题,更不用说找到根本原因并加以解决了。最重要的是,很难鼓励面临这些问题的用户继续使用有问题的应用程序,因为他们倾向于不报告所遇到的问题,而是尝试重新启动该应用程序,直到其正常工作即可。如果无法实现,这些用户通常最终会放弃使用该应用。


使用应用程序监视工具,不仅使您能够在开发阶段解决这些问题,而且还可以帮助您发现有关不同测试方案下的应用程序行为的大量信息,并找到需要调整应用程序代码的区域。这是应用程序性能监视优势所在。


监视独立应用程序

使用应用程序性能监视(APM)解决方案,您可以监视功能级别的性能,跟踪最耗时的实例,甚至借助自定义工具来跟踪工作流。由于每个独立的应用程序都有其独特的方式,因此您的APM解决方案需要针对您的应用程序的特定需求进行定制。

以下是一些有关如何使用APM工具跟踪托管独立应用程序性能的准则:

1.执行应用程序的基本流程时,会自动捕获诸如Apdex得分,响应时间和流量之类的标准指标。这可以帮助您了解线程和事件在应用程序进程中所花费的时间,并指出哪些代码段消耗了更多的内存和CPU。

2.使用自定义工具定义工作流程的开始和结束部分。使用自定义工具,您还可以监视关键功能的性能。

3.使用异常和错误跟踪功能来跟踪问题的根本原因。APM工具通常会在发生错误时捕获整个堆栈,通过立即查找有问题的代码来节省开发人员宝贵的时间,因此开发人员可以专注于调试。


例如,如果您正在开发从后台不断从Web服务收集数据的报告软件,则监视工具可以帮助您跟踪应用程序何时关闭,从而提示您立即采取行动。对于所有类型的应用程序而言,无论它们是Web应用程序还是移动应用程序,性能监控都是必不可少的。使用Site24x7,您可以监视Web应用程序的性能,并定制监视方法以适合相关应用程序的特定需求。

在产品的开发和运营过程中我们经常会遇到一些问题,如用户反馈说无法对某某商品下单,而另一位负责运营的同事也提到某某广告在手机上打不开。

尽管这些问题被多次报告,但我们却难以复现这些故障,这让团队感到十分棘手。

如何有效地记录项目中的错误并能够重现这些问题,正是我们需要通过监控平台来解决的关键痛点之一。

WebTracing是一款专为前端项目量身定制的 JavaScript埋点 SDK,它提供了完善的前端监控手段和解决方案。通过集成行为追踪、性能监测、异常捕获、请求记录、资源管理、路由监控、曝光分析以及录屏功能,让数据驱动决策变得更加直观和高效。

作者的目标是减轻前端开发者在监控方面的工作负担。致力于为各种场景提供全面的解决方案,并希望开发者能从项目中获得一些启发。

安装

// 核心实现包 - js
pnpm install @web-tracing/core

// vue2版本
pnpm install @web-tracing/vue2

// vue3版本
pnpm install @web-tracing/vue3

html 安装

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>
  <script src="https://cdn.jsdelivr.net/npm/@web-tracing/core"></script>
  <script>
    webtracing.init({
      appName: 'cxh',
      debug: true,
      pv: true,
      performance: true,
      error: true,
      event: true,
      cacheMaxLength: 10,
      cacheWatingTime: 1000,
      userUuid: 'init_userUuid',
      scopeError: true,
      ...
    })
  </script>
  <body></body>
</html>

Vue2 安装

import WebTracing from '@web-tracing/vue2'

Vue.use(WebTracing, {
  dsn: '/trackweb',
  appName: 'cxh',
  ...
})

Vue3 安装

import WebTracing from '@web-tracing/vue3'

app.use(WebTracing, {
  dsn: '/trackweb',
  appName: 'cxh',
  ...
})

介绍

这里以作者提供的 Vue2示例项目来演示:

地址:https://github.com/M-cheng-web/web-tracing-examples-vue2

将示例项目 clone到本地安装

pnpm install
pnpm run start

开启 node服务

node server.js

打开示例项目首页

image

该项目是一个前端监控解决方案,它使用 Monorepo + pnpm 的构建方式,支持多包联调和发版,并且提供钩子函数、批量如何错误(去重)、抽样发送、过滤等能力。

配置项


事件采集

项目的基本原理包括自动和手动两种采集方式,自动采集通过劫持或监听浏览器事件来获取错误、性能和页面跳转等信息;手动采集则是通过调用 SDK暴露的方法来触发事件采集。

image

事件对象具体属性如下:

插件会根据 DOM元素上一些属性来获取需要采集该元素的事件,以及采集该元素事件时应该传递哪些参数


事件示例

<div
  class="box-div"
  data-warden-title="xxx"
  data-warden-bigTitle="bigTitle"
  width="100%"
>
  示例div
</div>

点击事件示例div产生如下对象

{
  eventId: 'div',
  eventType: 'click',
  title: 'xxx',
  triggerPageUrl: 'http://localhost:6656/#/event',
  x: 280,
  y: 20,
  params: { bigtitle: "bigTitle" }
  elementPath: 'div',
  triggerTime: 1689726300399,
  sendTime: 1689726301406
}

错误采集

页面错误自动收集,主要原理是 监听/劫持 error unhandledrejection console.error,采集这三类错误

资源加载错误,代码异常(error) promise调用链异常(reject) console.error异常

image

我们主动触发了代码错误,可以在控制台看到的报错,然后被 webTracing事件采集

触发错误事件时生成的对象


将配置项中的 scopeError 设置为 true 可对错误事件去重。

此外还包括资源监听、路由采集、请求采集、资源采集、曝光采集,由于篇幅原因这里就不一一展开介绍,大家感兴趣可以去官网自行查阅。

image

其他核心介绍

数据流向方面,监听到的事件会经过预处理并生成描述事件信息的对象,然后放入列表中等待统一发送。发送数据时,会根据最大缓存数和延迟发送事件时长的设置来决定何时发送数据,支持多种发送方式,包括 navigator.sendBeaconimageXML,以及本地化存储和自定义发送方式。

SDK还提供了丰富的导出项,包括钩子函数和可动态更改的内部 options 对象,以方便开发人员自定义功能,如加密传输、发送事件后的提醒、配置项更改和获取基础数据等。

此外,项目还定义了事件类型和事件ID的枚举,以及用于标识用户和细分业务的特殊标识,如 pageIdsessionIddeviceIdappNameappCode

未来计划

作者提出会写一套服务端(nest) + 后台查看监控数据平台(vue),有以下几点考量

提供服务端能力(目前只是在采集端发力) 可以在线体验此项目 提供更多示例代码给开发们,再次降低这一套代码在公司的推广难度 作者也想站在业务的角度多思考还能从哪些方面此项目还缺失哪些功能

总结

附上github地址:https://github.com/M-cheng-web/web-tracing

我们了解到 WebTracing是一款优秀的埋点项目,并提供了多种监控手段,帮助我们对页面交互和用户操作进行分析。

WebTracing提供了原生、Vue2Vue3等多种安装方式供我们使用。

它的主要功能包括事件采集、错误采集、路由采集、请求采集、资源采集、曝光采集等。

oySSL官网 注册码230918

实现网站的HTTPS安全访问涉及到几个关键步骤。HTTPS(超文本传输协议安全)通过SSL/TLS协议加密HTTP通信,确保数据在客户端和服务器之间的传输安全。以下是将网站从HTTP升级到HTTPS的详细步骤:

1. 获取SSL证书

  • 选择证书类型:决定是否需要单域名、多域名或通配符证书。
  • 购买证书:从受信任的证书服务商购买SSL证书。一些知名的服务商包括JoySSL、DigiCert、GeoTrust等。
  • 生成CSR:在你的服务器上生成一个证书签名请求(CSR),包含公钥和相关信息。
  • 提交CSR:将CSR提交给CA,完成验证过程。

2. 验证域名所有权

  • CA会通过电子邮件、DNS记录或网页文件等方式验证你对域名的所有权。

3. 安装SSL证书

  • 下载证书:从服务商处下载SSL证书。
  • 安装证书:将证书上传到你的服务器,并按照服务器软件(如Apache、Nginx、IIS等)的文档进行安装。

4. 配置服务器

  • 修改配置文件:编辑服务器的配置文件,确保它使用HTTPS端口(通常为443)。
  • 重定向HTTP到HTTPS:设置规则将所有HTTP请求重定向到HTTPS,以确保安全性。

5. 测试HTTPS设置

  • 使用SSL测试工具(如SSL Labs的Qualys SSL Labs测试)检查你的HTTPS配置,确保没有安全漏洞。

6. 更新内部链接

  • 确保网站上的所有内部链接都使用HTTPS URL,避免混合内容警告。

7. 测试网站功能

  • 在HTTPS环境下全面测试网站的功能,确保所有资源(如图片、脚本、CSS等)都能正确加载。

8. 更新外部引用

  • 如果有其他网站链接到你的网站,通知他们更新链接为HTTPS版本。

9. 监控与维护

  • 定期检查SSL证书的有效性,确保在到期前及时续订。
  • 持续监控网站的安全状态,及时响应任何安全问题。

PC点此申请https证书:JoySSL_JoySSL SSL证书_JoySSL https证书-JoySSL

注册填写注册码230918(填写注册码获得免费技术支持)

请根据你使用的具体服务器和Web应用环境调整上述步骤。如果需要更详细的指导,可以查阅特定服务器软件的官方文档。