监视 Microsoft Tunnel

安装 Microsoft Tunnel 后,可以在 Microsoft Intune 管理中心查看服务器配置和服务器运行状况。

使用管理中心 UI

Microsoft Intune 管理中心登录,然后转到 租户管理>Microsoft Tunnel 网关>运行状况状态

接下来,选择一个服务器,然后打开“运行状况检查”选项卡以查看该服务器的运行状况状态指标。 默认情况下,每个指标都使用预定义的阈值来确定状态。 以下指标支持自定义这些阈值

  • CPU 使用率
  • 内存使用率
  • 磁盘空间使用情况
  • 延迟

服务器运行状况指标的默认值:

  • 上次签入 - Tunnel Gateway 服务器上次签入到 Intune 的时间。

    • 运行正常 - 上次签入发生在最近五分钟内。
    • 不正常 - 最后一个检查五分钟前。
  • 当前连接数 - 服务器上次签入时处于活动状态的唯一连接数。

    • 运行正常 - 连接数不超过 4,990 个
    • 运行不正常 - 活动连接数超过 4,990 个
  • 吞吐量 - 服务器上次签入时,流量通过 Tunnel Gateway NIC 的每秒兆位位数。

  • CPU 使用率 - Tunnel Gateway 服务器每隔五分钟的平均 CPU 使用率。

    • 运行正常 - 95% 或更少
    • 警告 - 96% 至 99%
    • 运行不正常 - 100% 使用
  • CPU 核心 数 – 此服务器上可用的 CPU 核心数。

    • 正常 - 4 个或更多核心
    • 警告 - 1 个、2 个或 3 个核心
    • 运行不正常的 -0 个核心
  • 内存使用率 - Tunnel Gateway 服务器每隔 5 分钟的平均内存使用率。

    • 运行正常 - 95% 或更少
    • 警告 - 96% 至 99%
    • 运行不正常 - 100% 使用
  • 磁盘空间使用情况 - Tunnel 网关服务器使用的磁盘空间量。

    • 正常 - 超过 5 GB
    • 警告 - 3-5 GB
    • 不正常 - 低于 3 GB
  • 延迟 - IP 数据包到达然后退出网络接口所需的平均时间。

    • 运行正常 - 小于 10 毫秒
    • 警告 - 10 毫秒至 20 毫秒
    • 运行不正常 - 超过 20 毫秒
  • 管理代理证书 – Tunnel Gateway 使用管理代理证书向 Intune 进行身份验证,因此请务必在证书过期之前续订它。 但是,它应会自动续订。

    • 正常 - 证书过期时间超过 30 天。
    • 警告 - 证书过期时间不到 30 天。
    • 不正常 - 证书已过期。
  • TLS 证书 - 传输层安全性 (TLS) 证书(用于保护客户端与 Tunnel 网关服务器之间的流量)过期之前的天数。

    • 运行正常 - 超过 30 天
    • 警告 - 30 天或更短
    • 运行不正常 - 证书已过期
  • TLS 证书吊销 – 隧道网关尝试使用联机证书状态协议 (OCSP) 或证书吊销列表 (CRL) 地址检查传输层安全性 (TLS) 证书的吊销状态。 此检查要求服务器有权访问证书中定义的 OCSP 终结点或 CRL 地址。

    • 正常 - 不会吊销 TLS 证书。
    • 警告 - 如果 TLS 证书被吊销,则无法检查。 确保可以从 Tunnel 服务器访问证书中定义的终结点。
    • 不正常 - TLS 证书已吊销。

    计划替换吊销的 TLS 证书。

    若要详细了解联机证书状态协议 (OCSP) ,请参阅 wikipedia.org 的联机证书状态协议

  • 内部网络可访问性 - 最近的内部 URL 检查的状态。 你需要在隧道站点配置过程中配置 URL。

    • 运行正常 - 服务器可以访问站点属性中指定的 URL。
    • 运行不正常 - 服务器无法访问站点属性中指定的 URL。
    • 未知 - 当你未在站点属性中设置 URL 时,将显示此状态。 此状态不会影响站点的总体状态。
  • 可升级性 - 服务器能够联系 Microsoft 容器存储库,该存储库允许 Tunnel 网关在版本可用时进行升级。

    • 正常 - 服务器在过去 5 分钟内未联系 Microsoft 容器存储库。
    • 不正常 - 服务器已超过 5 分钟未联系 Microsoft 容器存储库。
  • 服务器版本 - 与最新版服务器对应的 Tunnel 网关服务器软件的状态。

    • 正常 - 已更新到最新的软件版本
    • 警告 - 落后一个版本
    • 不正常 - 落后两个或更多版本,且不受支持

    如果“服务器版本”显示“不正常”,请计划为 Microsoft Tunnel 安装升级

  • 服务器容器 – 确定托管 Microsoft Tunnel 服务器的容器是否正在运行。

    • 正常 - 服务器容器状态为正常。
    • 不正常 - 服务器容器状态不正常。
  • 服务器配置 – 确定服务器配置是否已从 intune 站点设置Microsoft成功应用到 Tunnel 服务器。

    • 正常 - 已成功应用服务器配置。
    • 不正常 - 无法应用服务器配置。
  • 服务器日志 – 确定日志是否已在过去 60 分钟内上传到服务器。

    • 正常 - 在过去 60 分钟内上传了服务器日志。
    • 不正常 - 服务器日志在过去 60 分钟内未上传。

管理运行状况阈值

你可以自定义以下 Microsoft Tunnel 运行状况指标,以更改用于报告其状态的每个阈值。 自定义项是全租户范围的,适用于所有 Tunnel 服务器。 可以自定义以下运行状况检查指标:

  • CPU 使用率
  • 内存使用率
  • 磁盘空间使用情况
  • 延迟

若要修改指标阈值,请执行以下操作:

有关如何选择和配置运行状况状态阈值的屏幕截图。

  1. Microsoft Intune 管理中心 登录,转到 租户管理>Microsoft Tunnel 网关>运行状况状态

  2. 选择“配置阈值”

  3. “配置的阈值”页上,为要自定义的每个运行状况检查类别设置新的阈值。

    • 阈值适用于所有站点中的所有服务器。
    • 如果选择“还原为默认值”,会将所有阈值还原为默认值。
  4. 选择“保存”。

  5. 在“运行状况”窗格上,选择“刷新”,根据自定义阈值更新所有服务器的状态。

修改阈值后,服务器“运行状况检查”选项卡上的值会根据当前阈值自动更新,以反映其状态。

服务器运行状况检查视图的屏幕截图。

以图表形式查看 Microsoft Tunnel 网关运行状况指标的运行状况趋势。 图表的数据是三小时内的平均值,因此可以延迟三小时。

运行状况趋势图表可用于以下指标:

  • Connections
  • CPU 使用率
  • 磁盘空间使用情况
  • 内存使用率
  • 平均延迟
  • 吞吐量

若要查看趋势图表,请执行以下操作:

  1. 登录到 Microsoft Intune 管理中心

  2. 转到“租户管理”>“Microsoft Tunnel 网关”>“运行状况”> 选择服务器,然后选择“趋势”

  3. 使用“指标”下拉列表,选择要查看的指标图表。

使用 mst-cli 命令行工具

使用 mst-cli 命令行工具获取有关 Microsoft Tunnel 服务器的信息。 安装 Microsoft Tunnel 时,此文件将添加到 Linux 服务器。 该工具位于:/usr/sbin/mst-cli

有关详细信息和命令行示例,请参阅适用于 Microsoft Tunnel 的 mst-cli 命令行工具

查看 Microsoft Tunnel 日志

Microsoft Tunnel 会将信息记录到 Linux 服务器日志中(采用 syslog 格式)。 若要查看日志条目,请使用 journalctl -t 命令,后跟一个或多个特定于 Microsoft Tunnel 条目的标记

  • mstunnel-agent:显示代理日志。

  • mstunnel_monitor:显示监视任务日志。

  • ocserv - 显示服务器日志。

  • ocserv-access - 显示访问日志。

    默认情况下,访问日志记录处于禁用状态。 启用访问日志可以降低性能,具体取决于服务器上的活动连接数和使用模式。 DNS 连接的日志记录会增加日志的详细程度,它可能会变得嘈杂。

    访问日志采用以下格式:<Server timestamp><Server Name><ProcessID on Server><userId><deviceId><protocol><src IP and port><dst IP and port><bytes sent><bytes received><connection time in seconds>例如:

    • Feb 25 16:37:56 MSTunnelTest-VM ocserv-access[9528]: ACCESS_LOG,41150dc4-238x-4dwv-9q89-55e987f30c32,f5132455-ef2dd-225a-a693-afbbqed482dce,tcp,169.254.54.149:49462,10.88.0.5:80,112,60,10

    重要

    ocserv-access 中,deviceId 值标识在设备上运行的Microsoft Defender的唯一安装实例,并且不标识 Intune 设备 ID 或Microsoft Entra设备 ID。 如果卸载 Defender,然后在设备上重新安装,则会生成 DeviceId* 的新实例。

    若要启用访问日志记录,请执行以下操作:

    1. set TRACE_SESSIONS=1 in /etc/mstunnel/env.sh
    2. 将 TRACE_SESSIONS=2 设置为包含 DNS 连接的日志记录
    3. 运行 mst-cli server restart 以重新启动服务器。

    如果访问日志过于嘈杂,可以通过设置 TRACE_SESSIONS=1 并重新启动服务器来关闭 DNS 连接日志记录。

  • OCSERV_TELEMETRY - 显示与 Tunnel 连接的遥测详细信息。

    遥测日志采用以下格式, bytes_inbytes_out持续时间 的值仅用于断开连接作: <operation><client_ip><server_ip><gateway_ip><assigned_ip><user_id><device_id><user_agent><bytes_in><bytes_out><duration> 例如:

    • 10月20日 19:32:15 mstunnel ocserv[4806]: OCSERV_TELEMETRY,connect,31258,73.20.85.75,172.17.0.3,169.254.0.1,169.254.107.209,3780e1fc-3ac2-4268-a1fd-dd910ca8c13c, 5A683ECC-D909-4E5F-9C67-C0F595A4A70E,MobileAccess iOS 1.1.34040102

    重要

    OCSERV_TELEMETRY 中,deviceId 值标识在设备上运行的Microsoft Defender的唯一安装实例,并且不标识 Intune 设备 ID 或Microsoft Entra设备 ID。 如果卸载 Defender,然后在设备上重新安装,则会生成 DeviceId* 的新实例。

journalctl 的命令行示例:

  • 若要仅查看隧道服务器的信息,请运行 journalctl -t ocserv
  • 若要查看遥测日志,请运行 journalctl -t ocserv | grep TELEMETRY
  • 若要查看所有日志选项的信息,可以运行 journalctl -t ocserv -t ocserv-access -t mstunnel-agent -t mstunnel_monitor
  • -f 添加到命令中,以显示日志文件的持续、活动的视图。 例如,若要主动监视正在进行的 Microsoft Tunnel 进程,请运行 journalctl -t mstunnel_monitor -f

用于 journalctl 的更多选项:

  • journalctl -h - 显示 journalctl 的命令帮助。
  • man journalctl - 显示更多信息。
  • man journalctl.conf 显示配置的相关信息。如需详细了解 journalctl,请参阅所用的 Linux 版本的相应文档

轻松上传 Tunnel 服务器的诊断日志

作为诊断帮助,可以在 Intune 管理中心内单击一下,直接将 Intune 启用、收集并提交来自 Tunnel 网关服务器的详细日志,并将其提交到Microsoft。 使用 Microsoft 识别或解决 Tunnel 服务器的问题时,这些详细日志可直接用于Microsoft。

在打开支持事件之前,可以从事件中收集和上传详细日志,或者,如果已使用 Microsoft 检查 Tunnel 服务器作,则可以根据请求。

若要使用此功能,请

  1. 打开 “Microsoft Intune 管理中心 ”,转到 “租户管理>”Microsoft“隧道网关> ”选择 服务器> ,然后选择“ 日志 ”选项卡。

  2. 在“ 日志 ”选项卡上,找到 “发送详细服务器日志 ”部分,然后选择“ 发送日志”。

为 Tunnel 服务器选择“ 发送日志 ”时,将开始以下过程:

  • 首先,Intune 捕获当前一组 Tunnel 服务器日志,并将其直接上传到Microsoft。 这些日志是使用服务器当前的日志详细级别收集的。 默认情况下,服务器详细级别为零 (0) 。
  • 接下来,Intune 为 Tunnel 服务器日志启用 4 (4) 的详细级别。 此详细级别收集 8 小时。
  • 在详细日志收集的 8 小时内,应重现正在调查的问题或作,以捕获日志中的详细详细信息。
  • 八小时后,Intune 收集第二组包含详细详细信息的服务器日志,并将其上传到Microsoft。 在上传时,Intune 还会重置 Tunnel 服务器日志,以使用默认的详细级别 0 (0) 。 如果以前提高了服务器的详细级别,则在 Intune 将详细级别重置为零后,可以还原自定义详细级别。

Intune 收集和上传的每组日志都标识为单独的集,管理中心的“ 发送日志 ”按钮下方显示以下详细信息:

  • 日志收集的 开始结束 时间
  • 生成上传时间
  • 日志设置 详细级别
  • 可用于标识特定日志集的事件 ID

显示“发送详细服务器日志”界面的屏幕截图。

在运行详细日志收集时捕获问题后,可以将该日志的事件 ID 设置为 Microsoft,以帮助进行调查。

关于日志收集

  • Intune 不会停止或重启 Tunnel 服务器来启用或禁用详细日志记录。
  • 8 小时的详细日志记录期不能提前延长或停止。
  • 可以根据需要经常使用 发送日志 进程来捕获详细日志记录问题。 但是,增加日志详细程度会增加 Tunnel Server 的压力,不建议将其用作常规配置。
  • 详细日志记录结束后,为 Tunnel 服务器日志设置默认的详细级别为零,而不管以前设置的详细级别如何。
  • 通过此过程收集以下日志:
    • mstunnel-agent (代理日志)
    • mstunnel_monitor (监视任务日志)
    • ocserv (服务器日志)

不会收集或上传 ocserv-access 日志。

已知问题

以下是 Microsoft Tunnel 的已知问题。

服务器运行状况

当服务器运行状况显示为脱机时,客户端可以成功使用隧道

问题:在 “隧道 运行状况状态 ”选项卡上,即使用户可以访问隧道服务器并连接到组织的资源,服务器的运行状况也会报告为脱机状态,指示该服务器已断开连接。

解决方案:若要解决此问题,必须重新安装 Microsoft Tunnel,这将向 Intune 重新注册 Tunnel 服务器代理。 若要防止此问题,请在发布 Tunnel 代理和服务器的更新后立即安装这些更新。 使用 Microsoft Intune 管理中心中的 Tunnel 服务器运行状况指标监视服务器运行状况。

使用 Podman 时,可以在mstunnel_monitor日志中看到“执行检查时出错”

问题:Podman 无法识别或看到活动容器正在运行,并在 Tunnel 服务器的 mstunnel_monitor日志 中报告“执行检查时出错”。 下面是错误示例:

  • 代理:

    Error executing Checkup
    Error details
    \tscript: 561 /usr/sbin/mst-cli
    \t\tcommand: $ctr_cli exec $agent_name mstunnel checkup 2> >(FailLogger)
    \tstack:
    \t\t<> Checkup /usr/sbin/mst-cli Message: NA
    \t\t<> MonitorServices /usr/sbin/mst-cli Message: Failure starting service mstunnel-agent
    \t\t<> main /usr/sbin/mstunnel_monitor Message: NA
    
  • 服务器:

    Error executing Checkup
    Error details
    \tscript: 649 /usr/sbin/mst-cli
    \t\tcommand: $ctr_cli exec $agent_name mstunnel checkup 2> >(FailLogger)
    \tstack:
    \t\t<> Checkup /usr/sbin/mst-cli Message: NA
    \t\t<> MonitorServices /usr/sbin/mst-cli Message: Failure starting service mstunnel-server
    \t\t<> main /usr/sbin/mstunnel_monitor Message: NA
    

解决方案:若要解决此问题,请手动 重启 Podman 容器。 然后,Podman 应能够识别容器。 如果问题仍然存在或返回,请考虑使用 cron 创建一个作业,该作业会在出现此问题时自动重启容器。

使用 Podman 时,可以在 mstunnel-agent 日志中看到 System.DateTime 错误

问题:使用 Podman 时,mstunnel-agent 日志可能包含类似于以下条目的错误:

  • Failed to parse version-info.json for version information.
  • System.Text.Json.JsonException: The JSON value could not be converted to System.DateTime

出现此问题的原因是 Podman 和 Tunnel 代理之间的格式设置日期存在差异。 这些错误并不表示严重问题或阻止连接。 从 2022 年 10 月之后发布的容器开始,应解决格式问题。

解决方案:若要解决这些问题,请将代理容器 (Podman 或 Docker) 更新到最新版本。 发现这些错误的新源后,我们将继续在后续版本更新中修复它们。

与隧道的连接

设备无法连接到 Tunnel 服务器

问题:设备无法连接到服务器,并且 Tunnel 服务器 ocserv 日志文件包含类似于以下条目的条目: main: tun.c:655: Can't open /dev/net/tun: Operation not permitted

有关查看 Tunnel 日志的指南,请参阅本文中的查看 Microsoft Tunnel 日志

解决方案:在 Linux 服务器重新启动后,使用 mst-cli server restart 重启服务器。

如果此问题仍然存在,请考虑使用 cron 计划实用工具自动执行重新启动命令。 请参阅如何在 Linux 上使用 cronopensource.com

Microsoft Tunnel 参考