欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

基于AI Agent與SSH的時(shí)序數(shù)據(jù)庫(kù)自動(dòng)化運(yùn)維實(shí)戰(zhàn)

基于AI Agent與SSH的時(shí)序數(shù)據(jù)庫(kù)自動(dòng)化運(yùn)維實(shí)戰(zhàn) 1. 項(xiàng)目概述當(dāng)AI Agent遇上時(shí)序數(shù)據(jù)庫(kù)運(yùn)維最近在折騰一個(gè)物聯(lián)網(wǎng)項(xiàng)目數(shù)據(jù)量上來(lái)之后時(shí)序數(shù)據(jù)庫(kù)IoTDB的服務(wù)器運(yùn)維成了個(gè)不大不小的麻煩。遠(yuǎn)程登錄、查看狀態(tài)、處理告警、執(zhí)行備份……這些重復(fù)性操作不僅枯燥還容易因?yàn)槿藶槭韬龀霾碜?。正好AI Agent的概念火得不行我就琢磨著能不能讓一個(gè)“智能體”來(lái)幫我打理這些日常的服務(wù)器運(yùn)維工作比如讓它自動(dòng)登錄服務(wù)器檢查IoTDB的運(yùn)行狀態(tài)或者根據(jù)預(yù)設(shè)規(guī)則處理一些簡(jiǎn)單故障。這聽(tīng)起來(lái)像是把運(yùn)維工程師從重復(fù)勞動(dòng)中解放出來(lái)的好辦法尤其適合我們這種人手緊張的小團(tuán)隊(duì)。這個(gè)想法落地的核心其實(shí)就是讓AI Agent學(xué)會(huì)安全地通過(guò)SSH協(xié)議與遠(yuǎn)程服務(wù)器對(duì)話并理解IoTDB這個(gè)特定領(lǐng)域的“語(yǔ)言”。它不再是一個(gè)只會(huì)聊天的模型而是一個(gè)能執(zhí)行具體命令、解析返回結(jié)果、并做出決策的“遠(yuǎn)程操作員”。對(duì)于任何在管理IoTDB、InfluxDB這類時(shí)序數(shù)據(jù)庫(kù)或者有批量服務(wù)器運(yùn)維需求的朋友來(lái)說(shuō)這套思路都能直接拿來(lái)參考。無(wú)論你是想提升運(yùn)維效率還是單純對(duì)AI Agent的落地應(yīng)用感興趣接下來(lái)的內(nèi)容都會(huì)是一次從理論到實(shí)戰(zhàn)的完整拆解。2. 核心思路與架構(gòu)設(shè)計(jì)2.1 為什么是AI Agent SSH IoTDB首先得說(shuō)清楚為什么是這三個(gè)技術(shù)的組合。時(shí)序數(shù)據(jù)庫(kù)IoTDB在物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)場(chǎng)景下非常普遍它的運(yùn)維特點(diǎn)鮮明需要持續(xù)監(jiān)控寫入吞吐、查詢延遲、磁盤空間、進(jìn)程狀態(tài)等指標(biāo)。傳統(tǒng)做法要么靠人工定時(shí)登錄查看要么依賴Zabbix、Prometheus等監(jiān)控系統(tǒng)告警但告警后的初步診斷和簡(jiǎn)單處置如重啟服務(wù)、清理臨時(shí)文件往往還得人工介入。AI Agent的價(jià)值就在這里。我們賦予它通過(guò)SSH執(zhí)行命令的能力它就獲得了在服務(wù)器上行動(dòng)的“手”。再結(jié)合大語(yǔ)言模型LLM的理解和推理能力它就能成為不知疲倦的初級(jí)運(yùn)維員。例如當(dāng)監(jiān)控系統(tǒng)告警“IoTDB寫入失敗”時(shí)Agent可以自動(dòng)登錄服務(wù)器檢查IoTDB進(jìn)程是否存活、查看日志最后幾行錯(cuò)誤信息、嘗試重啟服務(wù)并將一系列操作和結(jié)果匯總成報(bào)告推送給工程師。這大大縮短了故障響應(yīng)時(shí)間尤其是在非工作時(shí)間。這個(gè)架構(gòu)的核心鏈路是用戶/系統(tǒng)觸發(fā)任務(wù) - AI Agent大腦規(guī)劃步驟 - 通過(guò)SSH工具手連接服務(wù)器 - 執(zhí)行IoTDB相關(guān)命令動(dòng)作 - 解析返回結(jié)果眼睛 - 決策或報(bào)告反饋。其中SSH是安全通道IoTDB是操作對(duì)象LLM是決策中心。2.2 技術(shù)棧選型與考量實(shí)現(xiàn)這樣一個(gè)Agent技術(shù)選型上有幾個(gè)關(guān)鍵決策點(diǎn)AI Agent開(kāi)發(fā)框架這是Agent的“大腦”和“神經(jīng)系統(tǒng)”。目前生態(tài)比較活躍的有LangChain、LlamaIndex、AutoGen等。LangChain的鏈Chain和代理Agent抽象非常成熟工具Tool集成方便社區(qū)資源豐富是快速上手的不二之選。如果你追求更輕量或更自主的Agent也可以基于OpenAI的Assistant API或者直接調(diào)用LLM的Function Calling能力來(lái)構(gòu)建。SSH連接庫(kù)這是Agent的“手”。Python里最常用的是paramiko它是一個(gè)純Python實(shí)現(xiàn)的SSHv2協(xié)議庫(kù)功能全面但異步支持稍弱。如果需要高性能的異步操作可以考慮asyncssh。對(duì)于簡(jiǎn)單的場(chǎng)景直接用subprocess調(diào)用系統(tǒng)本地的ssh命令如ssh userhost ‘command’也未嘗不可更依賴系統(tǒng)環(huán)境但足夠直接。LLM模型選擇這是Agent的“智力水平”。閉源模型如GPT-4、Claude 3在復(fù)雜邏輯推理和長(zhǎng)文本理解上優(yōu)勢(shì)明顯適合處理復(fù)雜的運(yùn)維場(chǎng)景分析和日志解讀。開(kāi)源模型如Qwen、DeepSeek、Llama 3在成本可控和私有化部署方面有優(yōu)勢(shì)但需要仔細(xì)評(píng)估其工具調(diào)用Function Calling和指令跟隨Instruction Following能力是否滿足要求。對(duì)于IoTDB運(yùn)維這種領(lǐng)域性較強(qiáng)的任務(wù)可能還需要對(duì)模型進(jìn)行一些針對(duì)性的提示詞工程Prompt Engineering甚至微調(diào)。IoTDB交互方式操作IoTDB主要有兩種途徑。一是通過(guò)其JDBC/ODBC接口執(zhí)行SQL語(yǔ)句這需要Agent環(huán)境中有對(duì)應(yīng)的客戶端驅(qū)動(dòng)。二是更通用的直接通過(guò)SSH在服務(wù)器上執(zhí)行IoTDB的命令行工具CLI命令例如./start-server.sh啟動(dòng)、./cli.sh -e “show cluster”查看集群狀態(tài)。后者更貼近運(yùn)維人員的日常操作也更容易被AI Agent理解和模擬因此我們的方案將主要采用這種方式。我的選擇是LangChain OpenAI GPT-4 API paramiko IoTDB CLI。這是一個(gè)在開(kāi)發(fā)效率、功能強(qiáng)大性和實(shí)現(xiàn)復(fù)雜度之間取得平衡的組合。LangChain幫我們快速搭建Agent骨架GPT-4提供可靠的推理能力paramiko處理穩(wěn)定的SSH連接而直接操作CLI則是最貼近實(shí)戰(zhàn)的方式。3. 核心模塊拆解與實(shí)現(xiàn)3.1 構(gòu)建可靠的SSH工具Tool在LangChain的語(yǔ)境里一個(gè)“工具”就是Agent可以調(diào)用的函數(shù)。我們的核心工具就是一個(gè)能執(zhí)行遠(yuǎn)程SSH命令的函數(shù)。import paramiko from langchain.tools import tool from typing import Optional import logging logging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__) class SSHAgent: def __init__(self, hostname: str, username: str, password: Optional[str] None, key_filename: Optional[str] None): self.hostname hostname self.username username self.password password self.key_filename key_filename self.client None def connect(self): 建立SSH連接 try: self.client paramiko.SSHClient() self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 注意生產(chǎn)環(huán)境應(yīng)使用更安全策略 self.client.connect( hostnameself.hostname, usernameself.username, passwordself.password, key_filenameself.key_filename, timeout10 ) logger.info(f成功連接到 {self.hostname}) except Exception as e: logger.error(f連接 {self.hostname} 失敗: {e}) raise def execute_command(self, command: str) - dict: 執(zhí)行遠(yuǎn)程命令并返回結(jié)構(gòu)化結(jié)果 if not self.client: self.connect() try: stdin, stdout, stderr self.client.exec_command(command, timeout30) exit_status stdout.channel.recv_exit_status() output stdout.read().decode(utf-8).strip() error stderr.read().decode(utf-8).strip() result { “command”: command, “exit_status”: exit_status, “output”: output, “error”: error, “success”: exit_status 0 } logger.info(f執(zhí)行命令: {command}, 狀態(tài): {exit_status}) if error: logger.warning(f命令錯(cuò)誤輸出: {error}) return result except Exception as e: logger.error(f命令執(zhí)行異常: {e}) return {“command”: command, “exit_status”: -1, “output”: “”, “error”: str(e), “success”: False} def close(self): 關(guān)閉連接 if self.client: self.client.close() logger.info(f關(guān)閉與 {self.hostname} 的連接) # 將SSH能力封裝成LangChain Tool tool def ssh_operator(server_info: dict, command: str) - str: 在指定的遠(yuǎn)程服務(wù)器上執(zhí)行Shell命令。 Args: server_info: 包含服務(wù)器連接信息的字典格式如{“hostname”: “192.168.1.100”, “username”: “iotdb_user”, “password”: “xxx”} command: 需要在遠(yuǎn)程服務(wù)器上執(zhí)行的Shell命令字符串。 Returns: 返回命令執(zhí)行結(jié)果的文本摘要。如果成功包含輸出如果失敗包含錯(cuò)誤信息。 agent SSHAgent( hostnameserver_info.get(“hostname”), usernameserver_info.get(“username”), passwordserver_info.get(“password”) ) try: result agent.execute_command(command) if result[“success”]: # 對(duì)長(zhǎng)輸出進(jìn)行摘要避免超出LLM上下文限制 output result[“output”] if len(output) 500: summary output[:250] “\n... [輸出過(guò)長(zhǎng)已截?cái)郵 ...\n” output[-250:] return f“命令執(zhí)行成功。輸出摘要\n{summary}” return f“命令執(zhí)行成功。輸出\n{output}” else: return f“命令執(zhí)行失敗退出碼 {result[‘exit_status’]}。錯(cuò)誤信息\n{result[‘error’]}” finally: agent.close()關(guān)鍵點(diǎn)與避坑指南連接管理每次調(diào)用都新建連接開(kāi)銷很大。理想情況是維護(hù)一個(gè)連接池或者讓Agent對(duì)象在會(huì)話期間保持連接。上述代碼為簡(jiǎn)化起見(jiàn)每次創(chuàng)建生產(chǎn)環(huán)境需要優(yōu)化。安全性AutoAddPolicy會(huì)自動(dòng)接受未知主機(jī)密鑰這在開(kāi)發(fā)測(cè)試中可以但生產(chǎn)環(huán)境是嚴(yán)重的安全隱患。必須改用paramiko.RejectPolicy或使用known_hosts機(jī)制。密碼與密鑰明文傳遞密碼不安全。應(yīng)優(yōu)先使用SSH密鑰認(rèn)證并將密鑰文件路徑或密碼存儲(chǔ)在環(huán)境變量或安全的配置管理服務(wù)中。超時(shí)控制exec_command和連接都需要設(shè)置合理的超時(shí)防止網(wǎng)絡(luò)問(wèn)題或命令卡死導(dǎo)致整個(gè)Agent僵住。輸出處理LLM的上下文長(zhǎng)度有限。像cat一個(gè)大日志文件這樣的命令輸出可能巨大。必須設(shè)計(jì)摘要策略比如只取頭尾若干行或者用另一個(gè)LLM調(diào)用先做摘要。3.2 封裝IoTDB領(lǐng)域?qū)S霉ぞ哂辛嘶A(chǔ)的SSH工具我們就可以在此基礎(chǔ)上構(gòu)建更貼近IoTDB運(yùn)維場(chǎng)景的“高級(jí)工具”。這些工具將復(fù)雜的運(yùn)維操作封裝成一個(gè)簡(jiǎn)單的函數(shù)調(diào)用降低LLM規(guī)劃任務(wù)的難度。from langchain.tools import tool import re tool def check_iotdb_status(server_info: dict) - str: 檢查遠(yuǎn)程服務(wù)器上Apache IoTDB的運(yùn)行狀態(tài)。 通過(guò)檢查進(jìn)程是否存在、以及嘗試查詢基礎(chǔ)信息來(lái)判斷。 # 1. 檢查IoTDB Server進(jìn)程 ssh_tool ssh_operator ps_result ssh_tool.invoke({“server_info”: server_info, “command”: “ps aux | grep -i iotdb | grep -v grep”}) if “IoTDB” in ps_result or “iotdb” in ps_result.lower(): process_running True else: process_running False # 2. 嘗試通過(guò)CLI執(zhí)行一個(gè)簡(jiǎn)單查詢例如查看版本 # 假設(shè)IoTDB安裝在 /opt/iotdb 目錄下 version_cmd “cd /opt/iotdb ./sbin/start-cli.sh -e ‘show version’ 21 | head -5” version_result ssh_tool.invoke({“server_info”: server_info, “command”: version_cmd}) status_report [] status_report.append(f“1. 進(jìn)程檢查: {‘IoTDB進(jìn)程正在運(yùn)行’ if process_running else ‘未發(fā)現(xiàn)活躍的IoTDB進(jìn)程’}”) status_report.append(f“2. 版本查詢嘗試結(jié)果: {version_result}”) # 簡(jiǎn)單邏輯判斷 if process_running and “version” in version_result.lower(): overall “IoTDB服務(wù)運(yùn)行正常?!?elif process_running: overall “IoTDB進(jìn)程存在但CLI訪問(wèn)可能異常請(qǐng)檢查端口或日志?!?else: overall “IoTDB服務(wù)可能未啟動(dòng)?!?status_report.append(f“總體狀態(tài): {overall}”) return “\n”.join(status_report) tool def query_iotdb_metrics(server_info: dict, sql: str) - str: 在遠(yuǎn)程IoTDB實(shí)例上執(zhí)行一條查詢SQL并返回結(jié)果。 注意SQL需為IoTDB支持的標(biāo)準(zhǔn)語(yǔ)法。 # 將SQL語(yǔ)句安全地嵌入CLI命令。注意轉(zhuǎn)義引號(hào)。 # 這里使用單引號(hào)包裹SQL假設(shè)SQL內(nèi)不包含單引號(hào)。復(fù)雜情況需要更安全的處理。 cli_command f“””cd /opt/iotdb ./sbin/start-cli.sh -e ‘{sql}’“”” result ssh_operator.invoke({“server_info”: server_info, “command”: cli_command}) return result tool def manage_iotdb_service(server_info: dict, action: str) - str: 管理IoTDB服務(wù)啟動(dòng)(start)、停止(stop)、重啟(restart)。 valid_actions {“start”, “stop”, “restart”} if action not in valid_actions: return f“無(wú)效操作: {action}。請(qǐng)使用 start, stop, 或 restart?!?script_path “/opt/iotdb/sbin” if action “start”: cmd f“cd {script_path} ./start-server.sh” elif action “stop”: cmd f“cd {script_path} ./stop-server.sh” else: # restart cmd f“cd {script_path} ./stop-server.sh sleep 3 ./start-server.sh” result ssh_operator.invoke({“server_info”: server_info, “command”: cmd}) # 可以增加一個(gè)二次狀態(tài)確認(rèn) if “success” in result.lower(): confirm_cmd “sleep 2 ps aux | grep iotdb | grep -v grep | wc -l” confirm ssh_operator.invoke({“server_info”: server_info, “command”: confirm_cmd}) return f“服務(wù){(diào)action}命令已執(zhí)行。當(dāng)前IoTDB進(jìn)程數(shù): {confirm}\n原始輸出: {result}” return result設(shè)計(jì)心得工具粒度工具的設(shè)計(jì)要在“功能單一”和“實(shí)用高效”之間平衡。check_iotdb_status封裝了多個(gè)檢查步驟對(duì)Agent來(lái)說(shuō)就是一個(gè)原子操作比讓它自己規(guī)劃“先ps再查版本”更可靠。錯(cuò)誤處理與反饋工具返回的信息要結(jié)構(gòu)化、友好。不僅告訴Agent成功失敗還要給出可能的原因和下一步建議的線索幫助LLM進(jìn)行后續(xù)決策。安全性過(guò)濾像query_iotdb_metrics這樣的工具如果直接拼接SQL存在SQL注入風(fēng)險(xiǎn)雖然是對(duì)IoTDB的查詢。在生產(chǎn)中應(yīng)對(duì)sql參數(shù)進(jìn)行嚴(yán)格的校驗(yàn)或白名單過(guò)濾禁止執(zhí)行DROP、DELETE等危險(xiǎn)操作。3.3 組裝AI Agent并設(shè)定其“性格”現(xiàn)在我們有了一系列工具接下來(lái)就是創(chuàng)建AI Agent并告訴它這些工具怎么用、它應(yīng)該扮演什么角色。from langchain.agents import initialize_agent, AgentType from langchain_openai import ChatOpenAI from langchain.memory import ConversationBufferMemory import os # 假設(shè)工具列表已經(jīng)定義好 tools [ssh_operator, check_iotdb_status, query_iotdb_metrics, manage_iotdb_service] # 初始化LLM。請(qǐng)將您的API Key放入環(huán)境變量 llm ChatOpenAI( model“gpt-4-turbo”, # 根據(jù)實(shí)際情況選擇模型 temperature0, # 運(yùn)維任務(wù)要求確定性高溫度設(shè)為0 openai_api_keyos.getenv(“OPENAI_API_KEY”) ) # 給Agent一些記憶讓它能記住對(duì)話上下文 memory ConversationBufferMemory(memory_key“chat_history”, return_messagesTrue) # 至關(guān)重要的系統(tǒng)提示詞System Prompt這定義了Agent的“角色”和“行為準(zhǔn)則” system_message “”” 你是一個(gè)專業(yè)的Apache IoTDB數(shù)據(jù)庫(kù)運(yùn)維專家AI助手。你的職責(zé)是通過(guò)安全的SSH連接協(xié)助管理遠(yuǎn)程服務(wù)器上的IoTDB時(shí)序數(shù)據(jù)庫(kù)。 請(qǐng)嚴(yán)格遵守以下規(guī)則 1. 你只能使用提供給您的工具來(lái)操作。在采取任何行動(dòng)前必須規(guī)劃好步驟。 2. 對(duì)于用戶模糊的請(qǐng)求如‘?dāng)?shù)據(jù)庫(kù)有點(diǎn)慢’你應(yīng)該主動(dòng)詢問(wèn)細(xì)節(jié)或提出診斷步驟例如先檢查狀態(tài)、查看負(fù)載。 3. 執(zhí)行任何修改性操作如重啟服務(wù)前必須明確告知用戶潛在影響如短暫服務(wù)中斷并請(qǐng)求最終確認(rèn)。 4. 你的回答應(yīng)專業(yè)、簡(jiǎn)潔優(yōu)先呈現(xiàn)事實(shí)如命令輸出、狀態(tài)碼然后給出你的分析和建議。 5. 如果工具執(zhí)行失敗分析可能的原因如網(wǎng)絡(luò)、權(quán)限、命令語(yǔ)法并給出排查建議。 6. 始終關(guān)注操作的安全性避免執(zhí)行未經(jīng)充分確認(rèn)的危險(xiǎn)命令。 已知服務(wù)器連接信息 - 主機(jī): iotdb-prod-01 - 用戶名: admin 你可以假設(shè)在執(zhí)行工具時(shí)使用這個(gè)默認(rèn)服務(wù)器除非用戶指定其他服務(wù)器。 “”” # 初始化Agent。使用ZERO_SHOT_REACT_DESCRIPTION類型它要求Agent對(duì)每個(gè)步驟進(jìn)行“思考(Thought)”、“行動(dòng)(Action)”、“觀察(Observation)”的循環(huán)。 agent initialize_agent( toolstools, llmllm, agentAgentType.ZERO_SHOT_REACT_DESCRIPTION, # 對(duì)于復(fù)雜任務(wù)也可考慮使用STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION verboseTrue, # 開(kāi)啟詳細(xì)日志方便調(diào)試Agent的思考過(guò)程 memorymemory, agent_kwargs{ “system_message”: system_message # 注入系統(tǒng)提示 }, handle_parsing_errorsTrue # 優(yōu)雅處理解析錯(cuò)誤 ) # 現(xiàn)在Agent已經(jīng)準(zhǔn)備就緒可以接受自然語(yǔ)言指令了。提示詞工程要點(diǎn)角色設(shè)定明確的角色如“IoTDB運(yùn)維專家”能讓LLM的輸出更專業(yè)、更聚焦。約束與安全在提示詞中強(qiáng)調(diào)安全規(guī)范和確認(rèn)步驟是防止Agent“亂來(lái)”的第一道防線。雖然不能100%可靠但能極大減少風(fēng)險(xiǎn)。上下文提供將默認(rèn)服務(wù)器信息寫在提示詞里簡(jiǎn)化用戶輸入。對(duì)于多服務(wù)器環(huán)境可以設(shè)計(jì)讓用戶在查詢時(shí)指定服務(wù)器標(biāo)識(shí)符。輸出格式要求Agent“先事實(shí)后分析”能保證返回信息的可讀性和實(shí)用性。4. 實(shí)戰(zhàn)演練從需求到Agent執(zhí)行讓我們看幾個(gè)具體的場(chǎng)景觀察組裝好的Agent是如何工作的。4.1 場(chǎng)景一日常健康檢查用戶輸入“檢查一下IoTDB服務(wù)器的狀態(tài)?!盇gent的思考與執(zhí)行過(guò)程verboseTrue時(shí)的輸出簡(jiǎn)化Thought: 用戶想檢查IoTDB狀態(tài)。我有一個(gè)專門的工具叫check_iotdb_status可以用來(lái)做這個(gè)。我需要提供服務(wù)器信息可以使用默認(rèn)的。 Action: check_iotdb_status Action Input: {“server_info”: {“hostname”: “iotdb-prod-01”, “username”: “admin”}} Observation: 1. 進(jìn)程檢查: IoTDB進(jìn)程正在運(yùn)行。 2. 版本查詢嘗試結(jié)果: 命令執(zhí)行成功。輸出 ... IoTDB version 1.2.0 ... 3. 總體狀態(tài): IoTDB服務(wù)運(yùn)行正常。 Thought: 工具返回了狀態(tài)顯示服務(wù)運(yùn)行正常。我應(yīng)該把這個(gè)結(jié)果清晰地告訴用戶。 Final Answer: 已完成對(duì)服務(wù)器 iotdb-prod-01 的IoTDB健康檢查結(jié)果如下 - **進(jìn)程狀態(tài)**: 活躍運(yùn)行中。 - **服務(wù)可達(dá)性**: 通過(guò)CLI成功查詢到版本信息 (IoTDB version 1.2.0)。 - **總體評(píng)估**: 該IoTDB實(shí)例當(dāng)前運(yùn)行狀態(tài)正常。4.2 場(chǎng)景二診斷與簡(jiǎn)單修復(fù)用戶輸入“應(yīng)用反饋寫入IoTDB超時(shí)幫忙看看怎么回事?!盇gent的思考與執(zhí)行過(guò)程Thought: 寫入超時(shí)可能涉及多個(gè)方面服務(wù)是否存活、服務(wù)器負(fù)載、磁盤空間、網(wǎng)絡(luò)等。我應(yīng)該按步驟排查。首先用check_iotdb_status確認(rèn)服務(wù)是否在運(yùn)行。 Action: check_iotdb_status Action Input: {“server_info”: {“hostname”: “iotdb-prod-01”, “username”: “admin”}} Observation: ...總體狀態(tài): IoTDB服務(wù)運(yùn)行正常。 Thought: 服務(wù)是運(yùn)行的。接下來(lái)需要檢查服務(wù)器資源。我可以使用ssh_operator工具執(zhí)行一些診斷命令。先看磁盤空間。 Action: ssh_operator Action Input: {“server_info”: {“hostname”: “iotdb-prod-01”, “username”: “admin”}, “command”: “df -h /opt/iotdb”} Observation: 命令執(zhí)行成功。輸出 Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 95G 5G 95% /opt Thought: 磁盤使用率95%快滿了這很可能是寫入失敗的原因。我需要檢查是哪些數(shù)據(jù)文件占用了空間。同時(shí)我應(yīng)該通知用戶這個(gè)嚴(yán)重問(wèn)題并建議清理或擴(kuò)容。 Action: ssh_operator Action Input: {“server_info”: {“hostname”: “iotdb-prod-01”, “username”: “admin”}, “command”: “du -sh /opt/iotdb/data/* | sort -rh | head -5”} Observation: 命令執(zhí)行成功。輸出 45G /opt/iotdb/data/sequence 30G /opt/iotdb/data/unsequence 15G /opt/iotdb/data/wal ... Final Answer: 根據(jù)排查發(fā)現(xiàn)一個(gè)可能導(dǎo)致寫入超時(shí)的**嚴(yán)重問(wèn)題** 1. **磁盤空間告急**: IoTDB數(shù)據(jù)目錄所在磁盤(/opt)使用率已達(dá)**95%**僅剩5G空間。 2. **主要占用者**: 數(shù)據(jù)文件占用巨大其中sequence目錄45Gunsequence目錄30G。 **建議立即采取的行動(dòng)** - **緊急清理**: 請(qǐng)確認(rèn)是否有可刪除的過(guò)期數(shù)據(jù)或可以壓縮的WAL日志??梢允褂?./sbin/start-cli.sh -e ‘DELETE FROM root WHERE time now() - 30d’ 等命令清理歷史數(shù)據(jù)請(qǐng)務(wù)必先確認(rèn)刪除范圍。 - **擴(kuò)容**: 規(guī)劃磁盤擴(kuò)容。 - **臨時(shí)緩解**: 如果情況緊急可以考慮重啟IoTDB服務(wù)會(huì)清理部分臨時(shí)文件但這不是根本解決辦法。**重啟會(huì)導(dǎo)致服務(wù)短暫中斷是否需要我為您執(zhí)行重啟操作**4.3 場(chǎng)景三執(zhí)行預(yù)定的運(yùn)維操作用戶輸入“確認(rèn)一下然后重啟IoTDB服務(wù)。”接上一個(gè)場(chǎng)景Agent的記憶中有之前的對(duì)話Thought: 用戶確認(rèn)了問(wèn)題并請(qǐng)求重啟服務(wù)。這是一個(gè)修改性操作我需要使用manage_iotdb_service工具并再次提醒用戶中斷風(fēng)險(xiǎn)。 Action: manage_iotdb_service Action Input: {“server_info”: {“hostname”: “iotdb-prod-01”, “username”: “admin”}, “action”: “restart”} Observation: 命令執(zhí)行成功。輸出 Stopping IoTDB... IoTDB stopped successfully. Starting IoTDB... IoTDB started successfully. 當(dāng)前IoTDB進(jìn)程數(shù): 1 Thought: 重啟操作成功完成。我應(yīng)該告訴用戶結(jié)果并建議重啟后驗(yàn)證寫入是否恢復(fù)。 Final Answer: 已按照您的指令在服務(wù)器 iotdb-prod-01 上完成了IoTDB服務(wù)的重啟。 **操作結(jié)果** - 服務(wù)停止成功。 - 服務(wù)啟動(dòng)成功。 - 當(dāng)前確認(rèn)有1個(gè)IoTDB進(jìn)程在運(yùn)行。 **后續(xù)建議** 請(qǐng)通知您的應(yīng)用程序團(tuán)隊(duì)在1-2分鐘后嘗試重新寫入。建議同時(shí)監(jiān)控磁盤空間使用情況重啟可能釋放了部分臨時(shí)空間但根本的磁盤滿問(wèn)題仍需按之前建議的方案處理。5. 進(jìn)階優(yōu)化與生產(chǎn)級(jí)考量上面的基礎(chǔ)版本已經(jīng)能跑起來(lái)但要用于生產(chǎn)環(huán)境還有很長(zhǎng)的路要走。以下是一些關(guān)鍵的優(yōu)化方向。5.1 提升可靠性與安全性連接管理與復(fù)用頻繁創(chuàng)建銷毀SSH連接開(kāi)銷大??梢詫?shí)現(xiàn)一個(gè)連接池或者為每個(gè)服務(wù)器維護(hù)一個(gè)持久化的SSHAgent單例并在長(zhǎng)時(shí)間空閑后自動(dòng)回收。操作審計(jì)與回滾所有Agent執(zhí)行的操作包括思考過(guò)程必須完整日志記錄最好能存入數(shù)據(jù)庫(kù)。對(duì)于變更類操作應(yīng)探索實(shí)現(xiàn)簡(jiǎn)單的回滾機(jī)制比如在修改配置前自動(dòng)備份原文件。權(quán)限最小化用于SSH的賬號(hào)權(quán)限必須嚴(yán)格控制遵循最小權(quán)限原則。最好創(chuàng)建一個(gè)專門的運(yùn)維賬號(hào)僅能執(zhí)行必要的監(jiān)控和啟停命令禁止直接訪問(wèn)或修改核心數(shù)據(jù)文件。輸入驗(yàn)證與沙箱對(duì)所有來(lái)自用戶或Agent規(guī)劃的命令參數(shù)進(jìn)行嚴(yán)格的白名單驗(yàn)證??紤]在服務(wù)器端部署一個(gè)輕量的“命令代理”Agent只向這個(gè)代理發(fā)送高級(jí)指令如restart_service由代理翻譯成具體的安全命令執(zhí)行形成一道安全邊界。雙因素確認(rèn)對(duì)于重啟、刪除數(shù)據(jù)等高風(fēng)險(xiǎn)操作除了在提示詞中要求Agent確認(rèn)系統(tǒng)層面應(yīng)實(shí)現(xiàn)二次確認(rèn)流程例如通過(guò)另一個(gè)渠道如釘釘/飛書消息發(fā)送確認(rèn)請(qǐng)求。5.2 增強(qiáng)Agent的認(rèn)知與決策能力集成監(jiān)控?cái)?shù)據(jù)讓Agent只能通過(guò)SSH執(zhí)行命令獲取信息是滯后的??梢约蒔rometheus、Zabbix的API讓Agent能直接獲取豐富的實(shí)時(shí)和歷史監(jiān)控指標(biāo)CPU、內(nèi)存、IO、IoTDB內(nèi)部指標(biāo)從而做出更精準(zhǔn)的判斷。賦予“查看日志”能力日志是診斷的黃金信息??梢詣?chuàng)建一個(gè)tail_iotdb_log工具讓Agent能獲取最新的錯(cuò)誤日志或搜索特定關(guān)鍵詞并結(jié)合LLM的文本分析能力進(jìn)行初步的根因分析。實(shí)現(xiàn)多步驟工作流對(duì)于復(fù)雜故障可以預(yù)設(shè)一些診斷工作流模板。例如“磁盤空間不足處理流程”檢查空間 - 定位大文件/目錄 - 判斷是否可清理 - 執(zhí)行清理或告警。Agent可以按流程一步步執(zhí)行。知識(shí)庫(kù)RAG增強(qiáng)將IoTDB的官方文檔、內(nèi)部的運(yùn)維手冊(cè)、歷史故障處理記錄構(gòu)建成知識(shí)庫(kù)。當(dāng)Agent遇到陌生錯(cuò)誤時(shí)可以自動(dòng)檢索相關(guān)知識(shí)提供更專業(yè)的處理建議。5.3 系統(tǒng)集成與工程化部署提供API接口將AI Agent封裝成Web API如FastAPI方便與其他系統(tǒng)集成。例如監(jiān)控平臺(tái)如Zabbix產(chǎn)生告警后自動(dòng)調(diào)用Agent API觸發(fā)診斷流程。設(shè)計(jì)人機(jī)協(xié)同環(huán)路明確Agent的職責(zé)邊界。設(shè)定“自信度閾值”當(dāng)它對(duì)某個(gè)判斷的自信度低時(shí)或觸發(fā)了高風(fēng)險(xiǎn)操作預(yù)案時(shí)必須自動(dòng)轉(zhuǎn)交人工處理并附上它已收集的所有上下文信息。持續(xù)學(xué)習(xí)與反饋建立反饋機(jī)制。人工處理完Agent轉(zhuǎn)交的工單后將正確的處理步驟和結(jié)果反饋給系統(tǒng)可用于優(yōu)化提示詞或作為后續(xù)學(xué)習(xí)的樣本。性能與成本監(jiān)控監(jiān)控Agent每次調(diào)用的耗時(shí)、Token使用量如果使用按Token計(jì)費(fèi)的模型和成功率。優(yōu)化提示詞以減少不必要的Token消耗對(duì)于耗時(shí)長(zhǎng)的命令如全表查詢?cè)O(shè)置嚴(yán)格的超時(shí)和行數(shù)限制。6. 常見(jiàn)問(wèn)題與排錯(cuò)實(shí)錄在實(shí)際搭建和測(cè)試過(guò)程中我遇到了不少坑這里記錄一些典型問(wèn)題和解決方法。問(wèn)題1Agent總是選擇錯(cuò)誤的工具或者不理解我的指令?,F(xiàn)象讓Agent“看看數(shù)據(jù)庫(kù)負(fù)載”它可能去調(diào)用query_iotdb_metrics執(zhí)行一個(gè)不相關(guān)的SQL而不是去檢查系統(tǒng)負(fù)載。排查首先開(kāi)啟verboseTrue查看Agent的完整“思考(Thought)”過(guò)程。很可能是因?yàn)楣ぞ叩拿枋鰀escription不夠清晰或者LLM對(duì)“負(fù)載”這個(gè)詞的理解有偏差。解決優(yōu)化工具描述將工具的功能描述寫得非常具體和場(chǎng)景化。例如將ssh_operator的描述從“執(zhí)行命令”改為“在遠(yuǎn)程服務(wù)器上執(zhí)行系統(tǒng)級(jí)Shell命令如查看進(jìn)程(ps)、檢查磁盤(df)、查看日志(tail)等”。優(yōu)化系統(tǒng)提示詞在系統(tǒng)提示詞中給出更明確的引導(dǎo)。例如加入“當(dāng)用戶提到‘性能’、‘負(fù)載’、‘慢’時(shí)優(yōu)先考慮檢查系統(tǒng)資源CPU、內(nèi)存、磁盤和IoTDB進(jìn)程狀態(tài)?!碧峁┦纠诔跏蓟疉gent時(shí)使用AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION等類型并為其提供一些“少樣本示例”Few-shot Examples演示如何正確理解指令并選擇工具。問(wèn)題2SSH連接不穩(wěn)定時(shí)常超時(shí)或斷開(kāi)?,F(xiàn)象執(zhí)行長(zhǎng)時(shí)間命令時(shí)失敗或間歇性連接失敗。排查檢查網(wǎng)絡(luò)穩(wěn)定性、服務(wù)器SSH服務(wù)配置如ClientAliveInterval、以及paramiko的超時(shí)設(shè)置。解決調(diào)整超時(shí)參數(shù)在paramiko.SSHClient.connect()和exec_command()中設(shè)置合理的timeout和banner_timeout。使用長(zhǎng)連接與?;顒?chuàng)建連接后執(zhí)行一個(gè)簡(jiǎn)單的?;蠲钊鏴cho ‘a(chǎn)live’。對(duì)于長(zhǎng)時(shí)間任務(wù)考慮使用invoke_shell()并交互式發(fā)送命令而不是exec_command。實(shí)現(xiàn)重試機(jī)制在工具函數(shù)外層包裹一個(gè)重試裝飾器對(duì)網(wǎng)絡(luò)超時(shí)等短暫錯(cuò)誤進(jìn)行自動(dòng)重試如最多3次每次間隔遞增。問(wèn)題3IoTDB CLI命令輸出格式復(fù)雜Agent難以解析?,F(xiàn)象show cluster或查詢結(jié)果包含多行表格和特殊字符Agent返回的結(jié)果混亂或截?cái)?。解決后處理清洗在SSH工具返回結(jié)果前先對(duì)輸出進(jìn)行清洗。例如移除ANSI顏色代碼將表格格式轉(zhuǎn)換為更簡(jiǎn)單的Markdown表格或CSV格式。import re def clean_ansi_codes(text): ansi_escape re.compile(r‘\x1B(?:[-Z\\-_]|\[[0-?]*[ -/]*[-~])’) return ansi_escape.sub(‘’, text) def simplify_table(text): # 一個(gè)簡(jiǎn)單的將對(duì)齊空格轉(zhuǎn)換為逗號(hào)的示例假設(shè)簡(jiǎn)單表格 lines text.strip().split(‘\n’) simplified [] for line in lines: # 將連續(xù)多個(gè)空格替換為逗號(hào) simplified.append(re.sub(r‘\s{2,}’, ‘,’, line)) return ‘\n’.join(simplified)設(shè)計(jì)專用解析工具對(duì)于show cluster這種固定格式的命令直接寫一個(gè)解析函數(shù)將其轉(zhuǎn)化為結(jié)構(gòu)化的JSON數(shù)據(jù)再返回給Agent信息更清晰。讓LLM做解析如果輸出是純文本但很長(zhǎng)可以只取關(guān)鍵部分或者將原始輸出直接交給LLM在下一個(gè)“思考”步驟中要求它“總結(jié)一下這個(gè)輸出”利用LLM強(qiáng)大的文本理解能力。問(wèn)題4處理需要交互的命令如輸入密碼時(shí)卡住?,F(xiàn)象執(zhí)行某些需要交互確認(rèn)的命令如rm -i或需要輸入密碼的sudo命令時(shí)SSH通道會(huì)一直等待輸入導(dǎo)致超時(shí)。解決避免交互式命令這是根本方法。用rm -f代替rm -i或者配置sudo免密碼執(zhí)行特定命令。使用invoke_shell進(jìn)行交互對(duì)于無(wú)法避免的交互可以使用invoke_shell()創(chuàng)建交互式會(huì)話并通過(guò)send()和recv()方法來(lái)模擬輸入。但這會(huì)大大增加復(fù)雜性。預(yù)期輸出與超時(shí)如果必須使用在exec_command后可以同時(shí)讀取stdout和stderr并設(shè)置一個(gè)較短的超時(shí)一旦檢測(cè)到提示符如[sudo] password for就提前結(jié)束并返回“需要交互無(wú)法自動(dòng)執(zhí)行”的錯(cuò)誤。這個(gè)項(xiàng)目從構(gòu)思到實(shí)現(xiàn)讓我深刻體會(huì)到AI Agent不是魔術(shù)它更像是一個(gè)不知疲倦、但需要被精心設(shè)計(jì)和嚴(yán)格約束的“實(shí)習(xí)生”。它的價(jià)值不在于替代高級(jí)運(yùn)維專家而在于消化掉那些大量重復(fù)、規(guī)則明確的日常工作和初級(jí)診斷任務(wù)讓人類專家能聚焦于更復(fù)雜的架構(gòu)和故障難題。在IoTDB運(yùn)維這個(gè)具體場(chǎng)景下它已經(jīng)展現(xiàn)出了清晰的提效潛力。下一步我計(jì)劃將它接入我們的告警平臺(tái)讓它成為7x24小時(shí)在線的“第一響應(yīng)人”把“告警”直接變成“診斷報(bào)告處理建議”甚至是一些自動(dòng)化的修復(fù)動(dòng)作。這條路還很長(zhǎng)尤其是在安全性和可靠性上需要持續(xù)打磨但起點(diǎn)已經(jīng)足夠令人興奮。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠草狠狠草| 五月激情婷婷丁香| 激情五月婷婷视频一区二区三区| 成人在线日韩| 天天肏在线观看| 另类五月婷婷| 亚洲AV网站| 精品人妻午夜一区二区三区四区 | 婷婷五月丁香婷婷| 久久婷五月天| 五月天激情四射网站| 伊人99热| www.五月天| 26uuu欧美激情另类| 91久久1118| 亞洲自怕| 99久久户外勾搭| 色久影院| 成人永久免费视频在线观看| 五月激情六月综合| 婷婷五月天激情综合深爱激情| 五月丁香综合啪啪| 婷婷久久大香蕉| 日本97人人| 国产毛片欧美毛片久久久| 婷婷五月天亚洲五码| 最新亚洲色色网| 任你草| 91呦呦呦| 久久无意婷婷| 秋霞av不能| 丁香六月在线综合| 色操综合| 久草嫩草在线观看| 五月婷婷综合社区| www,色婷婷| 婷婷丁香六月天激情四射网| 国产AV成人精品| 97色婷| www色色com| 九九婷婷五月天| 深爱丁香激情| 综合婷婷五月丁香在线观看| 五月婷婷真爱激情网| sewuyue第四色| 99小视频| 五月丁婷婷| 亚洲夜五月| 久久久人妻人伦| 色九九综合热99| 激情五月天第四色| 99热这里| 日本婷婷综合精品| 天天爽天天摸| 五月婷婷天堂| 9999久久久久| 婷婷综合国产| 操逼毛片国语对白| 丁香五月天殴美激情| 五月天婷婷色播| 日韩激情婷婷五月天| 成人婷婷色五月天| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色九亚洲| www.爱操com.| 激情小说婷婷| 99热成人| 大香蕉伊人丁香五月| 婷婷色五月91啪啪| 大香蕉九九热| 婷婷 亚洲图片 丁香| 色婷婷在线综合色播网| 99成人免费热视频| 久久六月综合| 天天久久婷婷| 国产色色在线| 婷婷五月天网| 中国女人做爰A片| 色和综合网| 色9999综合久久| 五月婷婷亚洲色图| 亚洲久久视频| 国产精品美女| 天天干在线播放| 大香AV| 中文字幕人妻在线| 婷婷五月六月丁香综合| 丁香六月激情| 亚洲无aV在线中文字幕| 九九视频热| 日欧大屏操| 色色五月丁香婷婷| 99热99日天天干| 色欲九区| 色五月综合在线| 精品久久久人妻| wwwav大香蕉| 伊人玖玖婷婷| 99热九九在线| 久久久精品人妻| 中日韩美欧成人一区二区精品在线| 五月婷婷综合天天操| 天天操天天曰天天射| 伊人春天av| 色婷婷五月天不卡| 久久人妻精品| 最新日本A片| 天天干天天干天天干天天干天天干| 婷婷色综合| 美女视频图片久久91| 丁香六月啪啪啪| 天天干天天射综合网| 91狠狠综合久久| 天海翼中文字幕高| 成人婷婷桔色| 日日撸夜夜操| 久久综合五月天| 综合色色色色色色| 日本网站久久| 色综合色色色色色| 五月婷婷很很色| 五月婷婷色情| 久久综合中文| w婷婷五月婷婷w| 色婷婷五月天综合网| 综合激情五月丁香| 99自拍视频网站| 久久九九大香蕉电院| 婷婷五月激情图片| 高清无码.com| 色五月天在线观看| 69热在线| 久久九九色| 久久激情天堂| 色五月五月婷婷| 婷婷五月天丁香综合网| 久色国产| 99热精品超碰| 久久五月天色婷婷| 超碰人人操人人干| 夜夜干天天操| 日日干夜夜撸夜夜骑| 婷婷九月| 婷婷区日本| 99久久网站| 97精品自拍视频| 色噜噜婷婷| 天天干人人奸97| 国产成人AV人人爽人人澡Va| 中国女人做爰A片| 99re思思在线视频| 久久久天堂国产精品女人| 99久久亚洲精品视频| 婷婷色丁香五月| 国产97色在线| www.狠狠| 色丁香婷婷美女视频网站| 蜜桃人妻无码AV天堂三区| 国产伦亲子伦亲子视频观看| 中文无码婷婷| 国产精品天天狠天天看| 99在线观看| 激情综合网激情五月天| 色你久久| 欧美色婷婷| 99re99热| 亚洲中文AV网站| 午夜丁香五月天综合| 九九热视频精品999| 五月丁香婷婷俺| 日韩成人电影av| 免费视频无码| 色欲Av五月天| 一本九九色| 久久激情天堂| 天天综合天天玩夜夜玩天天玩夜夜玩| avh片在线观看| 高清无码视频网址| 五月天综合缴情网网站0| 九九这里只有精品| 五月开心深深爱激情综合| 超级碰碰视频无码| 五月天激情综合| 91艹人| 五月丁香啪啪啪| 色高清无码视频| 涩 五月 婷婷 狠狠| 思思热视频在线| 婷婷99| 国产日产亚洲系列最新 | 日日操日日撸| 久久精品在线| 伊人狠狠色婷婷综合丁香一区| 五月婷婷中文字幕| 狠狠草综合网| 开心六月婷| 97超碰,人人舔,人人操,人人摸| 天天做天天摸| 婷婷丁香人妻| 五月丁香六月香香蕉| 中国女人内射6XXXXX| 久久久噜噜噜久久人妻| 丁香六月毛片| jiujiu热在线视频| 99热在线资源| 碰超在线九色| 亚洲成人在线在线| 丁香六月综合激情| 六月99天天婷婷激情综合| 精品无码人妻一区| 丁香五月婷婷狠狠色| 97超级碰| 国产真人做爰视频免费| 天天做天天爱| av网址在线| av在线色五月丁香婷区久| 六月丁香中文字幕| 99精品偷拍视频| 激情第四色| 97色在线观看视频| 99热在线观看免费精品| 五月天婷婷在线AN| 婷婷五月天激情影片| 色色婷婷五月| 亚洲成人在线播放| 99久久精| 久久9视频| 九月停停| 九九热狼人| 久久久久久久人妻| 99网| 色播五月天激情| 99热97| 狠狠干思思热| 五月停停丁香| 亚洲经典小视频| 久久久久久草黄色片AV在线观看| 91超级碰碰| 成人AV网站在线| 国产av天天插天天操天天爽| 91久女| 亚洲精品又粗又大又爽A片| 丁香五月首页| 亚洲操操操| 日韩成人中文字幕| 91干| 丁香五月婷婷五月| 欧美日韩成人在线| 亚洲精品一区中文字幕乱码| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 国产黄色在线| 婷婷在线日韩综合| 超级碰碰碰久久网站| 操人妻AV| 九月av在线| 超碰免费电影| 狠狠爱激情网| 熟女激情网| 九九色精品| 激情五月丁香社区| 性色播| 伊人婷婷青青cao| 亲子乱AV一区二区三区下载| 婷婷五月天av网| 色噜噜伊人| 国内裸舞二区| 丁香色综合| 狠狠操狠狠干综合| yellow视频在线观看91| 日日夜夜干| 国产精产国品一二三在观看| www99精品在线观看| 懂色av粉嫩AV蜜臀AV| 亚洲无码影音| 九九AV在线| 色色五月婷| 色婷婷五月天亚洲| 婷婷.com| 噜噜噜狠狠色综| 狠狠干综合| 色五月婷婷老师| 中文字幕日产A片在线看| 亚洲色就是色色色| 成人电影AV在线观看| 大香蕉综合在线| 亚洲激情五月婷婷日日| 日韩99视频| 俺去也综合| yazhoujiqingav| 另类图片五月激情| 99色在线观看免费| 亚洲色爱综合| 日日夜夜干| 91综合网| 五月停停直播| 玖玖五月丁香| 五月天婷婷色色| 国产精自产拍久久久久久蜜 | 丁香五月性| 色情五月丁香婷婷网| 久久99这里只有精品视频 | 涩综合婷婷| 亚洲深喉aV| 婷婷色情五月| 亚洲女婷婷五月基地综合久久久| 色欲丁香| 大香蕉丁香| 久久五月六月| 久9久9热久热| 色综合网页| 欧美久久婷婷| 五月天激情婷婷| 国产肥白大熟妇BBBB视频| 99内射视频| 日韩成人五月天| 婷婷五月天六月丁香| 色婷婷五月天| 九九色色网| 婷婷伊人久久综合| 国产成人网址| 色色婷婷五月天| 五月婷婷天| 国产亚洲在线| 丁香丁香激情网| 99色在线| 狠狠情色| 思思热精品在线| 国产XXXX搡XXXXX搡麻豆| 日韩AV片| 天天操中文字幕| 丝雨一区二区| 五月激情基地| 日本综合九九| 色婷婷五月天在线| 欧美日本韩国亚洲| 色情五月天首页| 色999亚洲人成色| ...婷婷五月综合不卡,国产在线手机| 五月天涩涩| 国产五月视频| 精品皮股午夜AV| 色婷婷激情| 天天操无码| www.久久99热地址发布| AV成人在线播放| 日本色色视频| 91xxxx九色| 99综合一区| 国内一级片| 久久五月天综合视频网站| 91精品久久久久久77777| 丁香五月激情综合婷综| 日韩色五月| 888久久久| 少妇达人正片在线播放_ikun_福利吧| 激情五月瑟瑟| 激情中文在线| 成人日韩欧美| 日产精品一线二线三线芒果| 99re26视频| .精品久久久麻豆国产精品| AV色五月婷婷| 免费无码毛片一区二区A片| 99热思思在线观看| 婷婷六月激情综合| 99精品综合| www.五月天色色色| 丁香五月久久| 天干天天干天天天天天| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 超碰在线99热| 激情五月天影院| 精品五月丁香| 1024久婷| 五月婷丁香| 色色综合成人网| 免费观看18视频网站| 五月婷婷,六月激情| 中文字幕在线aⅴ免费观看| 五月色丁香激情| 激情婷婷黄色五月| 久久婷婷五月天| 热的国产99热| 99爱在线| 五月丁香好婷婷A片网| 狠狠色色| 九九综合网| 色噜噜狠狠色综合网| 91久热| 无码免费人妻A片AAA毛片西瓜 | 182TV大香蕉| 成人精品在线| 99在线看视频| 丁香五月手机在线| ji'qi'luan'ren'lun| 色情五月天丁香社区| 五月激情影视| 五月婷av| 久久久久久久久久久久久久人妻视频| 亚洲区1| 碰碰91| 五月深爱婷婷| 97在线视频人妻九色| 国产古装妇女野外A片| 国产精品日韩十五区| 色色爽爽天天| 91综合色噜噜| 国产熟妇的荡欲午夜视频| 狠狠干五月天| 久久机热思思热| 九久9精品| 亚洲第一成人无码A片| 91久久电影| 婷婷五月天va| 五月婷在线| Www.se.久久| 五月香婷婷| 五月婷婷五月天在线 | 天天色综合网1| 欧洲综合视频| 综合色吧| 五月久久| 99只有精品9| 激情影院丁香五月| 97碰超级人人看| 狠狠狠五月婷婷六月丁香| 亚洲一级色电影| 色欲AVV| 思思热视频在线| 天天天天干| 五月婷婷精品无在线| 丁香婷婷五月天亚洲| 日本黄色在线观看| 人人操人人看97干| 色婷婷久久9.com| 天天综合精品| 婷婷丁香成人| 婷婷丁香五月综合| 成年人丁香五月| 开心五月综合激情网| 婷婷六月激情综合| 五月综合缴情网| 色五月丁香一区在线| 天天爽人人综合免费7799| 久久丁香婷婷五月| 操人视频91| 久久ri精品视频| 激情5月婷婷| 天天干天天干天天| 爱超碰性| 97人人干视频| av人人操| 婷婷五月丁香色播| 五月天婷婷久草丁香| 日韩AC在线免费观看| 在线观看免费观看在线9久| 久久久com| 99自拍视频在线| 丁香五月婷久久| 久久作爱| 色综合天天| 天天综合精品| 久久久99精品免费观看| 91男同视频| 国产免费性爱| 日日操夜夜操中国无码| 美欧成人视频| 久热婷婷| 婷婷五月天va| 欧美成人五月天| 亚洲成人黄色网| 天天五月情| 啪啪小说五月天| av人人干| 99爱在线精品视频免费观看| 狠狠色综合网| 五月丁香本色在线观看| 九月大香蕉| 婷婷色五月激情强奸四射| 色五月婷婷操逼| 亚洲成人免费在线| 啪啪啪五月天| 五月丁香成年黄色| 夜夜爱网站| 久久精品国产一区二区三区四区| 五月停停99| 操日本三片99| 深爱五月综合网| 色婷五月天网站| 华人在线免费| 五月婷婷激情综合网| 久热无码| 无码动漫AV| 婷婷香蕉| 99热在线精品观看| 婷色五月| 婷婷色狠狠| 丁香五月天.com| 熟女激情网| 中文网av| 五月丁香婷婷六月| 九九热内射| 国产熟女大叫受不了| 精品五月丁香| 能看的av| 色色欧美色色色| 六月婷欧美| 日本婷婷综合精品| 色五月天丁香婷婷| 伊人免费视频9| 女操碰| 秋霞电影理论| 婷婷深爱五月天| 一区二区乱视频码| 色噜噜狠狠色综合日日免费| 久久性刺激| 中文字幕免费高清电视剧| 99热销国产这里有精品| 丁香五月停停av| 丁香六月婷婷久久综合| 2015超碰| 丁香五月天AV| 五月丁香花成人社区| 99热99久久| WWW.99热| 国外亚洲成AV人片在线观看| 99,色| 中文AV网站| 99热只有| 丁香五月婷婷狠狠色| 五月天天爽| 五月天色小说| 天天在线久久综合 | 无套内射极品大美女| 国产午夜精品一区二区三区四区| 乱码操操| 婷婷情色五月天| 激情性爱婷婷| 人妻久久久久久久久久| 五月网站| 五月婷高清视频| 99热这里是精品| 免费看成人747474九号视频在线观看| 天天檫天天爽| 色色欧美色色色| 梁铮版蜘蛛女在线观看| 思思热视频| 丁香五月中文字幕| 天天搡日日搡aaaaⅩ| 欧美日韩精品一区二区三区钱| 婷婷色天香| 狠狠狠狠狠狠| 九九这里只有精品在线视频| 亚洲精品成人| 999热在线观看视频| 99久久国产成人精品| 五月天天天综合| www.久久99热地址发布| 操操操91| 草综合14| 久久婷婷六月综合综合| 欧美五月婷婷| 色情婷婷。| 狠狠色大香蕉| 色噜噜狠狠色综合成人网| 婷婷丁香六月| 久久9视频欧美| 久热大香蕉| 99ri精品| CHINESE熟女老女人HD视频| 久久66er久久| 少妇大叫太大太粗太爽了A片| av婷婷丁香 六月| 91性高潮久久久久久久久| 久er免费视频| 亚洲妇女熟BBW| 色综合开心五月深爱五月| 无码 av电影| Va另类视频| 97操资源婷婷| 亚洲熟妇无码乱子AV电影| 九九精品亚洲| 婷婷五月天色播| 色色网站在线免费观看视频| 激情婷婷狠狠干综合| 婷婷十月丁香| av在线免费网站 | 99在线小视频| 大香蕉99| 白人荫道BBWBBB大荫道| 久久人妻伦理| 欧美精品999| 五月香婷婷| 成 久久| 曰本aaaaaa丈片| 97超碰在线免费观看| 久久五月天激情美女| 久久久天堂国产精品女人| 婷婷开心久久| 欧美日韩999| 中国女人内射6XXXXX| 五月丁香六月婷婷综合网站 | 五月天综合色| 五月婷导航| 夜夜大香蕉婷婷丁香| 综合五月婷婷| 无月播播激情在线观看视频| 超碰在线国产| 久久大国产香蕉| 久草a片| 99人这里只有精品| 情一色一乱一伦一91A| 天天插综合网| 综合激情视频| 5月婷婷激情6月| 日本99在线视频| 国产精品久久久久久久久久免费| 99成人| 综合在线丁香五月| 五月丁香久久网| 91黄色五月天视频| www.99热| 色婷婷AV在线| 无月播播激情在线观看视频| 精品无码av丁香五月激情| 97超碰99热99| 丰满老熟妇BBBBB搡BBB| 中文字幕激情综合| 激情色视频| 九九热视频精品2| 九九激情视频| 99久久国产综合精品五月天喷水\| 翔田千里 50岁 无码| 色婷婷视频综合| 婷婷欧美激情综合| 色婷婷69| 婷婷五月六月丁香| 91呦呦呦| 亚洲乱码日产精品BD| 97人人草| 五月婷啪| 亚洲婷婷久久综合| 激情五月婷| 激情五月丁香综合网站| 影音先锋 91工厂| 99综合| 六月撸婷婷| 婷婷综合偷拍| 久久人视频| 婷婷五月花.97| 婷婷五月天小说| 色噜噜狠狠色综合日日| 另类天堂| 丁香五月五月婷婷| 婷婷色五月天在线| 99性视频| 开心婷婷五月| www.久久99| 五月天色综合| 99视频只有精品| 六月色婷婷| 人妻久久久久久| 99热精品无码| 99热成人| 99热这里只有精品99| 99色| 粉嫩AV久久一区二区三区| 99超级碰免费视频| 蜜臀AV在线观看| 人妻丰满精品一区二区A片| 久久激情视频| 无码激情AAAAA片-区区 | 婷婷字幕在线| 婷婷五月激情视频网| 色色热日| 亚洲爱婷婷| 国产精品色婷婷久久久精品| 91九色国产熟女| 久久天堂网| 九九热10| 天天日天天舔天天摸| 亚洲AV人人操| 开心五月激情| www.sezonghe| 五月丁香六月天| 激情综合网址| 亚洲综合激情五月久久| 丁香五月婷婷社区| 香蕉伊人综合| 五月婷婷六月丁香| 五月丁香六月婷婷中合网| 五月丁香五月天现场视频| 国产精品成人av在线观看春天| 五月天五月天成人网亭亭成人色网站| 丁香五月天成人网站| 99久在线精品| 婷婷成人基地| 激情婷婷五月综合| 香蕉综合在线| 久久五月天激情视频| 丁香成人色情五月天| 99碰网站| 图片区 小说区 区 亚洲五月| 丁香花综合永久入口| 六月大香蕉| 99亚洲天堂| 新激情五月开心五月婷婷五月丁香五月| 66精品成人免费网站在线观看| 色五月亚洲| 六月激情婷婷| 久久无码成人| 色婷婷综合综合网| 欧美久久五月婷婷| 婷婷五月天美女21p| 无码髙清| 日韩国产在线精品| 91色五月| 丁香六月婷婷综合在线| 99视频内射三四| 成人.在线日韩| 五月天丁香婷| 亚洲丁香五月| 26UUU欧美| 97涩婷婷婷婷基地| 秋霞午夜理论| 67194中文字幕| 亚洲经典三级| 91色在线| 丁香涩涩爱| 久9视频| 91在线资源| 夜夜骑操AV| 影视av久久久噜噜噜噜噜三级| 中日韩美欧成人一区二区精品在线| 一本色道久久88加勒比—| 中文无码精品一区二区三区| 91在线日| 91日综合欧美| 丁香婷停五月激情综合深爱| 97在线刺激| 九九九九中文字幕| 开心五月婷婷激情网| 五月天综合婷婷| 婷婷色色欧美| 五月丁香啪啪伦理电影| 无码视频国内精品久久久| 国产精品久久久99视频| 午夜激情婷婷| 另类国产区| 综合色色婷婷| 疯狂做受XXXX高潮A片动画| 日韩综合久久| 99网| 嫩草哈哈操| 一级A片天天操夜夜操| 婷婷亚洲综合| 婷婷五月天视| 综合激情五月天| 99re99在线看| 婷香五月| 97人妻碰碰中文无码久热丝袜| 五月婷婷深深爱| 国产精品国产| 综合性爱网| 色五月婷婷AV| 99热这里只有精品86| 1024AV视频| 天天爱天天做天天爽| 中文字幕无码人妻少妇免费视频| 亚洲va日| 大地9中文在线观看免费高清| 做爱夜夜干天天操| 大香蕉啪啪啪| 少妇日麻屄| 天天综合网站| 激情丰满熟妇五月| 高清资源站日A美A欧亚…| 人妻熟妇六区| 超碰cap| 激情五月色在线播放| 二区成人视频| 思思热在线| 五月丁香亭亭操逼| 激情五月丁香五月| www.久久| 99噜噜噜在线播放| 天天射综合网夜夜操| 99久久婷婷国产综合亚洲| 婷婷六月丁香欧美视频在线| 99视频在线啪| 久久综合中文| 蜜乳9188| www.金莲av| 5月婷婷6月六月丁香| 亚洲婷婷婷| 99免费在线| 婷婷五月AA五月在线| 狠狠干.com| 五月丁香啪啪| 91欧美| 七七婷婷综合| 天天精品视频免费观看| 婷婷免费无马| 丰满少妇猛烈A片免费看观看| 综合综合网| 五月婷婷婷| 99热这里只有精品16| 日本www五月婷婷| 日本高清不卡免费一区二区三区| 操操自拍| 色噜噜伊人| 男同色五月开心五月激情五月| 五月丁香婷婷婷激情爱爱| 99热这里只有精品268| 色婷婷呢狠禁久禁| 精品99在线| 激情五月天开心网丁香无码| 性爱五月婷婷| 97精品综合| 思思久久精品| 狠狠艹狠狠艹| 啪啪东京热| www.天天干| 噜噜色com| 五月丁香综合啪啪| 超碰婷婷五月| 五月色影院| 五月花激情| 免费AV黄在线播放| 激情熟女网| 99热这里只有精品8| 色婷婷五月天激情在线观看| site:wpjngj.com| 亚洲成Av人片乱码色第1集| 色激情五月| 天天日天天爱天天噪| 天天插天天玩天天干| 欧美一黄一色一乱一伦| 五月丁香六月婷综合成人综合| 五月婷婷中文字幕| 狠狠五月天婷婷| 97久人人| 日日操夜夜操不卡| 99在线观看精品视频| 79精品视频在线观看,| 色婷婷五月丁香在线观看| 亚洲秘 无码一区二区三区妃光/1| 欧美 日韩 人妻 高清 中文| 噜噜噜狠狠色综| 天天做天天摸| 视频这里只有精品16| 另类专区在线观看| 99热久97| 亚洲av电影网站| 婷婷五月成人| 婷婷五月天av| 停停五月色宗合| 婷婷中文字暮| 五月婷婷干| 丁香五月综合色婷婷| www.黄色片-久久成人国产精品在线播放-999AV | 婷婷五月丁香青青草在线| 九九aV| 日本不卡中文字幕| 婷婷丁香五月天激情| 五月丁香花开综合网| 婷婷五月天激情综合| AV色五月婷婷| 国产成人+综合亚洲+天堂| 久久久99日本大片| 99色视| 九九九AAA热视频| www五月婷婷| 日日操夜夜擼| 免费黄网不卡AV| 99噜噜噜在线播放| 人妻丰满精品一区二区A片| 99热18| 九九人人操| 亚洲综合另类| 婷婷九月色| 99∨VTV| 欧美成人精品A片免费一区99| 99热这里只有精品4| 大香蕉啪啪网| 婷婷五月天伊人| 色五月五月婷婷| 丁香五月成人网| 婷婷网五月天| 人妻久久久| 狠狠操综合| 国产99久久久国产精品免费看| 五月天激情四射| 日本片日本片祼观看网站在线看中文版网页在线看 | 丁香五月天视频| 99啪啪| 中文字幕在线免费看线人| 成人午夜天| 久久您您综合网| 婷婷综合久久综合| 极品少妇婷婷五月| 青996青| 日本精品99网站| 亚洲成人网站在线观看| 久久五月天合网| 五月婷婷激情色情网| 欧美美女国产日韩一区二区久| 很很操96| 色色婷婷综合网| 婷婷丁香五月天狠狠| 天天天操天天天日| 五月丁香亭亭| 色吧综合网| 色丁香五月婷婷| 国内自拍97在线| 亚洲天堂碰碰婷婷| 久久婷婷东京热大香樵| 99久久.www| 久久婷婷五月天蜜桃| 激情视频婷婷五月花| 婷婷美女精品视频| 夜丁香五月婷婷| 99在线免费观看| 囯产精品久久欠久久久久久九大| 五月天激情婷婷| 亚洲av电影在线| 五月丁香激情综合六月涩涩爱| 99综合| 五月丁香激情综合欧美| 99性色| 综合五月天| 色综啪啪网| 99九九视频| 久久永久网址| 亚洲丁香五月在线观看| 这里只有精品视频| 五月丁香色| 九一娱乐在线观看视频| 色狠狠色| 毛片毛片毛片毛片| 久99视频| 丁香五月玖玖| 色播综合| 岛国av电影网站| 五月婷婷偷拍| 97色婷婷| 97九色视频| 99热首页在线30| 超碰操网| www.久操| 99r这里只有精品哦| 狠狠高潮精品亚洲1| 超碰在线国产| 丁香久久九九99| 操人妻90p| 久久婷婷六月综合| 五月天婷婷基地| wWW九九在线播放| 五月天婷婷青青草| 99爱视频在线| 五月丁香少妇| 色五月视频,小说| 九九黄色网| 99色免费| 五月丁香婷婷综合网色欲| 亚洲欧洲国产精品| 色婷婷av综合网| 婷婷久久免费看| 五月天婷婷综合| 北京熟妇搡BBBB搡BBBB| 九九热av| 五月婷婷视频在线观看| 免费超碰在线观看| 亚洲精品va| 9久久婷婷国产综合精品性色| 丝雨一区二区| 五月婷婷中文网| 五月婷婷啪啪| 99日本在线| 操骚货在线| 色九九九综合| 丁香六月婷婷色XXXX| 狠狠操综合| 久久久这里都是精品| 五月激情婷婷丁香天堂| 婷婷中文字幕欧美| 思思热精品免费视频| 婷婷色网| 99热香港| 色情五月丁香| 五月婷丁香花| 久久激情视频| 日韩无码成人电影| 97人人干人人操| 热99精品视频五月| 99久久99久久| 狠狠色噜噜狠狠| 来吧亚洲综合网| 91久久免费| 婷婷丁香五月亚洲17cao| 嫩草免费视频| 日日肏天天操| 日韩av免费版| 丁香五月激情视频| 色婷婷亚洲综合天堂| 五月丁香花开综合网| 91日在线视频| 婷婷五月婷婷五月| 68热超碰在线| www.五月激情红色| 7777国产盗摄农村女人| 可以直接看的AV网站| 视频一区二区在线| 色五月六月| 91xxxx九色| 色婷婷www| 五月激情射| 六月婷婷激情图片| 在线观看熟女少妇| 国产乱人偷精品人妻A片| 五月婷婷网久久| 日日夜夜九九| 婷婷五月色天| 六月婷婷av| 99人人干| 色99综合视频| 丁香六月天婷婷| 99热这里只有精品55| 欧美在线操| 国产激情视频在线观看| www 五月天 com| YW无码| 成人综合AV| 婷婷激情综合网| 成人精品视频99在线观看免费| 欧美婷婷五月天综合| 综合亚洲AV| 婷婷综合色色| 五月天婷婷丁香花| 精品九九婷婷| 亚洲激情AV| 丁香五月激情综合在线观看| 嫩草视频。| 五月天色综合| 色五月aV| 五月婷综合激情| 一级性爱视频| wwwC0maV五月花| 9999热在线免费观看| 色五月激情五月开心五月| 五月天色在线| 国产.亚洲.欧洲视频在线| 91中文在线| www,26uuu,c0m,色情| 高清不卡一区| 2050人人操免费工开爱| 九九这里是免费的视频5| 丁香无五月网| 六月丁香啪| 可以免费观看的AV| 99色亚洲| 精品婷婷五| 欧美色色色色色色色色| 色色无码| 天天爱天天吃狠天天透| 天天激情综合| 99久久精品亚洲综合| 99免费热视频在线| 国产婷婷色综合AV蜜臀AV| 日韩啪啪网| 丁香五月天堂亚洲社区| 久久丁香五月天| 天天狠天天叉| 2025中文在线视频字幕免费观看| 99er热精品视频| 国产高潮A片羞羞视频涩涩| nvrentiantang av| 色婷婷五月婷婷五月婷婷五月| 五月天天堂久久| 九色成人AV在线| 中文字幕在线免费观看视频| 五月婷婷激情| site:feetmall.com| 色性综合| 十区AV| 色婷婷五月综合激情中文字幕| 精品久久99码| 五月天婷婷成人网| 第一区久久网站| 玖玖在线视频福利| 99碰视频| 99精品丰满| 亚洲精品V天堂中文字幕 | 黄色成人AV在线| 亚洲中文字幕在线观看| 久久五月天婷婷| 欧美成人va| 99热的无码| 五月丁香综合啪啪対白| 久热9| 激情99热| 精品综合爱| 丁香婷婷浪潮AV久久综合| 欧美性猛交99久久久久99按摩| 91精品综合久久久久久五月丁香| 丁香六月婷婷综合| 九九99一区| 亚洲狠狠狠| 日韩小视频在线99| 五月天无码视屏播放| 超碰狠狠操| 亚洲区视频| 久久久大香蕉| 99久超碰| 日本99色| 激情久久 婷婷| 97艹| 人人草碰| 久久99jiu9| 91综合色噜噜| 亚洲另类AV| 激情国产综合| 国内久久亭亭| 99丁香五月婷婷在线| 婷婷色情五月| 碰人人操| 一区二区乱码视频| 久久婷婷国产| 婷婷天堂综合| 久综合色| 五月天婷婷av| 日本人妻A片成人免费看片| 91ncom.色| 少妇激情基地| 异能之下短剧免费观看全集| 操操碰| 99热 这里只有精品 国产 日韩| 熟女色专区| 人妻乱码久久久| 丁香婷婷免费| 国产熟女日日骚五月丁香爱| 丁香五月激情性色郤| 99热精品在线播放| 这里只有精品1| 五月丁香六月婷| 久热欧美| 99在线观看| 国产一级视频a| 中文字幕成人日韩| 精品久久婷婷| 91精品久久久久久综合五月天| 激情五月婷婷丁香六月| 操操操av| 日日狠夜夜狠| 国产美女视频久| 色婷婷狠狠| 免费看成人AA片无码视频吃奶| 97日本在线播放| 久久香蕉婷婷| 久久99免费视屏| 99热这里只有精品33| 精品五月天| 日韩一级片| 最近中文字幕2019视频1| 色天使久久综合| 热99免费在线| 亚洲小说五月婷婷| 这里只有精品69| 日韩高清成人| 国产精品99久久久久久久女警| 五月婷婷 婷婷五月 一区二区 久久久| 国产第99页| 婷婷五月深情丁香深爱日韩| 六月婷婷网站| 婷婷五月天Av| 国产欧美精品AAAAAA片| 亚洲无码AV片| 丁香5月激情网| 在线观看玖玖资源免费观看| 狠狠爱婷婷丁香| 嫩草AV久久伊人妇女超级A| 日本97在线看片| 色情综合网| 丁香五月激情啪啪| 思思热99热| 欲色人妻| 人妻久久久久久久久妻久久久久久久久 | 91夫妻视频| 色七七九九| 丁香久久五月天视频在线观看| 色五月婷婷老师| 成人精品视频99在线观看免费| 久久伊人婷| 色婷婷中文字母五月丁香| 五月天亭亭俺也| 天天草天天爽| 婷婷网影院| 欧美性生交xXxX久久久| 偷偷操99| 五月婷婷干| 九九这里都是精品| 影院久久久| 99热欧| 中文字幕丰满人妻无码专区| 国产成人精品一区二三区熟女在线| 婷五月天六| 操嫩逼电影| 九九热AV| 五月婷婷综合性爱噜噜| 天天色天天干天天插| 8区视频在线| 91嫩草国产线观看亚洲一区二区| 欧美日韩99| 九九無妻| 激情六月婷婷啪啪| 综合在线网| 香蕉婷婷| 久久在线92| 人草人人| 91久久精品国产91性色TV| 99热在线播放| 超碰人人干| 一级片无码| 久久机热这里只有| 97啪啪| 久久激情五月| 99爽视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 亚洲性爱99| 欧美25p| 日韩av在线电影| 五月天色不卡| 热婷婷在线视频| 免费视频这里只有精品| 97在线99| 色天天久婷婷| www.久久| 激情综合五月激情| AV人人操| 99综合免费视频| 狠狠爱综合| 日本一级| 色九月婷婷综合| 一区二区乱码视频| 国产精品日日躁夜夜躁| 激情综合网色五月| 五月婷婷影院| 五月婷婷色啪| 人人操人人干AV| 六月婷婷综合久久| 精品99视频| a九九热www| 久久久久9| 色玖玖| 99爱精品| 久久ER视频com| 国产毛片精品一区二区色欲黄A片| 狠狠艹狠狠艹| 九九热视频在线观看| 天天网站天天爽| 98国产精品综合一区二区三区| 五月丁香AV、伊人业余、性色熟妇| 精品人妻伦九区久久AAA片| 夜夜夜夜操| 九色视频入口91| 五月丁香六月激情综合|