精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表 原創

發布于 2025-8-18 08:04
瀏覽
0收藏

在人工智能技術飛速迭代的今天,大模型正以驚人的速度滲透到各行各業,從金融風控到醫療診斷,從智能制造到內容創作,通用人工智能的能力邊界不斷被拓展。隨著技術的成熟,各行業不再滿足于通用大模型的基礎能力,而是開始將其與垂直領域深度融合,通過定制化開發解決行業痛點 —— 運維領域同樣迎來了這場智能化變革。

在日常的 IT 運維工作中,Zabbix 作為廣泛使用的監控系統,時刻守護著服務器、網絡設備和業務系統的穩定運行。當 CPU 利用率突增、內存占用異?;蚍枕憫舆t時,它能第一時間捕獲異常數據并觸發告警。但面對海量的監控指標和告警信息,運維人員往往需要花費大量時間分析根因、制定對策,效率瓶頸逐漸顯現。

今天,我們通過一個案例,探索全新的協同模式:通過 DeepSeek 大模型與 Zabbix 的技術融合,搭建一套智能分析報表應用,讓 AI 自動解析監控數據、生成專業分析報告,為運維決策提供精準支持。

為了讓大家對案例有一個整體的認識,會詳細描述程序安裝、具體操作、代碼執行的每個步驟。包括: Zabbix 安裝、Server 與 Agent 關聯,設置媒介、觸發器與動作,以及DeepSeek處理監控參數并生成報表等四大部分,全程干貨大家坐穩扶好,我發車。

一、安裝 Zabbix

Zabbix 是一款開源的企業級監控解決方案,由 Zabbix Server 和 Zabbix Agent 兩部分核心組件構成。Server 作為監控中樞,負責接收、存儲監控數據并觸發告警,支持分布式部署以應對大規模監控場景;Agent 則部署在被監控設備上,實時采集 CPU、內存、磁盤等硬件及系統指標,通過主動或被動模式將數據推送至 Server。

二者協同工作,可實現對服務器、網絡設備、應用程序等 IT 基礎設施的全面監控,憑借靈活的觸發器配置和豐富的可視化功能,成為運維人員掌握系統狀態的重要工具。接下來我們需要通過 Docker 的方式安裝二者,并在其基礎上進行報警的設置和智能報表的生成。

前置條件

在開啟 Zabbix 與 DeepSeek 的智能報表開發之旅前,需先安裝好 Docker。Docker 是一款開源的應用容器引擎,能助力開發者將應用及其依賴便捷打包至可移植的容器內,實現跨環境快速部署,具有輕量、高效等優勢。前往 ??Docker 官網??,依據自身操作系統(Windows、Mac、Linux 等),下載對應版本,按安裝向導提示完成操作,具體的安裝步驟比較簡單,在這里就不贅述了。

通過如下命令確認安裝。

docker --version

如果看到如下輸出:

Docker version 28.1.1, build 4eba377

說明 Docker 已經安裝好了。

下載 Zabbix docker yaml 文件

完成了 Docker 安裝之后,我們開始Zabbix 的安裝,首先就是 Zabbix Server 了。 由于 Zabbix Server 部署涉及 server、mysql、frontend 等多個鏡像,逐個用 docker 命令安裝配置繁瑣且易出錯。推薦通過 Docker Compose一鍵部署,Docker Compose 是 Docker 官方推出的容器編排工具,專為簡化多容器應用的部署與管理而生。其核心原理是通過一個 YAML 配置文件,集中定義應用所需的所有容器、網絡、存儲等資源及其關聯關系,比如 Zabbix 的 server、mysql、frontend 等組件的鏡像版本、環境變量、端口映射、依賴關系等。

使用時,只需執行一條命令,Docker Compose 便會根據配置文件自動創建并啟動所有容器,同時維護容器間的網絡通信和依賴順序,避免了逐個啟動容器時的繁瑣操作和配置遺漏。

創建 Zabbix docker 文件目錄

創建如下目錄,用來存放 yaml文件,后面會執行該目錄下的 yaml 文件完成 Zabbix 安裝。

通過如下命令創建目錄:

mkdir ~/docker && mkdir ~/docker/zabbix-docker && cd ~/docker/zabbix-docker

然后去 Zabbix 的 ???Github 網站???下載 yaml 文件,放到創建的目錄中。我這里使用的是最新的 zabbix-docker-7.4.3 的包,里面包含了很多 yaml 文件,我們選擇下圖所示, 紅色框體包含的部分就可以了。

修改 Zabbix 服務端口

順嘴說一下, 為了避免端口沖突問題的發生。我需要在.env 文件中修改如圖所示內容,修改之前 ZABBIX_WEB_NGINX_HTTP_PORT=80,我需要將其修改為 8080。如果不做修改,請保證本機運行的其他服務不會占用此端口。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

ZABBIX_WEB_NGINX_HTTP_PORT=8080

啟動 Zabbix 服務

設置好端口之后,執行如下命令:

docker compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d

首次運行需要下載鏡像,可能需要幾分鐘。

[+] Running 5/5
 ? Network zabbix-docker_default Created 0.1s 
 ? Container zabbix-docker-mysql-1 Started 2.5s 
 ? Container zabbix-docker-zabbix-server-1 Started 1.1s 
 ? Container zabbix-docker-zabbix-web-1 Started 1.2s 
 ? Container zabbix-docker-zabbix-agent-1 Started 1.1s

通過 Docker Desktop 可以看到服務已經啟動。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

此時可以打開瀏覽器,訪問 Web UI:

??http://localhost:8080?

默認登錄賬號密碼:

  • 用戶名:Admin?
  • 密碼:zabbix

如果看到下圖說明 Zabbix Server 已經安裝完畢。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

獲取 Zabbix Server 的 IP 地址

安裝完 Zabbix Server 之后就需要安裝 Zabbix Agent 了, 它會幫助我們監控主機的運行情況,并且將監控的結果傳回 Zabbix Server,同時還要與 Zabbix Server 保持心跳連接。

在安裝 Zabbix Agent 之前還需要知道 Zabbix Server 的 IP 以及需要監控主機的名字。

通過如下命令獲取 Zabbix Server 的 IP。

docker inspect -f \
 '{{range $net,$cfg := .NetworkSettings.Networks}}{{printf "%s → %s\n" $net $cfg.IPAddress}}{{end}}' \
 zabbix-docker-743-zabbix-server-1

執行上述命令之后就可以查看 Zabbix Server 的 IP 地址了。

zabbix-docker-743_backend → 172.16.239.3
 zabbix-docker-743_database → 172.18.0.3
 zabbix-docker-743_frontend → 172.16.238.2
 zabbix-docker-743_tools_frontend → 172.16.240.2

從輸出的結果來看 “zabbix-docker-743_backend → 172.16.239.3” 就是 Zabbix server 的 IP 地址, 這里需要做一個記錄,后面創建 Zabbix Agent 的時候會用到。

獲取監控主機的名字

通過 Zabbix WebUI 中的“數據采集”-“主機”就可以看到主機的名稱,如下圖所示。我們要監控的主機名字為“Zabbix server”,這個是創建 Zabbix Agent 的時候所需要的信息。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

安裝 Zabbix Agent

通過 docker 命令 pull 拉取 Zabbix Agent 的鏡像。

docker pull zabbix/zabbix-agent

看到如下消息說明拉取成功。

Using default tag: latest
 latest: Pulling from zabbix/zabbix-agent
 864bc305c662: Pull complete 
 d0d6eeb62c3f: Pull complete 
 99888e073bcb: Pull complete 
 15ab7c0ba17b: Pull complete 
 e4df0cda2793: Pull complete 
 4f4fb700ef54: Pull complete 
 Digest: sha256:e0fc7757c9eed70ac907fe9609c0b6e9a11d5f20a5730d6c9867e606ebdd60e6
 Status: Downloaded newer image for zabbix/zabbix-agent:latest
 docker.io/zabbix/zabbix-agent:latest

啟動 Zabbix Agent

上面一頓操作 Zabbix Server 已安裝, 連帶還把 frontend,database 等服務也裝上了。接下來,通過如下命令安裝 Zabbix Agent。

docker run -dit \
 --name zabbix-agent \
 --network zabbix-docker-743_backend \
 -p 10050:10050 \
 -e ZBX_HOSTNAME="Zabbix server" \
 -e ZBX_SERVER_HOST="172.16.239.3" \
 -e ZBX_SERVER_PORT="10051" \
 zabbix/zabbix-agent:latest

執行完畢之后,到 Zabbix Desktop 中查看執行結果。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

看到如下圖所示,說明已經連接上 Zabbix Server 了。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

二、關聯 Zabbix Server 與 Zabbix Agent

自此,Zabbix Server 與 Agent 都已安裝完畢,還需要在 Zabbix Server 中設置被監控主機的 Agent IP地址,一般來說我們會在被監控主機上安裝 Zabbix Agent 從而監控主機的運行狀態。所以,需要在 Zabbix Server WebUI 上配置Zabbix Agent 的 IP 地址。

通過如下命令,查看 Zabbix Agent 的 IP 地址:

docker inspect -f '{{range $net,$cfg := .NetworkSettings.Networks}}{{printf "%s → %s\n" $net $cfg.IPAddress}}{{end}}' zabbix-agent

執行之后得到如下結果:

zabbix-docker-743_backend → 172.16.239.4

接著將 IP (172.16.239.4),也就是 Zabbix Agent 的 IP, 寫入到 Zabbix Server 接口的 Agent 中。

需要通過如下圖的配置步驟,首先在“檢測”中找到“主機”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

在彈出的對話框中選中“主機”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

在主機的“接口”設置中的 Agent 類型中輸入 IP 地址,這里讓 Zabbix Server 能夠識別到 Zabbix Agent。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

“更新”完畢之后,可以在主機“Zabbix server”中看到“可用性”描述了接口(172.16.239.4:10050)的狀態為“可用”,表示 Zabbix Server 和 Agent 已經連接成功了。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

三、設置媒介、觸發器與動作

在對 Zabbix Server 與 Agent 進行關聯之后,他們就能互相找到對方了,接著就需要定義媒介,設置腳本搜集監控參數,然后調用 DeepSeek 生成分析報表。這里我們的大致思路是通過設置 Zabbix 觸發器接受從 Zabbix Agent 傳來的參數異常信息,再讓觸發器與本地腳本進行互動,讓腳本調用 DeepSeek 智能程序生成參數異常分析報告。

具體步驟,如下圖所示,分為四個環節:

  • 媒介(模塊 1):定義基礎通信能力,通過「腳本」(如郵件發送腳本、消息推送腳本)與「消息」(告警內容模板),為后續通知動作提供基礎載體,決定 “用什么方式、發什么內容”。
  • 用戶媒介關聯(模塊 2):建立「用戶」與「媒介」的綁定關系,讓抽象的通信能力落地到具體用戶,比如 “用戶 A 關聯‘郵件媒介’、用戶 B 關聯‘企業微信媒介’”,解決 “誰接收、用哪種媒介接收” 的問題。
  • 主機(模塊 3):依托「觸發器」+「表達式」,監控主機狀態(如 CPU 過載、服務宕機),當系統指標匹配表達式規則(如 CPU 使用率超過一定數值 ),觸發器被激活,成為告警的 “信號燈”。
  • 觸發動作(模塊 4):通過「條件」(關聯觸發器)判斷是否觸發,滿足條件后,調用「操作」關聯的「媒介 + 用戶」,完成告警閉環 —— 把模塊 1 定義的消息,通過模塊 2 綁定的媒介,精準推送給用戶,實現 “異常發生 → 自動告警” 的完整流程。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

添加腳本

在了解完整體思路之后,我們先在媒體中“添加腳本”。查看 Zabbix Server 中腳本所在的目錄,通過 docker 命令查看哪些鏡像正在執行。

docker ps

在“names”這一列,可以看到鏡像的名稱,得到如下結果:

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

由于我們希望在 Zabbix Server 中安裝腳本,當介紹到 Zabbix Agent 的信息之后, 設置對應的報警規則(觸發器),然后再通過事件調用腳本,通過腳本執行 DeepSeek 的調用。所以要確認 Zabbix Server 中對應存放腳本的目錄,為了方便后面將主機的腳本目錄掛載到 Zabbix Server 中的腳本目錄。

執行如下命令進入 Zabbix server 鏡像的 docker 命令行模式:

docker exec -it zabbix-docker-743-zabbix-server-1 /bin/sh

執行如下命令, 確認在鏡像中存在如下目錄,作為腳本的掛載目錄:

ls -ld /usr/lib/zabbix/alertscripts

接著回到主機,在~/docker/下 創建zabbix-scripts 目錄, 在目錄中創建一個 deepseek.sh 的腳本作為測試腳本。

腳本內容先放入簡單的“hello deepseek”。

#!/bin/bash
 echo "hello deepseek"

然后給目錄和腳本設置權限。

Docker 容器內的 Zabbix 進程通常以非 root 用戶(如 zabbix 用戶,UID 可能為 1997)運行,而宿主機的目錄 / 文件默認權限可能不允許容器內的非 root 用戶訪問或執行。

# 進入宿主機腳本目錄的父目錄
 cd ~/docker

 # 給目錄設置可執行權限(允許進入目錄)
 chmod 755 zabbix-scripts

 # 給目錄內的腳本文件設置可執行權限
 chmod +x zabbix-scripts/*.sh

修改啟動鏡像命令所對應的文件,于是我們修改 docker-compose_v3_alpine_mysql_latest.yaml 文件,找到 zabbix server 對應的段落。

zabbix-server:
 extends:
 file: compose_zabbix_components.yaml
 service: server-mysql
 image: "${ZABBIX_SERVER_MYSQL_IMAGE}:${ZABBIX_ALPINE_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}"
 volumes:
 - /etc/timezone:/etc/timezone:ro
 - ~/docker/zabbix-scripts:/usr/lib/zabbix/alertscripts
 depends_on:
 server-db-init:
 condition: service_completed_successfully
 labels:
 com.zabbix.os: "${ALPINE_OS_TAG}"

在這個部分加入,如下部分在 volumes 掛載的時候將腳本目錄和 zabbix server 中的腳本目錄進行對應。

- ~/docker/zabbix-scripts:/usr/lib/zabbix/alertscripts

最后,通過如下命令重新啟動 docker 鏡像。

# 先停止并移除當前運行的容器(不會刪除數據卷和鏡像)
 docker compose -f docker-compose_v3_alpine_mysql_latest.yaml down

 # 重新創建并啟動容器(會應用新的volumes配置)
 docker compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d

好了,腳本已經加載到 zabbix server 的鏡像中了,我們要測試一下是否能夠執行,以便后面事件調用的時候能夠成功。

主機中順序執行如下代碼,分別是進入 docker 執行模式,跳轉到腳本目錄,執行 deepseek 的腳本。

docker exec -it zabbix-docker-743-zabbix-server-1 /bin/sh
 cd /usr/lib/zabbix/alertscripts
 ./deepseek.sh

為了完成測試,在 deepseek.sh 中我們寫入如下內容:

#!/bin/bash

 # 獲取當前腳本所在目錄的絕對路徑
 SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)

 # 獲取當前時間(格式:年-月-日 時:分:秒)
 CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")

 # 在腳本同目錄創建test.txt并寫入內容(包含時間戳)
 echo "[$CURRENT_TIME] hello deepseek" > "$SCRIPT_DIR/test.txt"

 # 可選:如果希望保留歷史記錄(而非覆蓋),用 >> 追加模式
 # echo "[$CURRENT_TIME] hello deepseek" >> "$SCRIPT_DIR/test.txt"

在與 deepseek.sh 同目錄下生成一個 test.txt 文件,寫入時間和“hello deepseek”的字樣。

設置媒介

接著來設置媒介,如下圖所示“創建媒介類型”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

在創建頁面填寫“名稱”(沒有特別要求)和“腳本名稱”,這里的“腳本名稱”需要與剛才掛載的腳本名稱保持一致,還需要保證它在 docker 容器的如下地址:

/usr/lib/zabbix/alertscripts

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

點擊“更新”完成腳本的創建。

此時回到媒介的列表頁面,可以測試剛剛創建的腳本。點擊“測試”按鈕,如果看到測試成功的字樣,說明腳本運行沒有問題了。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

如果不放心,還可以回到腳本掛載的目錄下面確認文件是否生成,內容是否與你所期望的一致。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

這里也可以創建消息模版,如下圖所示:

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

關聯媒介與用戶

有了媒介(腳本+消息),接著需要將其關聯到用戶,也就是這個媒介給誰用?由于媒介屬于“告警”的范疇,那么是告警就需要有具體的“人”響應。

如下圖操作方式,這里我們選擇“Admin”作為響應的“人”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

選擇“報警”媒介。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

點擊“添加”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

在“類型”中選擇,剛才我們創建好的腳本媒介,這里收件人可以填寫一個郵件地址。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

設置觸發器

經過前面的設置之后,我們需要通過觸發器發出報警,然后調用對應的腳本執行操作以及通知到具體的人。

如系統所示,進入觸發器添加界面。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

點擊“創建觸發器”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

填寫觸發器的內容,注意這里我設置的是 CPU 使用率超過 3%。為了方便測試,我這里修改成一個很小的值。在真實場景中需要按照 80 或者 90 這樣的數據進行觸發器的設置。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

點擊“表達式”旁邊的“添加”按鈕進行條件的添加。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

設置動作(關聯腳本)

完成上述操作之后,接下來就是設置動作,如下圖所示“創建動作”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

接著是一連串的“選擇”操作,選擇“添加”條件,然后在條件中選擇觸發器類型,以及具體的觸發器。這里的觸發器用我們之前創建好的 “CPU 使用率超過 3%”。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

最后就是設置“操作”了,將消息通過之前設置好的郵箱發送給用戶。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

到這里整個媒介、觸發器與動作的配置完成,讓我們通過下面這張圖再回顧一下整個過程。

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

測試觸發器

這里需要通過模擬 CPU 使用率高的場景,從而觸發報警,然后調用我們寫好的 deepseek.sh 腳本。

執行如下代碼以 root 的身份開啟 docker 命令行模式。由于我們需要安裝 stress 工具模擬 CPU 執行,所以需要 root 身份獲取安裝應用的權限。

docker exec -it --user root zabbix-docker-743-zabbix-server-1 /bin/sh

分別執行如下:

apk update
 apk add stress-ng

顯示安裝成功之后,再執行命令如下,啟動4個CPU密集型進程,持續 30 秒。

stress-ng -c 4 -t 30s

執行完之后,如下圖所示:

智能運維新范式:Zabbix 與 DeepSeek 協同構建自動分析報表-AI.x社區

最后看看腳本是否執行。

cat /usr/lib/zabbix/alertscripts/test.txt

由于我們的腳本會在當前目錄下面生成 test.txt 文件,所以打開文件,看到如下內容。

[2025-08-06 16:25:24] hello deepseek

說明整個從觸發、腳本、執行的過程成功了。接下來,我們需要在腳本中去調用 DeepSeek 的能力對數據進行分析。

四、 DeepSeek處理監控參數并生成報表

在完成觸發器的測試之后,整個調用的鏈路就通暢了,接下來只需要將 deepseek.sh 腳本中的內容進行修改,去調用 DeepSeek 生成分析報告即可。由于 DeepSeek 的調用還需要一些 Python 的組件包,我們首先還是要進行組件安裝與環境配置的操作。

組件安裝與環境配置

在 Docker server 的運行容器內安裝 Python 和 OpenAI。

執行如下命令:

apk update
 apk add --no-cache python3 py3-pip
 python3 --version 
 pip3 --version

看到如下信息,說明安裝成功。

/var/lib/zabbix # python3 --version
 Python 3.12.11
 /var/lib/zabbix # pip3 --version 
 pip 25.1.1 from /usr/lib/python3.12/site-packages/pip (python 3.12)

接著使用剛剛安裝完成的 pip3 安裝 OpenAI,這里需要先安裝 venv 為我們的代碼創建虛擬環境,接著激活環境,然后在這個虛擬環境中安裝 OpenAI。

# 1. 安裝虛擬環境工具(Alpine 中需手動安裝)
 apk add --no-cache python3-venv

 # 2. 創建虛擬環境(路徑可自定義,例如 /var/lib/zabbix/venv)
 python3 -m venv /var/lib/zabbix/venv

 # 3. 激活虛擬環境
 source /var/lib/zabbix/venv/bin/activate

 # 4. 在虛擬環境中安裝 openai(此時 pip 指向虛擬環境,無權限問題)
 pip install openai

 # 5. 驗證安裝(激活狀態下)
 python -c "import openai; print('安裝成功')" # 無報錯即成功

 # 6. 退出虛擬環境(后續調用腳本時需先激活)
 deactivate

在編寫 Deepseek.py 之前還需要保存 DeepSeek 的 API。這里我們將其保存到.env 文件中,文件內容如下:

DEEPSEEK_API_KEY=sk-aec0ed226aXXXX5ffd89ff

同時需要通過python-dotenv 讀取 .env 文件中的環境變量,執行如下命令。 保證在 Python 的虛擬環境中。

source /var/lib/zabbix/venv/bin/activate
 pip install python-dotenv

測試 DeepSeek API 是否能夠調通。

安裝 curl,并執行指令:

apk add curl
 curl -v https://api.deepseek.com/v1

DeepSeek 生成告警報表

這里需要利用 DeepSeek 的 API 調用 DeepSeek 的能力, API 的調用在前面得到了證實。接下來就是代碼的環節。

import os
 import sys
 import datetime
 from openai import OpenAI
 from dotenv import load_dotenv # 新增:導入dotenv庫

 load_dotenv() # 默認讀取當前目錄的.env文件,若路徑不同可指定:load_dotenv("/path/to/.env")

 def generate_alert_report():
 # 定義錯誤日志文件路徑(與腳本同目錄)
 script_dir = os.path.dirname(os.path.abspath(__file__)) # 獲取當前腳本所在目錄(絕對路徑)
 error_log = os.path.join(script_dir, "error.log") # 錯誤日志放在腳本目錄
 
 # 接收從Shell腳本傳遞的參數
 if len(sys.argv) != 7:
 error_msg = "錯誤:參數數量不正確,需要6個參數(cpu_util, host_name, item_key, host_ip, event_time, trigger_name)"
 with open(error_log, "a", encoding="utf-8") as f:
 f.write(f"[{datetime.datetime.now()}] {error_msg}\n")
 return error_msg
 
 # 解析參數
 cpu_util = sys.argv[1] # CPU利用率值
 host_name = sys.argv[2] # 主機名稱
 item_key = sys.argv[3] # 監控項鍵值
 host_ip = sys.argv[4] # 主機IP
 event_time = sys.argv[5] # 告警時間
 trigger_name = sys.argv[6] # 觸發器名稱

 try:
 # 檢查API密鑰是否存在
 if not os.environ.get("DEEPSEEK_API_KEY"):
 error_msg = "錯誤:未設置DEEPSEEK_API_KEY環境變量"
 with open(error_log, "a", encoding="utf-8") as f:
 f.write(f"[{datetime.datetime.now()}] {error_msg}\n")
 return error_msg

 # 初始化OpenAI客戶端(DeepSeek兼容OpenAI SDK)
 client = OpenAI(
 api_key=os.environ.get("DEEPSEEK_API_KEY"),
 base_url="https://api.deepseek.com/v1"
 )

 # 構建系統提示詞(定義AI的角色和報告要求)
 system_prompt = """
 你是一名資深運維工程師,擅長分析服務器性能告警并生成專業報告。
 請根據提供的CPU告警信息,生成一份結構化的告警分析報告,包含以下內容:
 1. 告警基本信息(主機、IP、時間、觸發條件)
 2. 可能的原因分析(基于CPU利用率和監控項)
 3. 建議的處理步驟(分點說明,清晰具體)
 4. 預防措施(如何避免類似問題再次發生)
 
 報告風格要專業、簡潔,重點突出,便于運維人員快速理解和處理。
 """

 # 構建用戶提示詞(傳遞具體參數)
 user_prompt = f"""
 服務器告警信息如下:
 - 主機名稱:{host_name}
 - 主機IP:{host_ip}
 - 告警時間:{event_time}
 - 觸發條件:{trigger_name}
 - 當前CPU利用率:{cpu_util}%
 - 監控項鍵值:{item_key}
 
 請基于以上信息生成告警分析報告。
 """

 # 調用DeepSeek模型
 response = client.chat.completions.create(
 model="deepseek-chat",
 messages=[
 {"role": "system", "content": system_prompt},
 {"role": "user", "content": user_prompt}
 ],
 stream=False,
 max_tokens=1000
 )

 # 獲取模型返回的報告內容
 report_content = response.choices[0].message.content

 # 生成報告文件名(包含主機名和時間戳)
 timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
 clean_host_name = host_name.replace(" ", "_") # 處理主機名中的空格
 report_filename = os.path.join(script_dir, f"alert_report_{clean_host_name}_{timestamp}.txt") # 關鍵:用script_dir指定路徑
 
 # 將報告寫入文件
 with open(report_filename, "w", encoding="utf-8") as f:
 f.write(f"=== 服務器CPU告警分析報告 ===\n")
 f.write(f"生成時間:{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n")
 f.write(report_content)
 
 return f"告警報告生成成功:{report_filename}"

 except Exception as e:
 # 捕獲所有異常并寫入錯誤日志
 error_msg = f"生成報告失?。簕str(e)}"
 with open(error_log, "a", encoding="utf-8") as f:
 f.write(f"[{datetime.datetime.now()}] {error_msg}\n")
 return error_msg

 if __name__ == "__main__":
 result = generate_alert_report()
 print(result) # 輸出結果給Shell腳本

上面代碼會接受來自 deepseek.sh 腳本傳來的參數(CPU 報警參數),然后扮演 IT 運維工程師利用 DeepSeek 大模型生成報警的報告。

將報告放置在與 deepseek.py 相同的目錄下。

在腳本中調用 deepseek.py

完成 deepseek.py 之后,我們還需要在 deepseek.sh 腳本中調用它,當觸發器發出報警的時候調用deepseek.sh,deepseek.sh 再將報警數據傳入deepseek.py 完成告警的閉環操作。

deepseek.sh 腳本修改如下:

#!/bin/bash

 # 獲取腳本目錄和日志文件
 SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
 LOG_FILE="$SCRIPT_DIR/cpu_multi_params_log.log"

 # 接收多個參數(按Zabbix配置的順序對應)
 cpu_util="$1" # 參數1:CPU利用率值
 host_name="$2" # 參數2:主機名稱
 item_key="$3" # 參數3:監控項鍵值
 host_ip="$4" # 參數4:主機IP
 event_time="$5" # 參數5:告警時間
 trigger_name="$6" # 參數6:觸發器名稱

 # 記錄所有參數到日志
 {
 echo "========================================="
 echo "日志生成時間: $(date "+%Y-%m-%d %H:%M:%S")"
 echo "1. CPU利用率值: $cpu_util" 
 echo "2. 主機名稱: $host_name"
 echo "3. 監控項鍵值: $item_key"
 echo "4. 主機IP地址: $host_ip"
 echo "5. 告警觸發時間: $event_time"
 echo "6. 觸發器名稱: $trigger_name"
 echo ""
 } >> "$LOG_FILE"

 # 簡單驗證(確保核心參數不為空)
 if [ -z "$cpu_util" ] || [ -z "$host_name" ]; then
 echo "[$(date "+%Y-%m-%d %H:%M:%S")] 錯誤:核心參數缺失(CPU值或主機名)" >> "$LOG_FILE"
 exit 1
 fi

 echo "[$(date "+%Y-%m-%d %H:%M:%S")] 多參數接收成功" >> "$LOG_FILE"

 # 調用deepseek.py并傳遞6個參數
 PY_SCRIPT="$SCRIPT_DIR/deepseek.py"
 if [ -f "$PY_SCRIPT" ]; then
 echo "[$(date "+%Y-%m-%d %H:%M:%S")] 開始調用Python腳本生成報告" >> "$LOG_FILE"
 # 執行Python腳本并捕獲輸出結果
 python_result=$(
 source /var/lib/zabbix/venv/bin/activate && \ # 激活虛擬環境
 python3 "$PY_SCRIPT" "$cpu_util" "$host_name" "$item_key" "$host_ip" "$event_time" "$trigger_name" 2>&1
 )
 # 將Python腳本的執行結果寫入日志
 echo "[$(date "+%Y-%m-%d %H:%M:%S")] Python腳本執行結果: $python_result" >> "$LOG_FILE"
 else
 echo "[$(date "+%Y-%m-%d %H:%M:%S")] 錯誤:未找到Python腳本 $PY_SCRIPT" >> "$LOG_FILE"
 exit 1
 fi

注意如下代碼,在調用 deepseek.py 之前需要激活虛擬環境,然后再通過 Python 的命令行傳入幾個參數。

python_result=$(
 source /var/lib/zabbix/venv/bin/activate && \ # 激活虛擬環境
 python3 "$PY_SCRIPT" "$cpu_util" "$host_name" "$item_key" "$host_ip" "$event_time" "$trigger_name" 2>&1
 )

測試 CPU 報警功能

依舊通過如下命令增加 CPU 利用率。

stress-ng -c 4 -t 30s

接著會在 Zabbix 平臺,看到對應的報警信息。

同時,在 deepseek.sh 相同的目錄下面看到日志信息。

日志生成時間: 2025-08-07 16:32:15
 1. CPU利用率值: 3.5 %
 2. 主機名稱: Zabbix server
 3. 監控項鍵值: system.cpu.util
 4. 主機IP地址: 172.16.239.4
 5. 告警觸發時間: 16:31:24
 6. 觸發器名稱: CPU使用率超過3%

 [2025-08-07 16:32:15] 多參數接收成功
 [2025-08-07 16:32:15] 開始調用Python腳本生成報告
 [2025-08-07 16:32:54] Python腳本執行結果: 告警報告生成成功:/usr/lib/zabbix/alertscripts/alert_report_Zabbix_server_20250807_163254.txt

日志中看到傳入的 CPU 使用率的參數,以及 Python 腳本生成報告的信息。

同時再查看如下報告文件:

/usr/lib/zabbix/alertscripts/alert_report_Zabbix_server_20250807_163254.txt

得到報告的詳細信息。

=== 服務器CPU告警分析報告 ===
生成時間:2025-08-07 16:32:54

# CPU告警分析報告

## 1. 告警基本信息
| 項目 | 詳情 |
|------|------|
| 主機名稱 | Zabbix server |
| 主機IP | 172.16.239.4 |
| 告警時間 | 16:31:24 |
| 觸發條件 | CPU使用率 > 3% |
| 當前CPU利用率 | 3.5% |
| 監控項鍵值 | system.cpu.util |

## 2. 可能的原因分析
1. **監控閾值設置過低**:3%的CPU利用率閾值對于生產環境服務器來說過于敏感
2. **Zabbix自身監控活動**:作為監控服務器,Zabbix自身的數據收集和處理可能導致短暫的CPU使用率波動
3. **后臺維護任務**:可能正在執行計劃任務、日志輪轉或數據庫維護等常規操作
4. **網絡活動增加**:客戶端數據上報量臨時增加導致處理負載上升

## 3. 建議的處理步驟
1. **確認當前系統狀態**:
   - 執行`top`或`htop`命令查看實時進程占用情況
   - 檢查`uptime`命令輸出的系統負載平均值
   - 使用`ps aux --sort=-%cpu | head -10`查看CPU占用最高的進程

2. **調整監控閾值**:
   - 建議將CPU告警閾值調整為更合理的水平(如80%)
   - 對于Zabbix服務器,可考慮設置多級告警(警告/嚴重)

3. **檢查Zabbix服務狀態**:
   - 查看Zabbix server日志:`tail -f /var/log/zabbix/zabbix_server.log`
   - 確認是否有異常的任務堆積或數據庫查詢問題

## 4. 預防措施
1. **優化監控配置**:
   - 根據服務器角色和基準性能調整告警閾值
   - 對監控項設置合理的聚合時間(如5分鐘平均值)

2. **性能基線建立**:
   - 記錄服務器在不同時段的正常性能指標作為基準
   - 設置基于基線的動態告警閾值

3. **資源分配優化**:
   - 確保Zabbix服務器有足夠的CPU資源
   - 考慮將數據庫與Zabbix服務分離部署

4. **定期維護**:
   - 定期清理Zabbix歷史數據
   - 優化數據庫表和索引

5. **告警分級**:
   - 設置多級告警策略(信息/警告/嚴重)
   - 對非關鍵告警配置不同的通知渠道

**備注**:當前3.5%的CPU使用率屬于極低負載,建議優先調整監控策略而非進行系統優化。

總結

本文圍繞 Zabbix 與 DeepSeek 大模型的融合實踐展開,構建智能運維分析體系。從基礎部署起步,借 Docker 及 Compose 簡化 Zabbix 復雜組件安裝,完成 Server 與 Agent 關聯,打通監控數據采集鏈路。

核心環節聚焦告警流程:通過配置媒介、觸發器與動作,搭建從異常檢測到腳本觸發的通路,再借助 Docker 掛載腳本,實現與 DeepSeek 大模型的銜接。編寫 Python 腳本調用 DeepSeek API,利用其智能分析能力,將 Zabbix 捕獲的 CPU 利用率、主機信息等監控參數,轉化為包含故障根因、處理建議的專業報表,賦能運維決策。

從模擬 CPU 過載測試驗證流程閉環,到生成結構化分析報告,展現了大模型與傳統監控工具結合的價值 —— 打破人工分析效率瓶頸,讓運維從 “被動響應” 邁向 “智能預判”。

作者介紹

崔皓,51CTO社區編輯,資深架構師,擁有18年的軟件開發和架構經驗,10年分布式架構經驗。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
久热精品在线观看| 污污网站免费观看| 少妇一级淫片免费看| 999在线观看精品免费不卡网站| 精品日韩av一区二区| 日本中文字幕亚洲| www.亚洲.com| 国产一区二区三区久久悠悠色av| 欧美激情区在线播放| 亚洲欧美色图视频| 天堂久久一区| 午夜久久久影院| 天天综合狠狠精品| 99精品在线视频观看| 一区二区福利| 精品精品国产国产自在线| 男生和女生一起差差差视频| 欧美男人天堂| 亚洲人成亚洲人成在线观看图片| 国产日本一区二区三区| 中文字幕资源网| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲无亚洲人成网站77777| 九九热视频免费| 国产超碰精品| 午夜精品久久久久| 精品久久免费观看| 欧美色18zzzzxxxxx| 国产激情一区二区三区四区| 2019精品视频| 福利所第一导航| 国产精品嫩草影院在线看| 日韩精品一区二区三区swag| 欧美婷婷精品激情| 中文在线аv在线| 亚洲一区二区三区在线| 在线视频福利一区| 成人性爱视频在线观看| 久久影音资源网| 国产免费高清一区| 亚洲AV无码一区二区三区少妇| 麻豆视频观看网址久久| 日韩美女免费线视频| 日本三级免费看| 国产中文一区| 色综合视频网站| 538精品在线观看| 91不卡在线观看| 深夜福利国产精品| 极品蜜桃臀肥臀-x88av| 欧美精品一区二区久久| 亚洲午夜精品视频| 久久久视频6r| 免费电影一区二区三区| 日韩国产欧美区| 三叶草欧洲码在线| 亚洲日本三级| 亚洲欧美日韩一区在线| 国精产品一区一区三区免费视频 | 亚洲人123区| 亚洲精品第一区二区三区| 国产一级二级三级在线观看| 久久久久久久久伊人| 欧美精彩一区二区三区| 免费黄网站在线观看| 久久嫩草精品久久久久| 欧美日韩一区二区三| 韩国三级av在线免费观看| 久久久久久综合| 水蜜桃一区二区三区| 草草影院在线观看| 国产精品家庭影院| 大桥未久一区二区三区| 牛牛精品在线| 欧美日韩中文字幕在线视频| 黑森林福利视频导航| 黑人精品一区| 欧美日韩亚州综合| 91热视频在线观看| 久久动漫网址| 亚洲一级黄色片| 久久精品一区二区三区四区五区| 午夜亚洲福利| 欧美一级bbbbb性bbbb喷潮片| 久久久精品毛片| 天堂资源在线中文精品| 成人动漫网站在线观看| 亚洲精品字幕在线| 久久毛片高清国产| 吴梦梦av在线| 都市激情久久综合| 色欧美乱欧美15图片| 免费黄频在线观看| 欧美一级三级| www日韩欧美| 国产手机在线视频| 美腿丝袜亚洲三区| 国产精品视频免费一区| 99porn视频在线| 成人毛片在线播放| 精久久久久久久久久久| 国内一区二区三区在线视频| 99视频在线观看地址| 亚洲综合清纯丝袜自拍| 少妇性l交大片| 亚洲免费一区三区| 亚洲性视频网站| 日韩免费一级片| 狠狠色2019综合网| 鲁鲁视频www一区二区| 成人在线直播| 欧美亚洲精品一区| 欧美精品欧美极品欧美激情| 91综合视频| 国产91久久婷婷一区二区| 草逼视频免费看| 国产精品美女久久久久高潮| 亚洲熟妇无码一区二区三区导航| 欧美亚洲黄色| 亚洲天堂免费视频| 永久免费看片在线播放| 国产精品77777竹菊影视小说| 日韩区国产区| 成人免费影院| 亚洲精品720p| 欧美精品xxxxx| 精品一区二区三区视频在线观看 | 精品美女视频| 欧美激情综合色| 国产av无码专区亚洲av麻豆| 欧美激情综合五月色丁香小说| 少妇高潮毛片色欲ava片| 精品久久亚洲| zzijzzij亚洲日本成熟少妇| 欧美男人亚洲天堂| 99精品视频一区二区| www.日本在线视频| 日韩视频一区二区三区四区| 久久精品国产综合| 一区二区www| 中文一区一区三区高中清不卡| 日韩手机在线观看视频| 日本中文字幕在线一区| 97色在线视频观看| 熟妇高潮一区二区三区| 亚洲大片精品永久免费| 国产精品99久久久精品无码| 午夜精品久久| 91日韩久久| 毛片在线网址| 精品国产髙清在线看国产毛片| 亚洲av鲁丝一区二区三区| 国产一区二区视频在线| 国产精品波多野结衣| 99国内精品久久久久| 久久精品成人一区二区三区| 亚洲综合五月天婷婷丁香| 中日韩av电影| 亚洲理论中文字幕| 欧美va亚洲va日韩∨a综合色| 亚洲一区制服诱惑| 日本精品600av| 亚洲高清不卡av| 国产在线免费视频| 99久久久国产精品| 黄色国产小视频| 成人激情视频| 91最新在线免费观看| 日本在线视频www鲁啊鲁| 亚洲精品一区二区三区精华液 | 91黄色免费网站| 日本一二三不卡视频| 久久se这里有精品| 一级性生活视频| 国产66精品| 日本精品性网站在线观看| 国产51人人成人人人人爽色哟哟| 欧美日韩久久一区二区| 国产精品成人免费观看| aaa欧美色吧激情视频| 久久精品香蕉视频| 五月激情综合| 国产精品日韩一区二区三区| 台湾佬中文娱乐久久久| 色系列之999| 亚洲成人第一区| 色婷婷av一区| 日韩一级片av| 91麻豆swag| 五月天av在线播放| 在线观看视频免费一区二区三区| 美女被啪啪一区二区| 欧美一级做一级爱a做片性| 欧美久久久精品| 免费看男男www网站入口在线| 在线不卡a资源高清| 国产性一乱一性一伧一色| 91美女福利视频| 成年人三级黄色片| 99精品视频免费观看视频| 午夜免费电影一区在线观看| 日韩一区二区三区精品视频第3页| 91国产中文字幕| 麻豆tv在线| 亚洲欧美日韩天堂| 亚洲精品一区二区三区蜜桃| 欧美在线看片a免费观看| 91日韩中文字幕| 国产亚洲短视频| 精品少妇人妻av一区二区三区| 日本亚洲三级在线| 日本在线观看一区| 高清精品视频| 91在线播放国产| 草民电影神马电影一区二区| 欧美极品欧美精品欧美视频| 成黄免费在线| 亚洲欧美在线第一页| 国产高清视频免费观看| 欧美三级电影在线观看| av中文在线播放| 夜夜精品视频一区二区| jizz日本在线播放| 久久综合久久综合九色| www.com日本| 国产自产视频一区二区三区| 久久九九国产视频| 亚洲免费观看| 免费看欧美黑人毛片| 在线电影一区二区| 亚洲国产精品综合| 国产探花一区在线观看| 久久精精品视频| 国产主播性色av福利精品一区| 成人两性免费视频| 国产成人精品一区二区三区免费| 人体精品一二三区| 一本大道色婷婷在线| 97久久精品国产| 51精品视频| 午夜精品视频在线| aaa在线播放视频| 久久久在线视频| 免费网站在线观看人| 久久国产精品久久国产精品| 米奇777四色精品人人爽| 中文字幕亚洲欧美日韩高清| 国产片在线观看| 伊人久久久久久久久久久久久| 青青草av免费在线观看| 亚洲乱码国产乱码精品精| 免费观看成年在线视频网站| 亚洲久久久久久久久久久| 深夜影院在线观看| 亚洲欧美成人精品| av在线电影院| 久久精品国产清自在天天线| 福利视频在线看| 色狠狠av一区二区三区香蕉蜜桃| 欧美成人高清在线| 久久成人亚洲精品| 国产丝袜精品丝袜| 孩xxxx性bbbb欧美| 手机在线观看av| 国产国语刺激对白av不卡| 外国电影一区二区| 国产精品专区第二| 麻豆精品国产| 黑人巨大精品欧美一区二区小视频| 欧美日韩一区二区三区不卡视频| 欧美日韩大片一区二区三区| 精品国产乱码| 久久精品在线免费视频| 激情一区二区| 成人在线观看a| 狠狠久久亚洲欧美| 91丝袜在线观看| 国产色综合久久| 国产高潮流白浆| 午夜精品一区二区三区电影天堂 | 国产精品扒开做爽爽爽的视频| 欧美成人自拍视频| 涩涩网在线视频| 国产欧美日韩中文字幕在线| 伊人久久噜噜噜躁狠狠躁| 国产综合 伊人色| 水蜜桃久久夜色精品一区| 天堂а√在线中文在线| 99热免费精品| 57pao国产成永久免费视频| 成人性色生活片免费看爆迷你毛片| 双性尿奴穿贞c带憋尿| √…a在线天堂一区| 日韩精品视频免费播放| 欧美日韩三级在线| 免费观看a视频| 在线观看欧美视频| 精品精品导航| 国产视频999| 日韩精品免费一区二区夜夜嗨| 亚洲一区二区三区四区中文| 国产精品xvideos88| 亚洲精品乱码久久久久久自慰| 国产激情视频一区二区三区欧美 | 亚洲欧美日韩国产一区二区三区| 国产成人一区二区三区影院在线| 欧美久久一二区| 亚洲人妻一区二区| 久久精品中文字幕电影| 天堂av中文在线观看| 97久久天天综合色天天综合色hd | 中文字幕色呦呦| 石原莉奈在线亚洲三区| 波多野结衣三级视频| 欧美激情在线观看视频免费| 精品成人免费视频| 日韩欧美国产午夜精品| 国产二区在线播放| 6080yy精品一区二区三区| 亚洲综合网站| 自拍另类欧美| 日本欧美在线看| 中文字幕一区二区三区人妻| 亚洲二区视频在线| 99视频在线观看免费| x99av成人免费| 免费观看成人性生生活片| 九色综合日本| 亚洲性人人天天夜夜摸| www.偷拍.com| 中文字幕佐山爱一区二区免费| 波多野结衣一区二区三区四区| 亚洲精品国精品久久99热一| 激情网站在线| ts人妖另类在线| 欧美日韩免费| 女王人厕视频2ⅴk| 亚洲视频小说图片| 国产精品久久久久久无人区| 国产一区二区三区欧美| 美女福利一区二区| 日韩黄色影视| 肉色丝袜一区二区| 永久免费av无码网站性色av| 色天天综合久久久久综合片| 国产一二三区在线| 国产精品老女人视频| 欧洲杯半决赛直播| 欧美三级理论片| 中文字幕亚洲一区二区va在线| 中文字幕有码视频| 日韩三级影视基地| 2020国产精品小视频| 裸体裸乳免费看| 国产福利一区在线观看| 国产亚洲第一页| 日韩精品中文字幕在线| 成人性生活视频| 午夜精品福利一区二区| 精品一区二区三区视频| 欧美黄色免费在线观看| 精品国产一区二区亚洲人成毛片| 国产黄色大片在线观看| 国模精品娜娜一二三区| 母乳一区在线观看| 精品人妻中文无码av在线 | 亚洲国产精品久久不卡毛片| 亚洲a视频在线观看| 97碰在线观看| 国产一区二区三区四区| 黄大色黄女片18第一次| 亚洲女同ⅹxx女同tv| 免费看av毛片| 国产a级全部精品| 欧美韩日高清| 91传媒理伦片在线观看| 色综合中文字幕国产| 9色在线观看| 国产69精品久久久久9999apgf| 在线综合亚洲| 一本在线免费视频| 欧美zozozo| 欧美大片1688网站| 国产女教师bbwbbwbbw| 成人免费看黄yyy456| 国产成人无码专区| 久久中文字幕一区| 色综合久久中文| 亚洲国产午夜精品| 精品国产电影一区| 91xxx在线观看| 精品国产一区二区三区免费 | 国产美女91呻吟求| 国产综合欧美| 丁香激情五月少妇| 亚洲电影免费观看高清完整版在线| 天天综合网站| av在线免费观看国产| 亚洲国产精品激情在线观看| 亚洲va欧美va|