EMS 进程说明
EMS 进程说明
本文用于根据服务名或进程名定位 FortiClient EMS(Endpoint Management Server)服务端组件。EMS 负责终端注册、Telemetry、策略和命令下发、数据处理、目录与 FortiGate 集成,以及管理界面和数据库访问。
重要
EMS 7.2 及更早版本主要运行在 Windows Server,EMS 7.4 转为 Linux 架构。不同补丁、安装方式、数据库拓扑和 HA 节点角色包含的服务可能不同,应以目标版本文档和本机实际服务清单为准。
阅读和判断原则
- 服务名不等于可执行文件名;一个服务可能启动多个进程。
- Linux Worker 可能显示为 Python 进程,应结合 systemd unit 和完整命令行识别。
- 服务处于
active不代表注册、同步或数据库访问一定正常。 - HA 备用节点上的部分业务服务可能正常处于
inactive,必须先确认节点角色。 - 扫描、备份和部署等任务可能按需运行,不能用单次进程快照判断长期状态。
- 排错时同时记录 EMS 完整版本、build、节点角色、数据库方式和最近变更。
EMS 7.4 Linux 服务
终端连接与管理
以下职责依据 EMS 7.4.3 服务附录 整理。systemd 中的完整名称通常带 .service 后缀。
| 服务 | 主要职责 |
|---|---|
fcems_ecsocksrv | 接收终端连接,将请求分派给内部服务 |
fcems_probe | 响应连接前的 EMS 兼容性探测 |
fcems_reg | 处理终端注册 |
fcems_ka | 处理心跳,下发配置变更和扫描等命令 |
fcems_tag | 处理终端网络变化,更新相关姿态信息 |
fcems_das | 提供终端数据访问与缓存 |
fcems_monitor | 监控服务,恢复异常退出的服务并响应配置变化 |
fcems_notify | 将终端重要变化通知 FortiOS |
fcems_ztna | 提供 FortiOS 查询终端与姿态的 API |
fcems_chromebook | 处理 Chromebook 请求并提供配置 |
Telemetry 链路可按下列逻辑理解,但并非每个请求都依次经过全部组件:
FortiClient Telemetry
│
▼
fcems_ecsocksrv ──┬── fcems_probe / fcems_reg:探测、注册
├── fcems_ka:心跳、配置、命令
└── fcems_tag:网络变化
相关服务通过 fcems_das 等组件访问终端数据
EMS 通过 fcems_notify / fcems_ztna 与 FortiGate 交换姿态信息数据处理与外部集成
以下职责依据 EMS 7.4.7 服务附录 整理。
| 服务 | 主要职责 |
|---|---|
fcems_upload | 处理终端上传的日志、诊断、告警、软件清单及扫描结果 |
fcems_sip | 处理软件清单及潜在不受欢迎应用检查 |
fcems_update | 从 Fortinet 更新源获取安装包列表、特征及漏洞信息 |
fcems_ftntdbimporter | 解码并导入下载的特征和漏洞数据库 |
fcems_deploy | 调度终端升级部署 |
fcems_installer | 对接重打包服务,生成包含 EMS 配置的安装包 |
fcems_task | 执行授权席位、过期 ZTNA 证书等周期维护 |
fcems_dbop | 处理站点数据库操作、备份及还原 |
fcems_adconnector | 从 AD 或 Microsoft Entra ID 获取目录数据 |
fcems_addaemon | 解析目录数据,关联或创建设备、用户及组 |
fcems_adtask | 执行目录定期同步 |
fcems_adevtsrv | 处理远程 AD Connector 请求 |
fcems_mdmproxy | 与 MDM 平台交换移动终端信息 |
fcems_scep | 为 MDM 管理的终端提供 ZTNA 证书 |
fcems_forensics | 同步受管终端的取证任务信息 |
Web、数据库与监控组件
| 服务或组件 | 主要职责与识别要点 |
|---|---|
apache2 | 提供管理页面、API 和文件分发入口 |
fcems_webserver | 部分部署中的 Web 应用服务,可能承载 Django/Gunicorn 实例 |
fcems_pgbouncer | EMS 后台服务使用的 PostgreSQL 连接池 |
fcems_wspgbouncer | Web 服务使用的 PostgreSQL 连接池 |
postgresql | 数据存储;实例可能位于本机、外部主机或容器 |
redis-server | 缓存和进程间通信;服务名因部署而异 |
fcems_influxdb | 部分部署中的时序数据库 |
fcems_telegraf | 部分部署中的指标采集组件 |
fcems_webserver、fcems_influxdb 和 fcems_telegraf 并非所有版本的必备服务,应以本机查询结果为准。
查看 EMS 7.4 服务
具有 Linux shell 权限时:
sudo /opt/forticlientems/bin/emscli service get --all --describeEMS VM 受限 CLI 中使用:
service get --all进一步检查 systemd、PID 和日志:
systemctl list-units --all --type=service 'fcems*' 'apache*' 'redis*' 'postgres*' --no-pager
systemctl status fcems_ecsocksrv.service --no-pager -l
systemctl show fcems_ecsocksrv.service -p MainPID -p ExecStart -p SubState
journalctl -u fcems_ecsocksrv.service --since '30 minutes ago' --no-pagerjournalctl 用于检查启动和退出等系统事件,业务排错仍需结合 EMS 应用日志。CLI 入口参见从 CLI 访问 EMS。
服务状态判断
active (running):服务正在运行,仍需验证连接、注册或配置下发结果。inactive (dead):可能是 HA 备机的预期状态,先核对主备角色。参见 HA 服务状态示例。active (exited):可能是包装单元;例如postgresql.service不一定代表实际数据库实例。failed或 PID 反复变化:记录退出原因、时间和资源占用后再分析,不要直接反复重启。
EMS 7.2 Windows 服务对照
以下名称依据 EMS 7.2.6 服务附录。名称对应不表示内部实现或数据库架构相同。
| EMS 7.2 服务 | EMS 7.4 对应功能服务 |
|---|---|
FCEMS_Monitor | fcems_monitor |
FCEMS_Apache | apache2 |
FCEMS_Das | fcems_das |
FCEMS_ECSOCKSRV | fcems_ecsocksrv |
FCEMS_PROBE | fcems_probe |
FCEMS_REG | fcems_reg |
FCEMS_KA | fcems_ka |
FCEMS_TAG | fcems_tag |
FCEMS_Notify | fcems_notify |
FCEMS_ZTNA | fcems_ztna |
FCEMS_ChromebookServer | fcems_chromebook |
FCEMS_Server | fcems_upload |
FCEMS_Task | fcems_task |
FCEMS_Deploy | fcems_deploy |
FCEMS_Update | fcems_update |
FCEMS_Sip | fcems_sip |
FCEMS_ADCONNECTOR | fcems_adconnector |
FCEMS_ADDAEMON | fcems_addaemon |
FCEMS_ADTASK | fcems_adtask |
FCEMS_ADEVTSRV | fcems_adevtsrv |
FCEMS_FORENSICS | fcems_forensics |
FCEMS_MDMPROXY | fcems_mdmproxy |
FCEMS_SCEP | fcems_scep |
Redis | Redis 缓存服务 |
在 EMS 7.2 服务器的 PowerShell 中查询服务和可执行文件:
Get-CimInstance Win32_Service |
Where-Object { $_.Name -match 'FCEMS|Redis|MSSQL' } |
Select-Object Name, DisplayName, State, ProcessId, PathName常见现象与检查入口
| EMS 侧现象 | 优先检查 |
|---|---|
| 大量终端无法注册或重连 | fcems_ecsocksrv、fcems_probe、fcems_reg,以及证书和服务器网络 |
| 终端在线但配置或命令不更新 | fcems_ka、fcems_das、任务状态和数据库 |
| 终端日志或软件清单不更新 | fcems_upload、fcems_sip;EMS 7.2 对照 FCEMS_Server |
| FortiGate 姿态信息不更新 | fcems_tag、fcems_notify、fcems_ztna 和 Fabric Connector |
| EMS 页面异常而终端仍在线 | Web 服务、数据库连接池、数据库和磁盘空间 |
| 安装包生成或部署异常 | fcems_installer、fcems_deploy、fcems_update 和下载服务 |
采集时记录版本、进程路径、PID、父 PID、发生时间及资源占用。进一步排查参见 EMS 的信息收集和 EMS 日志和进程。
更新历史
| Ver | Description | Author | Rev | Date |
|---|---|---|---|---|
| 1.0 | First Complete | ysheng | tanga | 2026.10.17 |