EMS 日志和进程
EMS 日志和进程
本文说明如何从 EMS 管理界面和服务器操作系统两个层面检查日志、服务与进程,适用于日常巡检、安装后验证和故障定位。
重要
EMS 7.2 及更早版本主要使用 Windows Server,EMS 7.4 转为 Linux 架构;不同补丁、安装模式、数据库方式和 HA 节点角色所包含的服务名及日志位置可能不同。本文中的名称用于识别功能,现场应以主机实际安装的 service unit、容器和目标版本文档为准。
1. 日志类型
| 类型 | 主要内容 | 常用入口 |
|---|---|---|
| EMS 运行日志 | 管理员登录、配置变化、同步、连接器、任务及 EMS 业务操作 | Administration > Log Viewer |
| 告警和终端事件 | 证书、许可、部署失败、终端上下线、IP 变化等状态 | 告警入口、终端详情及告警页面 |
| 组件与系统日志 | Web 服务、Worker、数据库、缓存、操作系统和容器的启动及错误 | Linux journal、组件日志目录、容器日志或支持包 |
EMS 界面日志用于日常查看和审计;服务器日志用于调查服务无法启动、页面错误、数据库连接、任务阻塞和性能问题。终端本地 FortiClient 日志是另一类数据,不能由 EMS 服务器日志代替。
日志级别、保留期和外部 Syslog/FortiAnalyzer 设置参见EMS 日志设置和查看。
2. EMS 管理界面中的日志
运行日志
进入 Administration > Log Viewer,按时间、级别、模块、管理员或关键字筛选。排错时先记录:
- 故障发生的准确时间和时区。
- 受影响的终端、用户、策略、连接器或任务名称。
- 最近执行的配置、升级、证书或网络变更。
- 第一条异常及其前后的关联事件,而不只是最后一条报错。
需要共享时优先使用界面导出功能,不要用截图代替可搜索的原始日志。
告警与终端事件
告警用于提示证书或许可到期、下载或部署失败、目录同步异常等状态。处理后仍应确认告警是否恢复以及是否反复发生。
终端详情中的系统事件可帮助确认上下线、地址变化和状态转换。若问题只影响少量终端,还需收集终端本地 FortiClient 诊断报告,并对齐 EMS 与终端时间线。
日志级别与保留期
在 System Settings > Logs 中配置日志级别和日志、告警、事件的自动清理周期。临时提高日志级别前应评估数据库和磁盘增长;问题复现并完成采集后,应恢复日常级别。
3. Linux EMS 日志
EMS 7.4 Linux 部署通常将组件日志保存在:
/var/log/forticlientems/实际目录和文件名取决于版本及组件。先列出现场文件,再按故障时间查看:
sudo find /var/log/forticlientems -maxdepth 2 -type f -printf '%TY-%Tm-%Td %TH:%TM %10s %p\n' | sortsystemd 服务还可能将输出写入 journal:
sudo journalctl --since "2026-10-17 09:00:00" --until "2026-10-17 10:00:00"
sudo journalctl -u <service-name> --since "2026-10-17 09:00:00"将日期和服务名替换为实际故障窗口。使用明确的开始和结束时间,避免导出无关的大量日志。
操作系统日志与资源
sudo journalctl -p warning --since today
sudo dmesg --ctime
df -hT
df -ih
free -h
uptime重点关注磁盘或 inode 耗尽、OOM、文件系统错误、进程被终止、时间跳变、网络接口变化和频繁重启。
4. EMS 服务和进程
查看服务清单
EMS 7.4/8.0 Linux 环境通常包含 fcems_ 前缀的 systemd 服务,并可能使用 Apache、Redis、PostgreSQL、pgBouncer、InfluxDB 或 Telegraf 等支撑组件:
systemctl list-units --all --type=service 'fcems*'
systemctl --failed
systemctl --all --type=service | grep -E 'fcems|apache|redis|postgres|telegraf|influx'检查单个服务:
systemctl status <service-name> --no-pager
journalctl -u <service-name> -n 200 --no-pager注意
不要看到 inactive 就批量启动或重启所有服务。HA 备用节点、未启用功能和按需 Worker 可能具有不同预期状态。先确认节点角色、功能开关、服务依赖和最近变更。
常见服务功能组
| 功能组 | 常见名称示例 | 作用 |
|---|---|---|
| 管理界面 | fcems_webserver、Apache | 提供 EMS Web 应用和 HTTPS 入口 |
| 终端通信 | fcems_reg、fcems_ka、fcems_ecsocksrv | 处理注册、Keepalive 和相关连接 |
| 策略与任务 | fcems_task、fcems_deploy、fcems_update | 执行后台任务、部署和更新 |
| 数据操作 | fcems_dbop、fcems_pgbouncer、fcems_wspgbouncer | 数据库操作和连接池 |
| 目录集成 | fcems_adconnector、fcems_addaemon、fcems_adtask | AD/LDAP 连接与同步 |
| 标签与 ZTNA | fcems_tag、fcems_ztna、fcems_notify | 标签计算、ZTNA 和 FortiOS 通知 |
| 清单与安全任务 | fcems_sip、fcems_probe、fcems_forensics | 软件清单、探测和取证任务 |
| 监控 | fcems_monitor、fcems_telegraf、fcems_influxdb | 指标采集和监控数据 |
| 可选功能 | fcems_scep、fcems_chromebook、fcems_mdmproxy | SCEP、Chromebook 或移动设备功能 |
目标版本可能增加、删除或重命名服务。名称只能缩小范围,不能单独证明根因。
查看进程、端口和连接
ps -eo pid,ppid,user,stat,%cpu,%mem,lstart,cmd --sort=-%cpu
sudo ss -lntup
sudo ss -s确认服务是否存在对应进程、进程是否频繁更换 PID、监听地址和端口是否符合设计,以及是否存在持续资源异常或端口冲突。输出可能包含敏感地址、用户名和命令参数,对外提交前应脱敏。
5. 数据库和容器检查
本机 PostgreSQL
systemctl --all --type=service | grep -E 'postgres|pgbouncer'
df -hT
sudo ss -lntp先确认服务、连接池和空间,再检查 EMS 与数据库日志。没有备份和数据库负责人确认时,不要执行表修复、删除数据、修改参数或强制终止会话。
Docker PostgreSQL
docker ps -a
docker stats --no-stream
docker logs --since 30m <container-name>PostgreSQL HA 还要检查主备角色、复制和 witness 状态。容器处于 Up 只表示主进程运行,不代表数据库连接、复制和数据一致性正常。
远程数据库
应从 EMS 和数据库两端核对 DNS、路由、端口、TLS、账户、连接池、数据库日志、空间、锁和资源,不要只在 EMS 节点反复重启服务。
6. 常见现象与检查顺序
| 现象 | 优先检查 |
|---|---|
| 管理页面无法打开 | DNS/负载均衡、证书、监听端口、Web 服务、数据库连接、磁盘 |
| 能登录但页面加载失败 | Web 服务日志、数据库连接池、锁、资源和浏览器请求错误 |
| 大量终端同时离线 | 公共网络路径、证书、负载均衡、注册/Keepalive 服务、数据库、最近变更 |
| 只有部分终端离线 | 终端网络、DNS、代理、时间、证书信任、客户端版本及本地日志 |
| 策略长期不同步 | 实际分组、策略优先级、在线状态、任务 Worker、数据库和任务日志 |
| 客户端部署失败 | 安装包、权限、目标平台、部署 Worker、磁盘和终端现有安全软件 |
| AD/LDAP 同步失败 | DNS、端口、凭据、证书、目录权限和 AD Connector 日志 |
| HA 节点状态异常 | 节点角色、健康检查、数据库复制、时间、网络延迟和版本一致性 |
| 服务反复重启 | journal、组件日志、OOM、磁盘/inode、依赖、端口冲突和最近升级 |
7. 推荐排错流程
确认影响范围和开始时间
↓
记录版本、build、节点角色及最近变更
↓
检查 DNS、路由、证书、时间和端口
↓
检查系统资源、失败服务和数据库
↓
按时间窗口收集 EMS、journal、数据库和终端日志
↓
建立时间线并定位第一处异常
↓
在可恢复前提下执行一个最小变更
↓
验证平台、终端、策略、集成和业务避免同时重启多个组件、修改防火墙、替换证书和调整数据库。多个并行变更会破坏现场证据,也难以判断哪个操作生效。
8. 支持包和信息收集
升级给 Fortinet Support 时,优先从 EMS 界面生成 Support Package 或 Diagnostic Logs,并记录:
- EMS 完整版本、build、序列号和部署方式。
- 节点角色、数据库方式、故障时间和时区。
- 影响对象、复现步骤、预期结果和实际结果。
- 最近的升级、策略、证书、网络、许可或数据库变更。
- 相关终端诊断包、EMS 支持包和拓扑图。
诊断包可能包含主机名、IP、用户、域、证书和策略,应通过授权渠道传输并按制度删除。
9. 日常巡检建议
- 每日检查失败服务、关键告警、数据库、备份结果和磁盘空间。
- 每周检查异常重启、错误日志增长、离线终端和失败任务趋势。
- 每月复核日志保留、外部日志接收、容量趋势和证书到期。
- 升级或重大变更前后保存服务、版本、资源和监听端口基线。
平台巡检和备份要求参见EMS 的部署和维护与EMS 的备份和还原。
更新历史
| Ver | Description | Author | Rev | Date |
|---|---|---|---|---|
| 1.0 | First Complete | ysheng | tanga | 2026.10.17 |
| 0.1 | Draft Version | - | - | 2026.08.04 |