
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
publish-availability-monitor是一个用于监控发布可用性并收集相关指标的工具。它能够跟踪内容发布流程的可用性,并将收集到的指标发送至Splunk等系统,以便进行后续分析和监控。
适用于需要监控内容发布流程可用性的系统,特别是在多环境部署的内容发布平台中。可用于跟踪内容从发布到可用的整个流程,确保符合SLA要求,并为系统性能分析提供数据支持。
构建镜像
bashdocker build -t coco/publish-availability-monitor .
运行容器
bashdocker run -ti \ --env QUEUE_ADDR=<队列地址> \ --env S3_URL=<S3存储桶URL> \ --env CONTENT_URL=<文档存储API文章端点路径> \ --env LISTS_URL=<文档存储API列表端点路径> \ --env NOTIFICATIONS_URL=<通知读取路径> \ --env NOTIFICATIONS_PUSH_URL=<通知推送路径> \ --env METHODE_ARTICLE_TRANSFORMER_URL=<Methode文章转换器URL> \ --env METHODE_CONTENT_PLACEHOLDER_MAPPER_URL=<Methode内容占位符映射器URL> \ docker.xuanyuan.run/coco/publish-availability-monitor
注意:不再支持部署至FTP2。
json// 内容发布的SLA阈值(秒) // 应用将检查内容可用性,直至达到此阈值或找到内容 "threshold": 120
json// 要读取的队列配置 "queueConfig": { // 消息系统的URL(s) "address": ["队列地址1", "队列地址2"], // 应用在消息系统中的组名 "group": "YourGroupName", // 要获取消息的主题 "topic": "YourTopic", // 要使用的队列名称 "queue": "yourQueue" }
json// 每个要检查的端点需对应一个metricConfig条目 "metricConfig": [ { // 端点路径(或绝对URL) // 路径会基于每个环境的read_url设置解析 // 检查内容时,UUID会附加到此URL末尾 // 应以/结尾 "endpoint": "endpointURL", // 用于关联端点特定行为的别名 // 每个别名需在endpointSpecificChecks映射中有对应条目 "alias": "content", // 定义检查此端点的频率(检查间隔 = threshold / granularity) // 例:120 / 40 = 3 → 每3秒检查一次 "granularity": 40 }, { "endpoint": "endpointURL", "granularity": 40, "alias": "S3", // 可选字段,指示仅检查特定类型的内容 // 若不设置,将检查所有内容 "contentTypes": ["Image"] } ]
json// Feeder特定配置 // 每个feeder需对应一个新结构体、AppConfig中的新字段, // 并在startAggregator()中处理 "splunk-config": { "logFilePath": "/var/log/apps/pam.log" }
应用每分钟(可配置)检查环境配置和验证凭据,若检测到变更则自动重载。监控可跨多个环境检查发布情况,每个环境可通过单一主机URL访问。
配置可通过ETCD或文件读取:若ETCD_PEERS环境变量设为NOT_AVAILABLE,则从文件读取配置;否则从ETCD读取。
监控从ETCD读取并监听以下路径的变更:
/ft/config/monitoring/read-urls:逗号分隔的名称:值对,映射环境名称到基础读取URL,例:env1:http://foo.example.org,env2:http://bar.example.org/ft/config/monitoring/s3-image-bucket-urls:逗号分隔的名称:值对,映射环境名称到基础S3 URL,例:env1:http://s3bucket1.org,env2:http://s3bucket2.org/ft/_credentials/publish-read/read-credentials:逗号分隔的名称:用户名:密码元组,映射环境名称到HTTP基本认证凭据,例:env1:scott:tiger,env2:friend:frodo。名称需与read-urls中的名称匹配;无需认证的环境可省略。环境配置JSON示例
json[ { "name": "pre-prod-uk", "read-url": "https://pre-prod-uk.ft.com", "s3-url": "http://com.ft.imagepublish.amazonaws.com" }, { "name": "pre-prod-us", "read-url": "https://pre-prod-us.ft.com", "s3-url": "http://com.ft.imagepublish.amazonaws.com" } ]
环境凭据配置JSON示例
json[ { "env-name": "pre-prod-uk", "username": "dummy-username", "password": "dummy-pwd" }, { "env-name": "pre-prod-us", "username": "dummy-username", "password": "dummy-pwd" } ]
验证凭据配置JSON示例
json{ "username": "dummy-username", "password": "dummy-password" }
注意:已启动的检查不受上述配置变更影响。
在K8s中使用基于文件的环境配置,文件内容来自以下资源:
global-config ConfigMap,键为pam.read.environmentspublish-availability-monitor-secrets Secret,键为read-credentialspublish-availability-monitor-secrets Secret,键为validator-credentials这些键可动态修改,应用会在短延迟后自动获取更新,无需重启。更多详情参见https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#mounted-configmaps-are-updated-automatically%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务