写点什么

连锁门店可用性监测和进程监测最佳实践

作者:观测云
  • 2025-09-05
    上海
  • 本文字数:4845 字

    阅读完需:约 16 分钟

连锁门店可用性监测和进程监测最佳实践

前言

在连锁零售企业的数字化运营中,多门店通过网络实时访问总部业务系统(如收银、库存、会员管理等核心模块)是其日常经营的基础支撑。然而,由于门店分布广泛、网络环境复杂,网络或应用服务的任何中断都可能直接阻断交易流程、影响顾客体验,进而造成即时营收损失与长期品牌信任损耗。据行业调研,门店单次网络中断平均会造成 15-30 分钟的业务停滞,高峰时段(如周末、节假日)单店每小时营收损失可达数千元,叠加顾客投诉与复购率下降的隐性成本,对门店整体收益与品牌口碑形成显著冲击。

具体而言,门店终端离线将直接切断门店与总部的网络通路,线上业务停滞;DNS 解析异常会导致门店终端无法定位业务系统域名(如收银系统域名指向错误 IP),用户无法完成支付;DNS 污染/劫持可能将用户导向恶意或无效页面,引发交易失败甚至数据泄露风险;应用进程异常(如 POS 服务崩溃、库存同步程序卡死)则会使关键功能失效,导致顾客排队流失或订单积压。

因此,通过门店主动拨测与进程监测实时感知主机离线、DNS 解析异常、DNS 污染、应用进程中断等关键风险,是保障连锁门店网络稳定性与应用可用性、最小化业务中断损失的必要手段,也是支撑连锁企业规模化运营与数字化服务连续性的核心运维实践。

观测云简介

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

DataKit

DataKit 是观测云提供的开源、跨平台的数据收集和监控工具。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。在门店观测场景中,DataKit 可运行在 Windows 7、Server 2008R2 或更高版本,其可用性监测功能(拨测)、主机健康检查功能至关重要。

安装 DataKit

测试终端:Windows Server 2019 Datacenter Edition

进入观测云「集成」-「DataKit」页面,切换到 Windows 菜单页,可看到 Windows 版 DataKit 的安装命令。



在 windows server(模拟门店主机)上使用管理员权限打开 PowerShell,执行上述安装命令。



使用 datakit monitor 命令,如有下方的输出则证明 DataKit 安装成功。

datakit monitor
复制代码



新建拨测节点

进入「可用性监测」-「自建节点管理」菜单,点击「新建节点」。



根据实际情况填写节点信息,如下所示:



创建完成后,点击「获取配置」。



获得如下配置信息,稍后需要复制到 DataKit 的采集器配置文件中。



配置拨测节点参数

在客户端主机上进入 DataKit 的拨测采集器目录,默认是在 C:\Program Files\datakit\conf.d\network,将 dialtesting.conf.sample 文件复制一份,去掉其后缀、改名为 dialtesting.conf,如下图所示:



编辑 dialtesting.conf 配置文件,将观测云界面上自建拨测节点的配置填写到对应字段中。



保存后重启 datakit 服务,再执行 datakit monitor 命令时可以看到 dialtesting 采集器已经成功开启。

datakit serivce -R//重启datakit 服务
复制代码



配置拨测任务

进入「可用性监测」-「新建监测任务」-「API 拨测」。



按页面提示选择拨测类型,配置拨测目标地址、可用判断、拨测频率,勾选拨测节点为刚才创建的自建拨测节点,如下图所示:



本次测试所用配置的参数如下:


保存任务后稍等片刻,便可以在「查看器」看到该任务的拨测数据。



场景 1:门店终端离线

场景描述

终端宕机、门店网络中断等情况都会导致门店无法访问总部系统、POS、进销存等关键业务平台,影响正常营业与交易。

场景模拟

当终端宕机、门店网络中断等异常情况发生时,门店终端上的 DataKit 拨测节点亦将无法上报拨测数据,因此我们在观测云上配置「数据断档」监控,可以有效地对终端离线等情况进行监控告警。我们将测试的 windows server 关机以便模拟该现象。

关键步骤

  • Step1:确保拨测任务正常,观测云上能看到持续产生的拨测数据。



  • Step2:在观测云上配置无数据告警。

进入「监控」-「监控器」-「新建监控器」,配置一个「可用性数据检测」类型的监控器。在配置时,将「数据断档」配置如下,这表示如果观测云在 5 分钟内没有收到数据上报,则触发一个严重级别事件,并按照监控器配置发送一条监控告警。



本测试任务的其他配置参数为:


  • Step3:将测试用的 windows server 关机,模拟门店终端离线。

  • Step4:当数据断档时间超过设定阈值时,观测云将产生「数据断档」事件,并按照设定的通知渠道发送给告警接收人/团队。 进入观测云「事件中心」可查看该事件。



观测云还提供了「IoT 精简版」DataKit,专门为 IoT 设备设计的,具有更小的资源占用和更少的功能,以适应资源受限的嵌入式设备。部分连锁零售品牌在门店 SD-WAN 网关中安装 DataKit,来实现门店网络和终端的监控。

IoT 精简版 DataKit 的链接为https://docs.guance.com/datakit/datakit-install/#lite-install

场景 2:DNS 解析失败

场景描述

众所周知,客户端正确解析服务端网站域名是正常访问业务的前提。运营商 Local DNS 或互联网 DNS Server 故障都可能导致 DNS 解析异常,这些情况都会引起门店在线业务中断。

场景模拟

将测试 windows server 的 DNS 地址修改为一个错误的 IP 地址,模拟 DNS 解析异常。

关键配置

  • Step1:确保拨测任务正常,观测云上能看到持续产生的拨测数据。



  • Step2:在观测云上配置可用性监测告警,监控“可用率”指标。

进入「监控」-「监控器」-「新建监控器」,配置一个「可用性数据检测」类型的监控器。在配置时,将监控指标配置为「可用率」,这表示如果拨测任务的可用率下降,则触发事件并按照监控器配置发送一条监控告警。(「可用率」由创建拨测任务时的「可用判断」来决定,例如响应状态码≠200 等)



本测试任务的其他配置参数为:


  • Step3:修改测试 windows server 的 DNS 地址,引发 DNS 解析异常。

配置 windows server 的网络适配器,将 DNS 服务器配置为 2.2.2.2 并保存。



此时通过浏览器访问目标网站,浏览器会提示找不到目标服务器 IP 地址,说明 DNS 地址配置成功。



  • Step4:等待片刻,观测云将产生「可用性下降」的事件并按照设定的通知渠道发送给告警接收人/团队。 进入观测云「事件中心」可查看该事件。可以点击右上角「关联查看」-「查看相关全部可用性监测」跳转到拨测查看器。



跳转到拨测查看器页面,可以看到当前的拨测任务都是失败状态(状态为橙红色)。



点击拨测详情,可查看请求失败原因,显然这是一个 DNS 解析异常而产生的错误。

Get "https://www.guance.com": dial tcp: lookup www.guance.com: no such host
复制代码



在 DNS 解析异常时,拨测数据依然可以从门店终端进行上报。这是因为 DataKit 和后端服务之间采用长连接,不会频繁进行 DNS 解析。

场景 3:DNS 劫持/污染

场景描述

除了正常网络故障导致的 DNS 解析异常外,互联网中普遍存在 DNS 劫持/污染攻击,攻击者通过篡改 DNS 服务器的解析记录,将用户请求的合法域名恶意指向虚假或恶意网站,从而可能导致用户访问异常、数据泄露甚至门店在线业务服务中断。

场景模拟

通过修改 windows server 的 hosts 文件,强制将目标网站解析到某个 IP。同时,通过观测云的 pipeline 功能对拨测的 DNS 解析结果进行判断,如果解析的 IP 地址并不属于指定 IP 网段,则进行告警。

关键配置

  • Step1:确保拨测任务正常,观测云上能看到持续产生的拨测数据。本场景我们使用 baidu 进行来做演示。



  • Step2:检查拨测目标网站/业务系统的正确 IP 地址。在测试 windows server 上进行 DNS 解析,DNS Server 返回 baidu 的 IPv4 地址为 182.61.200.108 和 182.61.200.110,他们都属于 182.61.200.0/24 网段。



  • Step3:添加观测云 pipeline,对拨测任务的目标 IP 进行判断。

进入观测云「管理」-「pipelines」页面,新建一个中心 pipeline,将数据类型选为「可用性拨测」。数据来源选择「http_dial_testing」,配置自定义的 Pipeline 名称,点击「一键获取样本」将拨测任务的 JSON 格式的数据显示到网页中。



将以下 pipeline 代码粘贴到「定义解析规则」的空白处,这段代码表示:如果拨测任务的目标 IP 属于 182.61.200.0/24 网段,便添加一个字段 dns_result=true;若目标 IP 不属于该网段,则添加 dns_result=false。

json(_, dest_ip)if cidr(dest_ip, "182.61.200.0/24") {  add_key(dns_result, "true")} else {  add_key(dns_result, "false")}
复制代码



配置好解析规则后,点击「开始测试」可以看到测试结果,如符合预期则保存该 pipeline。后续的拨测任务将自动应用 pipeline 规则对数据进行处理。



  • Step4:配置监控告警,对 dns_result 这个字段进行判断。

进入观测云「监控」-「监控器」-「新建监控器」-「阈值检测」,参考下面的表格进行配置。




  • Step5:配置 windows server 的 hosts 文件,将 baidu 强制解析为某个 IP。保存后,浏览器访问 baidu 将无法正常访问。



  • Step6:在修改 DNS 解析记录之后稍等片刻,观测云将产生相关事件,并按照设定的通知渠道发送给告警接收人/团队。 进入观测云「事件中心」可查看该事件。



从事件跳转到「可用性监测」后,可以看到异常拨测任务中关键信息:



场景 4:门店应用进程中断

场景描述

门店的 windows 终端上会运行「点单系统」等重要应用,应用进程的正常运行对门店运营至关重要,总部的运维团队应当第一时间收到门店应用的进程异常告警。

场景模拟

DataKit 可以采集应用进程的指标,并对应用进程的存活进行监控告警。因此在模拟该场景时,可在 windows server 上指定运行中的 chrome 浏览器进程,通过结束 chrome 进程来模拟门店应用进程中断。

关键步骤

  • Step1:打开 DataKit 的「host_healthcheck」采集器,上报进程的存活指标。

进入已安装 DataKit 的 windows server 的如下路径 C:\Program Files\datakit\conf.d\host,将 host_healthcheck.conf.sample 文件复制一份并修改名称为 host_healthcheck.conf。



修改 host_healthcheck.conf 文件,将 names 字段的值配置为应用进程名(对应 DataKit 采集到的 process_name 字段的值)。



配置文件中的值对应进程名称,即 process_name 字段的值。可在「基础设施」-「进程」中找到指定进程。



修改配置文件后需重启 DataKit 方可使配置生效。

datakit service -R
复制代码

通过 datakit monitor 命令观察,如果看到 host_healthcheck 采集器正常上报数据,则配置成功,如下图所示。



进入「指标」-「指标分析」,可以看到 host_process_exception 指标集下新增了 exception 指标,并且按照采集器配置文件中频率进行刷新。(在本次测试中, host_healthcheck 采集器的采集频率为 1 分钟)当应用进程正常运行时,该指标的值为 0。而当进程异常终止时,该指标将接收到 DataKit 上报的异常信号,exception 指标的值为 1。



也可以采用 DQL 方式进行查看 exception 指标的变化情况。

M::`host_process_exception`:(avg(`exception`)) { `process` = 'chrome.exe' }
复制代码
  • Step2:配置监控器,对应用进程的存活进行监控。


关键配置如下图所示,配置完成后保存监控器。




  • Step3:结束应用进程,触发告警。在 windows server 上使用「任务管理器」结束 chrome 浏览器进程。



  • Step4:当进程被终止后,观测云将接收到 DataKit 上报的 exception=1 的信号,并将按照监控器配置产生 Critical 级别事件,通过设定的通知渠道发送给告警接收人/团队。 进入观测云「事件中心」可查看该事件。

如下图所示,观测云将接收到 chrome 进程的 excetpion 指标值为 1 的信号。



监控器产生的事件如下:



总结

综上,通过在连锁门店部署针对 DNS 解析异常、DNS 污染、主机离线及应用进程异常的拨测与监测方案,能够实时感知网络与应用层的潜在风险,快速定位中断根因,有效规避因网络或服务不可用导致的交易停滞、顾客流失及隐性收益损失。该实践以“主动监测+精准告警”为核心,为连锁企业构建了覆盖全网门店的业务连续性保障体系,是支撑数字化运营稳定、提升门店服务韧性的关键基础。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
连锁门店可用性监测和进程监测最佳实践_可用性监测_观测云_InfoQ写作社区