一 背景

传统运维模式已难以应对日益复杂的海量数据和业务需求,效率低下,故障难解。而人工智能的崛起,特别是AIGC技术的出现,为运维领域带来了新的机遇。AIGC能够自动生成运维脚本、分析海量数据,预测潜在故障,甚至提供解决方案,为运维工作注入智能化力量,推动运维向更高效、更智能的方向发展。

1. 运维痛点:

  • 运维工作量大,效率低下:  随着业务规模的增长,运维人员的工作量不断增加,而传统的人工操作效率低下,难以满足快速响应的需求。
  • 运维数据量庞大,分析难度高:  各种监控数据、日志信息、告警信息等数据量庞大,人工分析难以快速找到问题根源,导致故障定位和解决效率低下。
  • 运维人员技能不足,人才缺口大:  随着新技术不断涌现,运维人员需要掌握更多技能,而人才培养周期长,难以快速满足需求。

2. AIGC技术优势:

  • 自动化能力:  AIGC可以根据预设规则和算法自动生成运维脚本、配置信息、文档等,实现运维工作的自动化,提高效率,降低人工成本。
  • 数据分析能力:  AIGC可以对海量运维数据进行分析,识别异常情况,预测故障,并提供解决方案,帮助运维人员快速定位问题,提高故障处理效率。
  • 智能化能力:  AIGC可以根据历史数据和当前情况,智能地调整系统参数,优化运维策略,提高系统稳定性和可靠性。

3. 运维智能化趋势:

  • DevOps和SRE的兴起:  DevOps和SRE强调自动化、高效、可靠的运维体系,AIGC能够提供强大的工具和技术支持,帮助企业实现DevOps和SRE转型。
  • 云原生技术的应用:  云原生技术对运维提出了更高的要求,AIGC能够帮助企业快速部署、管理和维护云原生应用,提高云原生应用的效率和稳定性。
  • 人工智能的应用:  人工智能技术正在改变各行各业,AIGC作为人工智能技术的重要分支,将在运维领域发挥越来越重要的作用。

二 实战

2.1 业务代码

编写业务代码。

2.1.2 测试运行
  • 本地运行
export ACCESS_KEY_ID=XXXX
export ACCESS_KEY_SECRET=XXXX
go run main.go
  • 1.
  • 2.
  • 3.
  • postman测试

AI助力运维:AIGC在运维领域的应用实践探索_AIGC

2.2 发布到阿里云API网关上

2.2.1 serverless上创建命令

本地代码打包

go get github.com/aliyun/fc-runtime-go-sdk/fc
GOOS=linux go build main.go
zip fc-golang-demo.zip main
  • 1.
  • 2.
  • 3.

创建函数

AI助力运维:AIGC在运维领域的应用实践探索_云计算_02

AI助力运维:AIGC在运维领域的应用实践探索_云计算_03

注入环境变量,阿里云ak认证信息

AI助力运维:AIGC在运维领域的应用实践探索_运维_04

获取url

AI助力运维:AIGC在运维领域的应用实践探索_自动化运维_05

函数测试成功

AI助力运维:AIGC在运维领域的应用实践探索_运维_06

2.2.2 为其添加API网关认证
  • 创建API分组

AI助力运维:AIGC在运维领域的应用实践探索_运维_07

  • 创建后端服务

AI助力运维:AIGC在运维领域的应用实践探索_云计算_08

AI助力运维:AIGC在运维领域的应用实践探索_AIGC_09

AI助力运维:AIGC在运维领域的应用实践探索_AIGC_10

AI助力运维:AIGC在运维领域的应用实践探索_API_11

AI助力运维:AIGC在运维领域的应用实践探索_云计算_12

AI助力运维:AIGC在运维领域的应用实践探索_AIGC_13

为了方便测试,先配置没有认证信息

通过在线调试测试

AI助力运维:AIGC在运维领域的应用实践探索_云计算_14

2.2.3 创建APP应用

AI助力运维:AIGC在运维领域的应用实践探索_云计算_15

在API列表中绑定应用

AI助力运维:AIGC在运维领域的应用实践探索_AIGC_16

2.3 创建应用

创建自定义工具

{
  "openapi": "3.1.0",
  "info": {
    "title": "Aliyun Resource API",
    "description": "Retrieves information about Alibaba Cloud resources.",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "http://xxxxpp.run"
    }
  ],
  "paths": {
    "/resources": {
      "post": {
        "description": "Get resource information by type and region.",
        "operationId": "GetResources",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "APIRequest": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "ecs_instance"
            ]
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "region"
        ]
      },
      "ResourceInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        }
      }
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.

AI助力运维:AIGC在运维领域的应用实践探索_API_17

AI助力运维:AIGC在运维领域的应用实践探索_AIGC_18

AI助力运维:AIGC在运维领域的应用实践探索_运维_19

  • 创建智能体

AI助力运维:AIGC在运维领域的应用实践探索_运维_20

  • 测试

利用terraform在阿里云测试账户编排两台云主机进行测试

AI助力运维:AIGC在运维领域的应用实践探索_运维_21

AI助力运维:AIGC在运维领域的应用实践探索_运维_22

2.4 测试云厂商AI

阿里云AI目前仅跳转到对应云资源,不提供内容和加工数据

AI助力运维:AIGC在运维领域的应用实践探索_运维_23

AI助力运维:AIGC在运维领域的应用实践探索_运维_24

三 其他

目前仅仅demo可行性,后期可以丰富内容,支持更多云资源,或将云资源获取功能也作为一个agent,根据用户提供的云资源类型自动化生成云资源代码,需要探索,在资源获取情况下,可以更方便

另外通过集成云查询和系统内部操作

实现chat运维智能体

AI助力运维:AIGC在运维领域的应用实践探索_云计算_25

目前仅是利用AIGC在运维领域探索厂商,后期可以根据需求进行更丰富的扩展和使用。

总结

  • 自动化脚本生成:  根据用户需求自动生成运维脚本,例如系统配置、软件安装、故障处理等脚本。
  • 智能告警分析:  对告警信息进行分析,识别高危告警,并提供解决方案,帮助运维人员快速定位问题,避免故障扩散。
  • 运维文档生成:  自动生成运维文档,例如系统架构图、流程图、操作手册等,提高运维文档的质量和效率。
  • 故障预测和预防:  利用历史数据和机器学习算法,预测系统可能出现的故障,并提前采取措施进行预防。
  • 智能运维平台:  开发基于AIGC的智能运维平台,提供全面的运维解决方案,包括自动化运维、智能告警、故障分析、性能优化等功能。

参考链接

  • help.aliyun.com/zh/function…