谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

Ollama如何用Go构建AI告警分析系统?

96SEO 2026-09-08 20:57 2


其实,

前言

当 AI 的浪潮席卷整个互联网领域以后作为一个拥有十年工作经验的老运维。内心不免产生迷茫,曾经我在面对“AI 能写代码、测试、操作 Windows、Linux”时既有抗拒也有恐惧——担心自己这份平凡的技术工作会被取代。只是在真正使用 AI 并把它当成日常工作的助手后我发现它可以为我们提供合理建议。并在合理边界内完成繁琐任务,从而明显提高效率。今天我们就用 AI 搭建一个告警分析管道,帮助排查程序故障的根本原因。

痛点梳理

SRE 常见痛点:

Ollama如何用Go构建AI告警分析系统?
  • 告警数量激增,手动排查耗时且易出错。
  • 根因分析往往需要跨团队沟通,协同成本高。
  • 传统监控工具缺乏智能归类与原因提示。
  • 大模型推理成本高昂,CPU 推理速度慢。
  • 告警恢复信息缺乏可追溯记录,影响运维治理。

为什么做这个

我是一名 SRE,对监控与告警程序相当熟悉。AI 若跑偏,我能快速拉回其轨迹。此项目的目标是:让 AI 在安全边界内自动完成告警分类、根因分析与排查建议。让运维团队摆脱重复性工作,更专注于业务价值。

架构总览

┌──────────────┐ ┌───────────────┐ ┌──────────────┐ ┌──────────────┐
│ Promeus │────▶│ Alertmanager │────▶│ Go Webhook │────▶│ Ollama │
│ │ │ │ │ : │ │ qwen2.:7b │
└──────────────┘ └───────────────┘ └──────┬───────┘ └──────────────┘
▲ ▲
┌─────────────────▼─────────────────┐
▼ ▼
┌───────────┐ ┌───────────┐
│ MySQL │ │ 公司微信 │
│ 持久化 │ │ 通知 │
└───────────┘ └───────────┘

主要链路:

  1. Promeus 按规则触发告警 → Alertmanager 路由到 Go Webhook
  2. Webhook 异步调用 Ollama 做根因分析
  3. 结果写入 MySQL、推送公司微信、暴露 Promeus 指标供 Grafana 可视化

部署细节

* 本项目仅作演示,使用 qwen2.:7b CPU 推理;若需更快响应,可升级至 GPU 或使用更小模型。其实,
IP操作程序作用
192.x.x.x 部署 Ollama & Webhook Windows Server 2022 / Ubuntu 22.04 LTS 运行 Ollama 模型和 Go Webhook 服务
192.x.y.y 部署监控网站 CentOS 7 / Ubuntu 20.04 LTS Promeus + Alertmanager + Grafana 等监控组件

.小试牛刀 log_classifier 示例程序

在正式运行完整监控管道前。我先用 Go 写了一个 log_classifier 程序,用来验证 Ollama + qwen2.:7b 在日志分类方面的效果。从主要思路是来看,给模型一条日志,通过约束 Prompt 强制返回固定 JSON 格式。接下来解析结果即可快速定位异常原因和修复建议。

const systemPrompt = `你是一个资深的运维/SRE告警分析专家。老实说,使用者会给你一条程序告警日志。请判断它属于哪个类别、评估严重等级,并给出一句话原因。要求:.
再看字段定义,- "category":类别,只能从以下枚举中选一个:磁盘存储 / CPU内存 / 网络 / 应用错误 / 数据库 / 安全 / 中间件 / 其他
- "severity":严重等级。只能从 critical / warning / info 中选一个
- "reason":一句话说明为什么归到这个类别
各类别精确边界:
- 磁盘存储:仅宿主机磁盘使用率/空间超标。- CPU内存:仅宿主机层面的 CPU/内存/磁盘IO 指标超标,如 load average 过高、内存使用率%、swap 耗尽。从注意来看,进程内的堆/栈溢出不算此类。- 网络:网络连通性、延迟、丢包、DNS、端口不通。- 应用错误:应用程序自身异常——OutOfMemoryError/heap/stack 溢出、panic、exception、业务报错、5xx、进程崩溃重启。只要异常发生在某个服务进程内,就选此类,而不要选 CPU内存。- 数据库:关系型/主存储的异常,仅限 MySQL / PostgreSQL / Oracle / MongoDB 等的慢查询、死锁、连接数满、主从延迟。- 中间件:缓存/消息队列/网关的异常,仅限 Redis / Kafka / RabbitMQ / Nginx / Elasticsearch 等的连接超时、拒绝、集群异常。Redis 相关问题一律归此处,不要归数据库。- 安全:认证失败、暴力、越权访问、漏洞扫描、异常登录。失败的暴力尝试给 warning;登录成功或已入侵给 critical。- 其他:以上都不匹配的兜底类。铁律的观点是,- 見到 "OutOfMemory/heap/panic/exception" 且带 PID 或服务名 → 应用错误。绝不选 CPU内存,- 見到 "redis/kafka/mq/nginx/elasticsearch" 的连接类问题 → 中间件,绝不选 数据库。老实说,- 僅當是宿主機的 load average / 内存使用率% / 磁盘占用率% 数值超标 → 才選 CPU內存。再看示例输出,{"category":"磁盘存储","severity":"warning","reason":"根分区使用率超过阈值"}`
func classify {
reqBody := ollamaReq{
Model这方面,model,Stream: false,Format: "json"。
Temperature: /* 默认 */,Messages: chatMsg{
从{Role来看,"system",Content: systemPrompt},{Role: "user",Content: logLine},},}
data,_ := json.Marshal
req,err := http.NewRequest)
if err!= nil { return result{}。err }
req.Header.Set
client := &http.Client{Timeout: /* 秒数 */}
resp,err := client.Do
if err!= nil { return result{},err }
defer resp.Body.Close
body。_ := io.ReadAll
var or ollamaResp
if err := json.Unmarshal;err,= nil {
return result{}。fmt.Errorf)
}
var r result
if err := json.Unmarshal,&r);err,= nil {
// 回退策略:直接返回原文作为 reason
return result{Category:"解析失败",Severity:"info",Reason:or.Message.Content},nil
}
return r。nil }

This snippet demonstrates how to constrain model’s output format and parse it reliably.

.真实监控告警场景部署说明

`Promeus` 收集指标后触发告警;`Alertmanager`,并将结果写入 MySQL。同时通过公司微信推送通知,以便现场运维人员快速定位并处理问题。

.Webhook 主要代码示例

package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"time"
)
const analysisPrompt = `你是一个资深的SRE/AIOps根因分析专家。使用者会给你一条Promeus告警,请完成:
1. 分类
2. 分析最可能根因
3. 给出建议排查/修复步骤
字段定义的观点是,- category : 磁盘存储 | CPU内存 | 网络 | 应用错误 | 数据库 | 中间件 | 安全 | 其他
- severity : critical|warning|info
- summary : 一句话概括该告警
- root_causes : 字符串数组
- actions : 字符串数组
说到示例输出,{"category":"CPU内存","severity":"critical"。"summary":"db-master-CPU负载18%,超过阈值8%已达5分钟","root_causes":,"actions":}`
func analyzeWithOllama {
reqBody:=ollamaReq{
Model这方面,model,Stream:false,Format:'json',Temperature:'默认',Messages:,}
至于data,_,=json.Marshal
从req,_来看,=http.NewRequest)
req.Header.Set
client的观点是,=&amp http.Client{Timeout:&amp * time.Second}
说到resp,_,=client.Do
defer resp.Body.Close
body。_这方面,=io.ReadAll
var or ollamaResp
if err:=json.Unmarshal;err,=nil{
return analysisResult{}。fmt.Errorf)
}
var ar analysisResult
if err:=json.Unmarshal,&ar);err,说起来,=nil{
return analysisResult{Category:'解析失败',Severity:'info',Summary:string},string。nil
}
return ar,string,nil
}
func formatAlert string {
// 将 Promeus 告警转换为易读文本,用于发送到公司微信或邮件等渠道。}

.公司微信通知模板示例

> 怎么说呢,⚠️ 告警名称: 说起来,

  • 状态驳驳驳驳驳驳驳驳驳
  • 等级\t
  • 实例\t 按理说,
  • iTime\t
  • eaiotAnalysisResults\t
  • jkIMessage\t
  • 点击查看详细内容…​ --- 如果你想看到完整模板请自行打开源文件


    .

    • #1 本项目基于 Go 标准库 + Ollama + MySQL 实现了完整从报警触发到根因分析再到通知的一整套流程。但代码结构尚待调整,可考虑采用 Eino 框架进一步解耦。
    • #2 日志采集方面仍以简单文件读取为主,未来计划接入 FluentBit/Fargate 等真实业务场景实现多租户、多源日志聚合。
    • #5 虽然本次实验采用了 qwen2.:7b 的纯 CPU 推理。但若配备 GPU 或切换至更轻量级模型,将进一步提高实时性和准确率。

    • 仓库地址已上传至 GitHub,希望后续能够分享更多有趣项目~ 🚀
      点击右侧链接查看源码与文档!
      GitHub 仓库🔗️


标签: 管道

SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback