Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pac
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tools
pac
Commits
5a291a41
Commit
5a291a41
authored
Oct 10, 2026
by
luoqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs: make operations handoff self-contained and own application monitoring
parent
8010ba3c
Pipeline
#3745
failed in 0 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
22 deletions
+59
-22
docs/friday-ai-production-deployment.md
+5
-3
docs/friday-ai-production-handoff.md
+54
-19
No files found.
docs/friday-ai-production-deployment.md
View file @
5a291a41
...
@@ -334,9 +334,9 @@ ai logs --tail 100 ai-service ai-web
...
@@ -334,9 +334,9 @@ ai logs --tail 100 ai-service ai-web
ingress logs
--tail
100 channel-ingress
ingress logs
--tail
100 channel-ingress
```
```
生产无本地分流,正常时 pending 应回落至 0。将
`ingress_backlog`
、持续重试、AI readiness、PAC health、
RDS 磁盘/连接/IO、主机内存和证书到期接入运维告警
。中转只保障 AI 停服期间缓存;中转自身重启、主机/数据库不可用不属于零丢失保证。
生产无本地分流,正常时 pending 应回落至 0。将
`ingress_backlog`
、持续重试、AI readiness、PAC health、
主机资源和证书到期纳入我们负责的应用巡检;RDS 云指标沿用现有实例监控
。中转只保障 AI 停服期间缓存;中转自身重启、主机/数据库不可用不属于零丢失保证。
## 12. 启用服务器巡检与告警
## 12. 启用服务器巡检与告警
(由我们实施)
AI 和中转就绪后在应用机执行:
AI 和中转就绪后在应用机执行:
...
@@ -349,7 +349,9 @@ install -m 644 deploy/production/friday-ai.logrotate /etc/logrotate.d/friday-ai-
...
@@ -349,7 +349,9 @@ install -m 644 deploy/production/friday-ai.logrotate /etc/logrotate.d/friday-ai-
每两分钟检查 AI 数据库就绪、Web、PAC、中转积压、已到期 outbox 与过期租约,输出一行不含患者/凭据的 JSON。未来预约不算积压;超过五分钟或有过期租约报告
`degraded`
。巡检不自动重启、不重发消息。
每两分钟检查 AI 数据库就绪、Web、PAC、中转积压、已到期 outbox 与过期租约,输出一行不含患者/凭据的 JSON。未来预约不算积压;超过五分钟或有过期租约报告
`degraded`
。巡检不自动重启、不重发消息。
**运维须配置通知,否则日志不等于告警:**
云日志采集
`/var/log/friday-ai-health.log`
,连续三次
`degraded`
或五分钟未收到记录告警;配置接收人。另用云拨测或独立探针主机每分钟请求生产 AI
`/health/ready`
,同时检查
`status=ok`
、
`db=up`
,连续三次失败告警。监控 RDS 存储/IOPS/连接、应用机内存和证书到期。
**由我们完成通知接入并验收,不作为运维交付项。**
已有服务器巡检和外部探针脚本;巡检当前只输出 JSON,仍需接上通知:读取
`/var/log/friday-ai-health.log`
,连续三次
`degraded`
或五分钟无新记录告警,恢复时通知。使用现有告警渠道,确认接收人;不把“日志生成成功”当作通知已完成。
外部探针部署在测试机或另一台可管理主机,每分钟请求生产 AI
`/health/ready`
,核验
`status=ok`
、
`db=up`
,连续三次失败告警;单独配置状态目录,保留既有 PAC 探针。主机资源和证书到期巡检由我们配置。RDS 云存储/IOPS 等指标沿用现有实例监控;我们没有云控制台授权,不能将应用探针视为其替代。
可复用
`deploy/health-watch.sh`
在另一台服务器运行:
`WATCH_URL=https://fai.friday.tech`
、
`WATCH_PATH=/health/ready`
、
`WATCH_REQUIRE_DB=1`
、
`WATCH_NAME=friday-ai-prod`
,私密配置通知 webhook,沿用该脚本的失败/恢复和每日心跳机制。不要覆盖现有 PAC 探针配置;DNS、证书和服务验收完成后再启用该探针。
可复用
`deploy/health-watch.sh`
在另一台服务器运行:
`WATCH_URL=https://fai.friday.tech`
、
`WATCH_PATH=/health/ready`
、
`WATCH_REQUIRE_DB=1`
、
`WATCH_NAME=friday-ai-prod`
,私密配置通知 webhook,沿用该脚本的失败/恢复和每日心跳机制。不要覆盖现有 PAC 探针配置;DNS、证书和服务验收完成后再启用该探针。
...
...
docs/friday-ai-production-handoff.md
View file @
5a291a41
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
## 项目与环境
## 项目与环境
仓库
:
<https://code.jwsmed.com/ai-tools/pac>
(PAC / FridayAI 单仓库)。
仓库
地址:
`https://code.jwsmed.com/ai-tools/pac`
(PAC / FridayAI 单仓库)。
| 环境 | 应用服务器 | 代码目录 / 分支 | 域名 |
| 环境 | 应用服务器 | 代码目录 / 分支 | 域名 |
| --- | --- | --- | --- |
| --- | --- | --- | --- |
...
@@ -37,35 +37,70 @@ CREATE EXTENSION IF NOT EXISTS btree_gist;
...
@@ -37,35 +37,70 @@ CREATE EXTENSION IF NOT EXISTS btree_gist;
-
不改现有
`pac`
库、账号及实例全局时区。若库或账号已存在,核对后补齐权限,不删除重建。
-
不改现有
`pac`
库、账号及实例全局时区。若库或账号已存在,核对后补齐权限,不删除重建。
-
发布前确认 PAC 可恢复备份和恢复点、RDS 磁盘/IOPS 余量;新库纳入自动备份。
-
发布前确认 PAC 可恢复备份和恢复点、RDS 磁盘/IOPS 余量;新库纳入自动备份。
SQL 文件:
[
friday-ai-database.sql
](
../deploy/production/friday-ai-database.sql
)
(扩展语句须切换库后执行)。
## 2. 域名、证书与网关
## 2. 域名、证书与网关
1.
新增
`fai.friday.tech`
的 DNS,指向现有生产网关;申请 HTTPS 证书并配置自动续期。
1.
新增
`fai.friday.tech`
的 DNS,指向现有生产网关;申请 HTTPS 证书并配置自动续期。
2.
在网关新增独立站点,
使用
[
friday-ai-gateway.conf.example
](
../deploy/production/friday-ai-gateway.conf.example
)
,替换两处证书路径。
2.
在网关新增独立站点,
复制下方完整配置
,替换两处证书路径。
3.
配置网关到应用机的网络放行:仅允许网关访问
`172.16.4.239`
的 TCP
`3103 / 3104 / 3106`
,不开放公网直连。
3.
配置网关到应用机的网络放行:仅允许网关访问
`172.16.4.239`
的 TCP
`3103 / 3104 / 3106`
,不开放公网直连。
4.
执行
`nginx -t`
,通过后 reload;保留现有 PAC 和测试站点配置。
4.
执行
`nginx -t`
,通过后 reload;保留现有 PAC 和测试站点配置。
模板已包含以下转发规则,请完整保留:
在网关的 Nginx 已加载配置目录内新建
`friday-ai.conf`
,内容如下:
| 路径 | 上游 |
```
nginx
| --- | --- |
# 在现有生产网关安装。域名统一为 fai.friday.tech;填写实际证书路径后 nginx -t。
|
`/`
|
`http://172.16.4.239:3103`
|
# 前提:只有此网关可访问应用机 3103/3104/3106;真实来源仅一层代理。
|
`/api/`
、
`/health`
、
`/health/ready`
|
`http://172.16.4.239:3104`
|
server
{
| 仅 POST
`/hook/ecom`
|
`http://172.16.4.239:3106`
|
listen
80
;
server_name
fai.friday.tech
;
return
301
https://
$host$request_uri
;
}
server
{
listen
443
ssl
;
server_name
fai.friday.tech
;
ssl_certificate
/REQUIRED/AI/fullchain.pem
;
ssl_certificate_key
/REQUIRED/AI/privkey.pem
;
client_max_body_size
25m
;
proxy_http_version
1
.1
;
proxy_set_header
Connection
""
;
proxy_set_header
Host
$host
;
proxy_set_header
X-Real-IP
$remote_addr
;
proxy_set_header
X-Forwarded-For
$remote_addr
;
proxy_set_header
X-Forwarded-Proto
$scheme
;
proxy_connect_timeout
10s
;
proxy_send_timeout
300s
;
proxy_read_timeout
3600s
;
location
/api/
{
proxy_pass
http://172.16.4.239:3104
;
proxy_buffering
off
;
proxy_cache
off
;
}
location
=
/health
{
proxy_pass
http://172.16.4.239:3104
;
access_log
off
;
}
location
=
/health/ready
{
proxy_pass
http://172.16.4.239:3104
;
access_log
off
;
}
# 回调直接交给独立中转,AI 停服时仍可接收。
location
=
/hook/ecom
{
limit_except
POST
{
deny
all
;
}
client_max_body_size
20m
;
proxy_pass
http://172.16.4.239:3106
;
proxy_set_header
Host
$host
;
proxy_set_header
X-Real-IP
$remote_addr
;
proxy_set_header
X-Forwarded-For
$remote_addr
;
proxy_connect_timeout
2s
;
proxy_read_timeout
8s
;
}
# 不暴露中转的本地调试和管理入口。
location
=
/local
{
return
404
;
}
location
^~
/local/
{
return
404
;
}
location
=
/status
{
return
404
;
}
location
^~
/hook/
{
return
404
;
}
location
/
{
proxy_pass
http://172.16.4.239:3103
;
}
}
```
模板已配置 SSE 禁用缓冲、长连接超时和上传限制,并禁止访问中转调试/管理路径。
若网关前还有其他代理,请告知代理层数和真实来源 IP 的传递方式。
若网关前还有其他代理,请告知代理层数和真实来源 IP 的传递方式。
应用部署完成后共同验收:
`https://fai.friday.tech/login`
可打开;
`/health/ready`
返回 HTTP 200 且包含
`status=ok`
、
`db=up`
。应用未启动前上游暂不可用属预期,正式切换回调由我们协调。
应用部署完成后共同验收:
`https://fai.friday.tech/login`
可打开;
`/health/ready`
返回 HTTP 200 且包含
`status=ok`
、
`db=up`
。应用未启动前上游暂不可用属预期,正式切换回调由我们协调。
## 3. 接入现有监控告警(应用上线后启用)
-
采集应用机
`/var/log/friday-ai-health.log`
:连续三条
`degraded`
,或五分钟无新日志时通知负责人。
-
外部拨测
`https://fai.friday.tech/health/ready`
:每分钟一次,连续三次失败告警,检查 HTTP 状态和上述 JSON 字段。
-
纳入主机内存/磁盘、RDS 存储/IOPS/连接数、证书到期监控,配置异常及恢复通知。
## 完成后反馈
## 完成后反馈
-
新库/账号已就绪、密码已安全交付、备份恢复点。
-
新库/账号已就绪、密码已安全交付、备份恢复点。
-
DNS、证书、网关配置完成,网络规则已放行;有额外代理时说明。
-
DNS、证书、网关配置完成,网络规则已放行;有额外代理时说明。
-
告警接收人及通知渠道。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment