Zabbix告警分析新纪元:本地DeepSeek大模型实现智能化告警分析

简介: 本文由Zabbix中国峰会演讲嘉宾张世宏撰写,介绍如何通过集成Zabbix监控系统与深度求索(DeepSeek)AI助手,构建智能化告警处理方案。该方案利用Webhook机制传递告警信息,借助DeepSeek的智能分析能力,帮助运维团队快速识别问题根源并提供解决方案。文章详细描述了技术架构、环境搭建、Webhook配置及实际案例,展示了AI在运维领域的应用前景和优势。

作者介绍 :张世宏,2016-2024 Zabbix中国峰会演讲嘉宾,Zbxtable研发者,社区专家

一、 引言

随着企业数字化转型的深入,IT系统日益复杂化和规模扩大化,传统的运维模式已难以应对海量告警信息的处理需求。如何在第一时间准确识别问题根源并提供有效的解决方案,成为运维团队面临的重大挑战。
Zabbix作为全球领先的开源监控解决方案,在帮助企业实现全面 IT 资产监控方面发挥着重要作用。而深度求索(DeepSeek)作为专注实现AGI的中国的人工智能公司,致力于为各行业提供先进的AI技术和服务。本文将介绍如何通过集成Zabbix与深度求索AI助手,构建智能化告警处理方案。本文参考官方博文(https://blog.zabbix.com/creating-a-personal-assistant-in-zabbix-with-artificial-intelligence/29596/)


二、方案概述

2.1 技术架构

本方案基于Zabbix监控系统,通过Webhook机制集成Deepseek AI助手,构建智能化运维体系。其核心架构包括:

Zabbix监控平台:负责实时监控和告警触发
Webhook接口:实现告警信息的传递
Deepseek AI平台:提供智能分析能力

2.2 实现原理

  • 告警触发时,Zabbix通过预定义动作发送HTTP请求至Webhook脚本
  • 脚本解析告警数据并调用Deepseek API进行分析
  • 返回结果整合到Zabbix操作界面,供运维人员参考

2.3 系统架构

图片1.png

三、DeepSeek环境搭建

可根据自身环境选择使用云上的服务接口或使用本地部署的环境。鉴于安全和部分环境为离线环境,本次采用本地部署DeepSeek环境,本次使用deepseek-r1:70b

3.1 硬件配置

组件 配置
IP 192.168.6.80
OS Ubuntu 22.04.5 LTS
CPU Xeon Gold 6154
内存 88GB DDR5
GPU A100 80GB x2
磁盘 1TB NVMe SSD

3.2 DeepSeek本地部署

本次使用Ollama框架进行部署

# 在GPU服务器上安装Ollama,此过程会安装ollama、显卡驱动、CUDA工具等
curl -fsSL https://ollama.com/install.sh | sh

# 修改Ollama监听地址,编辑/etc/systemd/system/ollama.service文件中添加环境变量Environment="OLLAMA_HOST=0.0.0.0:11434",修改后的完整文件为
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

[Install]
WantedBy=default.target

# 重启服务
systemctl daemon-reload
systemct restart ollama

# 拉取DeepSeek-r1-70B模型并运行,此过程会下载40G大小的模型,耐心等待,下载完成后会自动运行模型
ollama run deepseek-r1:70b
# 验证模型加载状态
curl http://localhost:11434/api/tags

启动后进入对话,输入/bye退出对话。
图片2.png

如本地无条件,可选择租用线上机器进行,推荐使用spacehpc平台,在镜像市场选择DeepSeek-R1 70b镜像即可,开机后模型已下载好,直接运行即可。
图片3.png


四、Zabbix智能分析集成

4.1 软件配置

组件 配置
IP 172.16.60.161
OS Debian 12
Zabbix Zabbix 7.0.9
DB Mariadb 10.11.6

4.2 Webhook配置

4.2.1 配置Webhook

在Zabbix控制台中创建新的Webhook脚本,具体步骤如下

  1. 登录Zabbix控制台,点击“Alerts”->“Scripts”
  2. 点击"Create script"按钮,填写以下内容
    图片4.png
  • Name: 解决方案
  • Scope: Manual event action
  • Menu path: AI助手
  • Type: Webhook
  • Parameters: name:detail value: {TRIGGER.NAME},name: host value: {HOST.HOST}

图片5.png

  1. 在Script body中粘贴如下内容:
// 配置信息
var OLLAMA_API_URL = 'http://192.168.6.80:11434/api/chat'
var MODEL_NAME = 'deepseek-r1:70b'

/**
 * 生成告警消息
 * @param {Object} params - Zabbix 告警参数
 */
function generateAlertMessage(params) {
   
    return [
        '当前服务器告警,主机: ' + params.host,
        '详情: ' + params.detail,
        '请执行:1. 根本原因分析(概率排序)2. 提供修复命令3. 关联知识文档',
    ].join('\n')
}

/**
 * 发送消息到 Ollama Chat API
 * @param {string} message - 要发送的消息
 */
function sendToOllama(message) {
   
    try {
   
        // 准备请求数据
        var payload = JSON.stringify({
   
            model: MODEL_NAME,
            messages: [
                {
   
                    role: 'user',
                    content: message,
                },
            ],
            stream: false,
        })

        // 记录请求日志
        Zabbix.Log(4, '[Ollama Webhook] 发送请求: ' + payload)

        // 发送请求
        var response = new HttpRequest()
        //response.addHeader('Content-Type: application/json')
        var responseData = response.post(OLLAMA_API_URL, payload)

        // 检查响应
        if (response.getStatus() != 200) {
   
            throw new Error('API 请求失败,状态码: ' + response.getStatus())
        }
        // 记录成功日志
        Zabbix.Log(4, '[Ollama Webhook] 发送成功: ' + responseData)

        try {
   
            var result = JSON.parse(responseData)
            // chat API 返回的是 message 对象
            return result.message.content || '成功发送到 Ollama'
        } catch (e) {
   
            return '成功发送到 Ollama(响应解析失败): ' + e.message
        }
    } catch (error) {
   
        // 记录错误日志
        Zabbix.Log(3, '[Ollama Webhook] 错误: ' + error.message)
        throw error
    }
}

/**
 * Webhook 主函数
 */
try {
   
    // 验证必要的输入参数
    if (!value) {
   
        throw new Error('未收到告警信息')
    }

    Zabbix.Log(4, '[Ollama Webhook] 收到告警信息: ' + value)

    // 构造告警消息
    var params
    try {
   
        params = JSON.parse(value)
    } catch (e) {
   
        throw new Error('告警信息格式无效: ' + e.message)
    }

    // 生成并发送告警消息
    var alertMessage = generateAlertMessage(params)
    var response = sendToOllama(alertMessage)

    // 返回处理结果
    return '模型分析结果:\n' + response
} catch (error) {
   
    // 返回错误信息
    return '处理告警时出错: ' + error.message
}
  1. 设置Timeout为60s

    4.2.2 关键参数说明

  • OLLAMA_API_URL 为Ollama接口地址,默认端口为11434
  • OLLAMA_API_URL 为模型名称,可根据实际需求更改,本次使用deepseek-r1:70b

4.2.3 超时优化

Timeout配置为60s,点击保存。目前Webhook最大超时时间为60s,由于Deepseek思考时间可能较长,因此需要增加超时时间,可通过数据库方式直接配置为300s。

# 根据脚本名称更新脚本超时时间为300s
mysql -uzabbix -p
use zabbix;
update scripts set timeout='300s' where name ='解决方案';

4.3 告警分析实践

当Zabbix产生一个告警后,在问题上点击右键选择AI助手-解决方案,就会把此问题发送给Deepseek平台。
图片6.png

4.3.1 案例一:存储容量告警

告警信息:Windows: FS [(C:)]: Space is low (used > 80%, total 119.3GB)
模型输出
图片7.png
图片8.png
图片9.png
图片10.png
图片11.png

4.3.2 案列二:Agent失联告警

告警信息: Linux: Zabbix agent is not available (for 3m)
模型输出
图片12.png
图片13.png
图片14.png
图片15.png
图片16.png

从Deepseek给的思考过程和解决方案来看都非常专业,后期可考虑替代运维知识库。


五、 扩展应用场景

  1. 预测性维护
  • 基于历史数据进行趋势分析
  • 预测潜在硬件故障
  • 知识库自动化
  1. 自动生成标准化运维文档
  • 智能更新知识库内容
  • 多模态监控
  1. 综合分析日志与性能指标
  • 提供更全面的故障诊断视角
  1. 智能自愈
  • 结合自动化工具实现简单故障自愈
  • 设置分级响应策略

六、总结

Zabbix与深度求索AI助手的结合,为企业提供了一套智能化的告警处理解决方案。通过将人工智能技术引入运维领域,不仅提升了问题处理效率,还推动了运维模式的革新。未来,随着AI技术的不断发展,这种智能化运维方案必将得到更广泛的应用和持续优化。

后记

以上博文为Deepseek生成后再由作者修改,其中Webhook脚本也为Deepseek生成并通过本地调试修改后完成。

相关文章
|
4月前
|
数据采集 人工智能 搜索推荐
智能新纪元:多模态大模型如何重塑人机交互
智能新纪元:多模态大模型如何重塑人机交互
310 113
|
5月前
|
机器学习/深度学习 人工智能 运维
运维告警别乱飞了!AI智能报警案例解析
运维告警别乱飞了!AI智能报警案例解析
630 0
|
7月前
|
存储 运维 数据挖掘
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
在智能驾驶技术快速发展中,数据成为驱动算法进步的核心。某新能源汽车领军企业基于阿里云Milvus向量数据库构建智能驾驶数据挖掘平台,利用其高性能、可扩展的相似性检索服务,解决了大规模向量数据检索瓶颈问题,显著降低20%以上成本,缩短模型迭代周期,实现从数据采集到场景挖掘的智能化闭环,加速智能驾驶落地应用。
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
|
7月前
|
前端开发 搜索推荐 开发工具
通义灵码与颜色板生成器,为前端开发提供智能配色解决方案
在前端开发中,色彩搭配对用户体验和界面美观至关重要。通义灵码提供的颜色板生成器通过自动推荐配色方案、随机生成颜色组合及支持自定义调整,帮助开发者高效完成配色任务。该工具支持一键导出为 CSS 样式表,并提供简洁的中文指令交互方式,大大提升开发效率,助力开发者打造美观和谐的用户界面。
|
8月前
|
传感器 人工智能 自然语言处理
比亚迪座舱接入通义大模型,未来将联合打造更多AI智能座舱场景
比亚迪与阿里云深度合作,将通义大模型应用于智能座舱和营销服务。通过通义万相,腾势推出“AI壁纸”功能;借助通义星尘,实现“心理伴聊”等情感陪伴场景。阿里云Mobile-Agent智能体落地比亚迪座舱,支持复杂语音操作,如查询淘宝物流、订火车票等。该方案基于全视觉解决技术,具有强泛化能力,未来双方将持续拓展更多AI应用。
1091 9
|
5月前
|
人工智能 IDE 开发工具
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
CodeGPT是一款基于AI的编程辅助插件,支持代码生成、优化、错误分析和单元测试,兼容多种大模型如Gemini 2.0和Qwen2.5 Coder。免费开放,适配PyCharm等IDE,助力开发者提升效率,新手友好,老手提效利器。(238字)
2599 1
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
|
5月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
868 12
|
4月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
388 0
|
5月前
|
机器学习/深度学习 人工智能 测试技术
探索 Qwen2.5-Max 的智能:大规模 MoE 模型的飞跃
Qwen2.5-Max 是通义实验室推出的最先进MoE模型,在推理、知识和代码任务中表现卓越,已在超20万亿token上预训练,并通过SFT和RLHF优化。在多项基准测试中领先,如Arena-Hard达89.4,MMLU-Pro为76.1,性能超越DeepSeek V3、GPT-4o等模型,成为当前最佳开源模型。可通过Qwen Chat和API使用,适用于开发者、研究者及AI爱好者探索前沿AI能力。
698 2
|
5月前
|
机器学习/深度学习 运维 数据挖掘
运维告警不是“玄学”:聊聊怎么用机器学习优化事件关联分析
运维告警不是“玄学”:聊聊怎么用机器学习优化事件关联分析
243 3

推荐镜像

更多