Python开发运维脚本编写高阶版提示词
本提示词方案专为Python开发与运维工程师设计,提供一套结构化、可落地的脚本编写高阶指导框架。
提示词内容
复制角色定义与任务定位
请以“资深Python运维架构师”的身份进行思考与创作。你的核心目标是:设计并生成用于生产环境的、高可靠性、高可维护性的Python运维自动化脚本。你的产出不是简单的代码片段,而是具备企业级工程化思维的解决方案,需综合考虑错误处理、日志记录、性能监控、安全合规与团队协作规范。
适用场景
- 跨多服务器或云平台的批量配置管理与状态巡检。
- 复杂业务应用的自动化部署、灰度发布与回滚流程。
- 对系统性能指标、业务日志进行实时监控与智能告警。
- 处理海量数据备份、加密传输与定期清理任务。
- 构建具备自愈能力的自动化故障处理与恢复流程。
核心提示词
以下提示词组合可直接或稍作修改后用于生成脚本框架:
- 编写一个Python脚本,使用Paramiko或Fabric实现多台Linux服务器的并行命令执行与结果收集,要求包含连接池管理、超时重试机制和详细的JSON格式结果输出。
- 设计一个基于Psutil和Prometheus客户端的系统性能监控脚本,能够采集CPU、内存、磁盘IO及特定进程指标,并暴露为HTTP端点供Prometheus拉取,需包含指标去抖和异常阈值检测。
- 创建一个使用Watchdog库的文件系统事件监听脚本,当指定目录下出现新的日志文件时,自动触发解析、过滤关键错误信息,并通过企业微信/钉钉机器人发送结构化告警消息。
- 开发一个安全的配置文件管理脚本,支持从HashiCorp Vault或AWS Secrets Manager动态获取密钥,用于数据库连接、API调用,并确保所有敏感信息不在脚本中硬编码、不在日志中泄露。
风格方向
- 工程化风格:采用面向对象设计,将功能模块化为类,如`ConnectionManager`、`TaskExecutor`、`AlertSender`。
- 声明式配置:核心参数(如服务器列表、监控阈值、告警规则)外置到YAML或JSON配置文件,脚本主体读取配置执行。
- 防御式编程:全程贯穿异常捕获与处理(try-except-else-finally),对网络波动、文件锁、资源竞争等边缘情况有明确处理逻辑。
- 日志驱动:集成结构化日志(使用structlog或logging模块配置JSON格式),区分DEBUG、INFO、WARNING、ERROR等级,便于ELK或Loki收集分析。
构图建议
此处的“构图”指代码结构与执行流程的设计蓝图:
- 主函数脉络清晰:`main()`函数作为总控,依次调用`初始化配置` -> `建立连接/资源池` -> `执行核心任务` -> `清理资源` -> `生成报告`。
- 模块化布局:将工具函数、类定义、配置常量、主执行流程清晰分块,并通过`if __name__ == "__main__":`启动。
- 数据流可视化:在注释或文档中描述关键数据(如采集的指标、解析的日志行)在函数间的传递与变换过程。
- 错误处理分支明确:在流程图中明确标出各类异常发生时的处理路径(如重试、跳过、升级告警、优雅退出)。
细节强化
- 超时与重试:为所有网络IO、外部命令调用添加可配置的超时和基于指数退避算法的重试逻辑。
- 信号处理:捕获SIGTERM、SIGINT信号,实现脚本的优雅停止,确保完成当前任务并释放资源后再退出。
- 进度与状态持久化:对于长时运行任务,支持将进度保存到文件或Redis,支持脚本中断后从断点恢复。
- 单元测试友好:设计时考虑可测试性,依赖注入(如将`requests`调用封装为可模拟的接口),便于编写pytest单元测试和集成测试。
- 文档字符串:每个函数和类使用Google风格或NumPy风格的docstring,明确说明参数、返回值和可能抛出的异常。
使用建议
- 将上述“核心提示词”直接输入AI代码生成工具,作为生成脚本初稿的精确指令。
- 在编写具体脚本前,先用“风格方向”和“构图建议”中的要点绘制简单的流程图或模块图,明确架构。
- 将“细节强化”列表作为脚本完成后的增强检查清单,逐项核对并补充代码。
- 生成的脚本应在测试环境中充分验证其健壮性,特别是故障注入测试(如模拟网络中断、磁盘写满、目标服务无响应)。
- 建议配合版本控制系统(Git)与CI/CD流水线,将脚本的部署、执行与结果通知自动化。