微信扫码
添加专属顾问
我要投稿
DevOps自动化运维新思路,用聊天的方式提升效率。 核心内容: 1. DevOps工程师面临的效率困境及自动化目标 2. 企业微信配置和Dify工作流设置步骤 3. 通过聊天实现自动化运维的代码实现和工作原理
作为DevOps工程师面临的效率困境:
权限集中导致的流程阻塞
传统操作平台体验短板
企业微信文档地址:https://developer.work.weixin.qq.com/document/path/90238
本文代码链接: https://github.com/AYYQ127/wecome-dify-chatops
server {
listen 443 ssl http2;
server_name chatops.aaa.bbb;
error_log /data2/www/log/nginx/chatops.aaa.bbb-443.error.log;
location / {
proxy_pass http://10.37.2.152:9000;
include proxy.conf;
}
}
代码执行1
脚本工作原理:通过判断输入变量是否合法,匹配到相应的流程,分别执行代码2和代码3,或直接结束。
代码执行2
脚本工作原理:通过prometheus接口,查询pod监控数据,返回结果
代码执行3
脚本工作原理:通过jenkins接口,触发构建任务执行。
这里需要用到企业ID和应用的secret还有应用的agentID。
企业微信文档地址:https://developer.work.weixin.qq.com/document/path/90236 分为两步,第一步获取accresstoken;第二步构建消息体,并发送消息。
企业微信服务器在五秒内收不到响应会断掉连接,如果dify后面接入LLM,需要启用异步的方式处理,否则不会返回消息。
async def _process_and_send_msg(user, wecomtextContent):
"""真正的异步任务"""
try:
# 调用 Dify 工作流
content = await asyncio.to_thread(dify.run_workflow, 'difyuser', wecomtextContent)
# 调试信息
print("Content:", content)
# 获取并清理文本内容
text_content = content['data']['outputs']['text']
text_content = text_content.replace("```", "").strip()
# 调试信息
print(text_content)
# 异步发送企业微信应用消息
await asyncio.to_thread(wecom_send_msg.send_app_msg, user, text_content)
except Exception as e:
print(f"异步处理消息出错: {e}")
在dify中有自己的消息返回格式,需要严格遵守这种格式,修改脚本中函数返回方式
def main(arg1: str, arg2: str) -> dict:
return {
"result": arg1 + arg2,
}
服务器状态监控
自动构建发版处理
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-10-24
2024-04-24
2024-09-27
2024-07-11
2024-04-19
2024-06-22
2024-06-26
2024-12-21
2024-04-18
2024-09-06
2025-03-10
2025-03-01
2025-02-21
2025-02-13
2025-01-21
2025-01-08
2024-12-27
2024-11-28