diff --git a/api/.env.example b/api/.env.example index 6880e682e5..6f1081a65a 100644 --- a/api/.env.example +++ b/api/.env.example @@ -20,6 +20,8 @@ FILES_URL=http://127.0.0.1:5001 # APO Config APO_BACKEND_URL=http://127.0.0.1:8080 APO_VM_URL=http://127.0.0.1:8080 +WORKFLOW_DIR=./workflows +INITIAL_LANGUAGE=en-US # The time in seconds after the signature is rejected FILES_ACCESS_TIMEOUT=300 diff --git a/api/.vscode/launch.json.example b/api/.vscode/launch.json.example deleted file mode 100644 index b9e32e2511..0000000000 --- a/api/.vscode/launch.json.example +++ /dev/null @@ -1,61 +0,0 @@ -{ - "version": "0.2.0", - "compounds": [ - { - "name": "Launch Flask and Celery", - "configurations": ["Python: Flask", "Python: Celery"] - } - ], - "configurations": [ - { - "name": "Python: Flask", - "consoleName": "Flask", - "type": "debugpy", - "request": "launch", - "python": "${workspaceFolder}/.venv/bin/python", - "cwd": "${workspaceFolder}", - "envFile": ".env", - "module": "flask", - "justMyCode": true, - "jinja": true, - "env": { - "FLASK_APP": "app.py", - "GEVENT_SUPPORT": "True" - }, - "args": [ - "run", - "--port=5001" - ] - }, - { - "name": "Python: Celery", - "consoleName": "Celery", - "type": "debugpy", - "request": "launch", - "python": "${workspaceFolder}/.venv/bin/python", - "cwd": "${workspaceFolder}", - "module": "celery", - "justMyCode": true, - "envFile": ".env", - "console": "integratedTerminal", - "env": { - "FLASK_APP": "app.py", - "FLASK_DEBUG": "1", - "GEVENT_SUPPORT": "True" - }, - "args": [ - "-A", - "app.celery", - "worker", - "-P", - "gevent", - "-c", - "1", - "--loglevel", - "DEBUG", - "-Q", - "dataset,generation,mail,ops_trace,app_deletion" - ] - } - ] -} diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/alert.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/alert.yaml index 6917be49ca..cc1414577c 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/alert.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/alert.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_total.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_total.yaml index 9465efbeb6..7089c5ba84 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_total.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_total.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage.yaml index df6b9129c4..b9bbdbb206 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_linux.yaml index f7438b347e..d7b6336b54 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_linux.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_linux.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.py deleted file mode 100644 index c4f6068d9a..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterCpuUsageRealLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - CPU使用量 - Real Linux', - 'params': { - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.yaml deleted file mode 100644 index 78f618938e..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_cpu_usage_real_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 实时集群CPU使用核数 - author: APO - label: - en_US: The number of CPU cores in real-time use in the cluster - zh_Hans: 实时集群CPU使用核数 -description: - human: - en_US: The number of CPU cores in real-time use in the cluster - zh_Hans: 实时集群CPU使用核数 - llm: The number of CPU cores in real-time use in the cluster -display: - type: metric - title: 集群总览 - 总览 - CPU使用量 - Real Linux - unit: "core" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_total.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_total.yaml index 2b7facab32..772e329e53 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_total.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_total.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage.yaml index 5e40635047..852b695d45 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_linux.yaml index cefa7ac35b..c0522d98e5 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_linux.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_linux.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.py deleted file mode 100644 index 24145788b5..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterMemoryUsageRealLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 内存使用量 - Real Linux', - 'params': { - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.yaml deleted file mode 100644 index 7dccc1b259..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_memory_usage_real_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 实时集群内存使用字节数 - author: APO - label: - en_US: The number of bytes of memory in real-time use in the cluster - zh_Hans: 实时集群内存使用字节数 -description: - human: - en_US: The number of bytes of memory in real-time use in the cluster - zh_Hans: 实时集群内存使用字节数 - llm: The number of bytes of memory in real-time use in the cluster -display: - type: metric - title: 集群总览 - 总览 - 内存使用量 - Real Linux - unit: "bytes" -parameters: - - name: cluster - type: string - required: false - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_namespace_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_namespace_count.yaml index 584190da12..8d5a290601 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_namespace_count.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_namespace_count.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.py deleted file mode 100644 index 7c9124e4e7..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterNetworkLinuxReceiveDroppedPacketsTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 网络饱和 - 丢包数 - Linux Packets dropped (receive)', - 'params': { - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.yaml deleted file mode 100644 index 800075b42f..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_receive_dropped_packets.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: Linux集群网络接收丢包数 - author: APO - label: - en_US: The number of dropped packets received by the Linux cluster network - zh_Hans: Linux集群网络接收丢包数 -description: - human: - en_US: The number of dropped packets received by the Linux cluster network - zh_Hans: Linux集群网络接收丢包数 - llm: The number of dropped packets received by the Linux cluster network -display: - type: metric - title: 集群总览 - 总览 - 网络饱和 - 丢包数 - Linux Packets dropped (receive) - unit: "short" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_transmit_dropped_packets.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_transmit_dropped_packets.yaml index dd292ea954..6d6ebd73cb 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_transmit_dropped_packets.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_linux_transmit_dropped_packets.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.py deleted file mode 100644 index 1f86fc6a5f..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterNetworkReceiveBandwidthTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 集群整体网络带宽(按设备统计) - 接收', - 'params': { - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.yaml deleted file mode 100644 index d207905546..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bandwidth.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 集群网络接收带宽(按设备统计,排除虚拟设备) - author: APO - label: - en_US: Cluster network receiving bandwidth (statistically by device, excluding virtual devices) - zh_Hans: 集群网络接收带宽(按设备统计,排除虚拟设备) -description: - human: - en_US: Cluster network receiving bandwidth (statistically by device, excluding virtual devices) - zh_Hans: 集群网络接收带宽(按设备统计,排除虚拟设备) - llm: Cluster network receiving bandwidth (statistically by device, excluding virtual devices) -display: - type: metric - title: 集群总览 - 总览 - 集群整体网络带宽(按设备统计) - 接收 - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bytes.yaml index e25b6c7b57..b4b9e49d1a 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_receive_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.py deleted file mode 100644 index 5127ca9313..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterNetworkSendBandwidthTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 集群整体网络带宽(按设备统计) - 发送', - 'params': { - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.yaml deleted file mode 100644 index fdaa1e4f06..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_send_bandwidth.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 集群网络发送带宽(按设备统计,排除虚拟设备) - author: APO - label: - en_US: Cluster network sending bandwidth (statistically by device, excluding virtual devices) - zh_Hans: 集群网络发送带宽(按设备统计,排除虚拟设备) -description: - human: - en_US: Cluster network sending bandwidth (statistically by device, excluding virtual devices) - zh_Hans: 集群网络发送带宽(按设备统计,排除虚拟设备) - llm: Cluster network sending bandwidth (statistically by device, excluding virtual devices) -display: - type: metric - title: 集群总览 - 总览 - 集群整体网络带宽(按设备统计) - 发送 - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_transmit_bytes.yaml index 246a0cd0b9..cb4110101f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_transmit_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_network_transmit_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_count.yaml index dc77a27c2e..73fc59f19b 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_count.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_count.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_throttle_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_throttle_seconds.yaml index 18790ca93e..23bdc63e00 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_throttle_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_throttle_seconds.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_usage_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_usage_linux.yaml index 50fa48137e..54f1525a20 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_usage_linux.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_cpu_usage_linux.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_receive_bytes.yaml index 3a30f0f7b5..a56f156e50 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_receive_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_receive_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_transmit_bytes.yaml index 98eee7af16..a13189fb4d 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_transmit_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_loopback_transmit_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_memory_usage_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_memory_usage_linux.yaml index 61209b5853..e1d72313c0 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_memory_usage_linux.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_memory_usage_linux.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_bytes.yaml index 47bfb3ea2d..16fee10af0 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_excl_virtual_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_excl_virtual_bytes.yaml index 21c00fb7f7..a8731b527c 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_excl_virtual_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_receive_excl_virtual_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_bytes.yaml index abf8f8227e..be214939b2 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_excl_virtual_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_excl_virtual_bytes.yaml index 9b97b80059..e67eab90a0 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_excl_virtual_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_node_network_transmit_excl_virtual_bytes.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.py deleted file mode 100644 index 182240cffc..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterOverviewCpuUtilizationLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 集群总CPU使用率 - Real Linux', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.yaml deleted file mode 100644 index ad7591db20..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_cpu_utilization_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 实时集群CPU使用率 - author: APO - label: - en_US: Real-time cluster CPU utilization rate - zh_Hans: 实时集群CPU使用率 -description: - human: - en_US: Real-time cluster CPU utilization rate - zh_Hans: 实时集群CPU使用率 - llm: Real-time cluster CPU utilization rate -display: - type: metric - title: 集群总览 - 总览 - 集群总CPU使用率 - Real Linux - unit: "percentunit" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.py deleted file mode 100644 index 220efd400a..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterOverviewMemoryUtilizationLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 集群总内存使用率 - Real Linux', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.yaml deleted file mode 100644 index 2b545d9585..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_memory_utilization_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 实时集群内存使用率 - author: APO - label: - en_US: Real-time cluster memory utilization rate - zh_Hans: 实时集群内存使用率 -description: - human: - en_US: Real-time cluster memory utilization rate - zh_Hans: 实时集群内存使用率 - llm: Real-time cluster memory utilization rate -display: - type: metric - title: 集群总览 - 总览 - 集群总内存使用率 - Real Linux - unit: "percentunit" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.py deleted file mode 100644 index 254d4e0e14..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterOverviewNamespaceCountTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 命名空间数量', - 'params': { - 'cadvisor_job_name': cadvisor_job_name - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.yaml deleted file mode 100644 index 0cdc619b67..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_namespace_count.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: K8s集群中命名空间的数量 - author: APO - label: - en_US: Number of namespaces in Kubernetes cluster - zh_Hans: K8s集群中命名空间的数量 -description: - human: - en_US: Number of namespaces in Kubernetes cluster - zh_Hans: K8s集群中命名空间的数量 - llm: Number of namespaces in Kubernetes cluster -display: - type: metric - title: 集群总览 - 总览 - 命名空间数量 - unit: "count" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.py deleted file mode 100644 index 3ded8c9ef8..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterOverviewNodeCountTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 节点数', - 'params': { - 'cadvisor_job_name': cadvisor_job_name - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.yaml deleted file mode 100644 index 17030e89f8..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_overview_node_count.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: K8s集群中节点的数量 - author: APO - label: - en_US: Number of nodes in Kubernetes cluster - zh_Hans: K8s集群中节点的数量 -description: - human: - en_US: Number of nodes in Kubernetes cluster - zh_Hans: K8s集群中节点的数量 - llm: Number of nodes in Kubernetes cluster -display: - type: metric - title: 集群总览 - 总览 - 节点数 - unit: "count" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pod_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pod_count.yaml index b2a28af850..2df5a2906d 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pod_count.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pod_count.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.py deleted file mode 100644 index 97858a33d9..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterRunningPodsCountTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 运行的Pod数', - 'params': { - 'cadvisor_job_name': cadvisor_job_name - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.yaml deleted file mode 100644 index 5ee518de06..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_running_pods_count.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: K8s集群中运行中的Pod数量 - author: APO - label: - en_US: Number of running Pods in Kubernetes cluster - zh_Hans: K8s集群中运行中的Pod数量 -description: - human: - en_US: Number of running Pods in Kubernetes cluster - zh_Hans: K8s集群中运行中的Pod数量 - llm: Number of running Pods in Kubernetes cluster -display: - type: metric - title: 集群总览 - 总览 - 运行的Pod数 - unit: "count" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.py deleted file mode 100644 index 9d409d90e4..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterTotalCpuCapacityTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - CPU使用量 - Total', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.yaml deleted file mode 100644 index 92a839147a..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_cpu_capacity.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 集群总可用CPU核数 - author: APO - label: - en_US: Total available CPU cores in cluster - zh_Hans: 集群总可用CPU核数 -description: - human: - en_US: Total available CPU cores in cluster - zh_Hans: 集群总可用CPU核数 - llm: Total available CPU cores in cluster -display: - type: metric - title: 集群总览 - 总览 - CPU使用量 - Total - unit: "core" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.py b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.py deleted file mode 100644 index 7c7811fabd..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ClusterTotalMemoryCapacityTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 内存使用量 - Total', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.yaml deleted file mode 100644 index f639273eab..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/cluster_total_memory_capacity.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 集群总可用内存字节数 - author: APO - label: - en_US: Total available memory in bytes - zh_Hans: 集群总可用内存字节数 -description: - human: - en_US: Total available memory in bytes - zh_Hans: 集群总可用内存字节数 - llm: Total available memory in bytes -display: - type: metric - title: 集群总览 - 总览 - 内存使用量 - Total - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.py deleted file mode 100644 index 8273a1a1c8..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.py +++ /dev/null @@ -1,45 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - -class SelectContainerCPUTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - pod = tool_parameters.get("pod") - namespace = tool_parameters.get("namespace") - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器CPU - 容器CPU使用率 - Containerd', - 'params': { - "pod": pod, - "namespace": namespace - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - "timeseries": list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.yaml deleted file mode 100644 index e68ae770d2..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu.yaml +++ /dev/null @@ -1,70 +0,0 @@ -identity: - name: 查询容器CPU利用率 - author: APO - label: - en_US: Query the CPU usage of the container - zh_Hans: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) - pt_BR: Query the CPU usage of the container -display: - type: metric - title: 基础设施情况 - 容器CPU - 容器CPU使用率 - Containerd - unit: percent(0-100)百分比 -description: - human: - en_US: Query the CPU usage of the container - zh_Hans: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) - pt_BR: Query the CPU usage of the container - llm: Query the CPU usage of the container -parameters: - - name: pod - type: string - required: false - label: - en_US: pod - zh_Hans: pod - pt_BR: pod - human_description: - en_US: Specified pod name - zh_Hans: 指定的容器POD名称 - pt_BR: Specified pod name - llm_description: Specified pod name - form: llm - - name: namespace - type: string - required: false - label: - en_US: namespace - zh_Hans: namespace - pt_BR: namespace - human_description: - en_US: Specified namespace - zh_Hans: 指定的容器所在Namespace - pt_BR: Specified namespace - llm_description: Specified namespace - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_cfs.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_cfs.yaml index a1badef31e..08e48ceb49 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_cfs.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_cfs.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.py deleted file mode 100644 index 78d9485d80..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.py +++ /dev/null @@ -1,48 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ContainerCpuThrottleContainerdSecondsTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - namespace = tool_parameters.get('namespace', '.*') - pod = tool_parameters.get('pod', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器CPU - 容器CPU节流时间 - Containerd', - 'params': { - 'cadvisor_job_name': cadvisor_job_name, - 'namespace': namespace, - 'pod': pod - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.yaml deleted file mode 100644 index 7835a3292e..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_containerd_seconds.yaml +++ /dev/null @@ -1,75 +0,0 @@ -identity: - name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) - author: APO - label: - en_US: Container CPU throttling time (Containerd runtime, aggregated by container and Pod) - zh_Hans: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) -description: - human: - en_US: Container CPU throttling time (Containerd runtime, aggregated by container and Pod) - zh_Hans: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) - llm: Container CPU throttling time (Containerd runtime, aggregated by container and Pod) -display: - type: metric - title: 基础设施情况 - 容器CPU - 容器CPU节流时间 - Containerd - unit: "s" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: namespace - type: string - required: False - label: - en_US: Namespace - zh_Hans: 命名空间 - human_description: - en_US: Namespace - zh_Hans: 命名空间 - llm_description: Namespace - form: llm - - name: pod - type: string - required: False - label: - en_US: Pod name - zh_Hans: Pod名称 - human_description: - en_US: Pod name - zh_Hans: Pod名称 - llm_description: Pod name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_docker_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_docker_seconds.yaml index b6bed53608..77dede8d42 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_docker_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttle_docker_seconds.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.py deleted file mode 100644 index 9825364462..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.py +++ /dev/null @@ -1,48 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ContainerCpuThrottlingContainerdSecondsTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - namespace = tool_parameters.get('namespace', '.*') - pod = tool_parameters.get('pod', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器CPU - 容器CPU节流时间 - Containerd', - 'params': { - 'cadvisor_job_name': cadvisor_job_name, - 'namespace': namespace, - 'pod': pod - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.yaml deleted file mode 100644 index 51f659c88d..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_throttling_containerd_seconds.yaml +++ /dev/null @@ -1,75 +0,0 @@ -identity: - name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) - author: APO - label: - en_US: Container CPU throttling duration (Containerd runtime, by container and Pod) - zh_Hans: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) -description: - human: - en_US: Container CPU throttling duration (Containerd runtime, by container and Pod) - zh_Hans: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) - llm: Container CPU throttling duration (Containerd runtime, by container and Pod) -display: - type: metric - title: 基础设施情况 - 容器CPU - 容器CPU节流时间 - Containerd - unit: "s" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: namespace - type: string - required: False - label: - en_US: Namespace - zh_Hans: 命名空间 - human_description: - en_US: Namespace - zh_Hans: 命名空间 - llm_description: Namespace - form: llm - - name: pod - type: string - required: False - label: - en_US: Pod name - zh_Hans: Pod名称 - human_description: - en_US: Pod name - zh_Hans: Pod名称 - llm_description: Pod name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_containerd.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_containerd.yaml index 2f884030e0..f7d34e6ea6 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_containerd.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_containerd.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_docker.yaml index de25b61441..aefd7977bc 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_usage_docker.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.py deleted file mode 100644 index 2bc0133afe..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.py +++ /dev/null @@ -1,48 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class ContainerCpuUtilizationContainerdTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name', '.*') - namespace = tool_parameters.get('namespace', '.*') - pod = tool_parameters.get('pod', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器CPU - 容器CPU使用率 - Containerd', - 'params': { - 'cadvisor_job_name': cadvisor_job_name, - 'namespace': namespace, - 'pod': pod - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.yaml deleted file mode 100644 index 61c8da5e52..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_cpu_utilization_containerd.yaml +++ /dev/null @@ -1,75 +0,0 @@ -identity: - name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) - author: APO - label: - en_US: Container CPU utilization rate (Containerd runtime, by container and Pod) - zh_Hans: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) -description: - human: - en_US: Container CPU utilization rate (Containerd runtime, by container and Pod) - zh_Hans: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) - llm: Container CPU utilization rate (Containerd runtime, by container and Pod) -display: - type: metric - title: 基础设施情况 - 容器CPU - 容器CPU使用率 - Containerd - unit: "core" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: namespace - type: string - required: False - label: - en_US: Namespace - zh_Hans: 命名空间 - human_description: - en_US: Namespace - zh_Hans: 命名空间 - llm_description: Namespace - form: llm - - name: pod - type: string - required: False - label: - en_US: Pod name - zh_Hans: Pod名称 - human_description: - en_US: Pod name - zh_Hans: Pod名称 - llm_description: Pod name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_bytes_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_bytes_docker.yaml index ad4f4525c9..103baea5d9 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_bytes_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_bytes_docker.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_ops_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_ops_docker.yaml index 8743b2e7bd..2c54179f78 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_ops_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_ops_docker.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_time_containerd_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_time_containerd_seconds.yaml index 1e021a3682..989926b5ff 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_time_containerd_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_read_time_containerd_seconds.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.py deleted file mode 100644 index 290bc1bece..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.py +++ /dev/null @@ -1,45 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - -class ContainerDiskTimeTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - pod = tool_parameters.get("pod") - namespace = tool_parameters.get("namespace") - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器磁盘 - 读写花费时间 /s - Read', - 'params': { - "pod": pod, - "namespace": namespace - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - "timeseries": list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.yaml deleted file mode 100644 index 7fae43144f..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_time.yaml +++ /dev/null @@ -1,70 +0,0 @@ -identity: - name: select_container_cpu - author: APO - label: - en_US: Query the disk read time of the container - zh_Hans: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) - pt_BR: Query the disk read time of the container -display: - type: metric - title: 基础设施情况 - 容器磁盘 - 读写花费时间 /s - Read - unit: percent(0-100)百分比 -description: - human: - en_US: Query the disk read time of the container - zh_Hans: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) - pt_BR: Query the disk read time of the container - llm: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) -parameters: - - name: pod - type: string - required: false - label: - en_US: pod - zh_Hans: pod - pt_BR: pod - human_description: - en_US: Specified pod name - zh_Hans: 指定的容器POD名称 - pt_BR: Specified pod name - llm_description: Specified pod name - form: llm - - name: namespace - type: string - required: false - label: - en_US: namespace - zh_Hans: namespace - pt_BR: namespace - human_description: - en_US: Specified namespace - zh_Hans: 指定的容器所在Namespace - pt_BR: Specified namespace - llm_description: Specified namespace - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_bytes_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_bytes_docker.yaml index f5c1276abf..8cc9fe1900 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_bytes_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_bytes_docker.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_ops_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_ops_docker.yaml index 4e19a085cb..124c86b435 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_ops_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_ops_docker.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_time_containerd_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_time_containerd_seconds.yaml index 706f2a1bd6..303f6c47ee 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_time_containerd_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_disk_write_time_containerd_seconds.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_containerd_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_containerd_bytes.yaml index 0e55d90ccf..2612121f1f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_containerd_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_containerd_bytes.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_docker_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_docker_bytes.yaml index d0c6979a55..a7ace41721 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_docker_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_memory_usage_docker_bytes.yaml @@ -55,10 +55,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -68,8 +68,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.py b/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.py deleted file mode 100644 index 3f6aff4b11..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.py +++ /dev/null @@ -1,45 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - -class SelectContainerRSSTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - pod = tool_parameters.get("pod") - namespace = tool_parameters.get("namespace") - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '基础设施情况 - 容器内存 - 容器内存使用率 - Containerd', - 'params': { - "pod": pod, - "namespace": namespace - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - "timeseries": list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.yaml deleted file mode 100644 index b855159d7f..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rss.yaml +++ /dev/null @@ -1,70 +0,0 @@ -identity: - name: 查询容器内存使用量 - author: APO - label: - en_US: Query container memory usage (Containerd) - zh_Hans: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) - pt_BR: Query container memory usage -description: - human: - en_US: Query container memory usage (Containerd) - zh_Hans: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) - pt_BR: Query container memory usage (Containerd) - llm: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) -display: - type: metric - title: 基础设施情况 - 容器内存 - 容器内存使用率 - Containerd - unit: bytes 字节 -parameters: - - name: pod - type: string - required: false - label: - en_US: pod - zh_Hans: pod - pt_BR: pod - human_description: - en_US: Specified pod name - zh_Hans: 指定的容器POD名称 - pt_BR: Specified pod name - llm_description: Specified pod name - form: llm - - name: namespace - type: string - required: false - label: - en_US: namespace - zh_Hans: namespace - pt_BR: namespace - human_description: - en_US: Specified namespace - zh_Hans: 指定的容器所在Namespace - pt_BR: Specified namespace - llm_description: Specified namespace - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rtt.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/container_rtt.yaml index 6761770e2c..14de3ee78f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/container_rtt.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/container_rtt.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.py b/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.py index 7f87766003..0acd57125d 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.py +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.py @@ -30,7 +30,12 @@ class FaultLogTool(BuiltinTool): } url = dify_config.APO_BACKEND_URL + "/api/log/fault/pagelist" resp = requests.post(url, json=params) - list = resp.json()['list'][0] + log_list = resp.json().get('list', []) + list = [] + if not log_list: + yield self.create_text_message('') + else: + list = log_list[0] content_url = dify_config.APO_BACKEND_URL + "/api/log/fault/content" content = requests.post(content_url, json=list).json() diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.yaml index ebe9e19323..3d7b2e3b83 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/fault_log.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_core_num.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_core_num.yaml index ed8eeeab11..8d411d0bcb 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_core_num.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_core_num.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_core_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_core_usage.yaml index da2b2fd321..0069926231 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_core_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_core_usage.yaml @@ -13,7 +13,7 @@ description: llm: Query host's CPU cores usage display: type: metric - title: 宿主机监控指标 - Quick CPU / Mem / Disk - CPU Cores + title: 宿主机监控指标 - Basic CPU / Mem / Net / Disk - CPU Basic - CPU Usage unit: core parameters: - name: job @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_iowait.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_iowait.yaml index 620a34ab6a..fcab121a3d 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_iowait.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_iowait.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_pressure.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_pressure.yaml index c8dccaab4f..281bbc1e81 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_pressure.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_pressure.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_usage.yaml index a3a7491122..8f2c505d46 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_cpu_usage.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_io.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_io.yaml index 1ea25ead38..8ec8ec97ef 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_io.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_io.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_read_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_read_bytes.yaml index 5396660e43..33e11c81eb 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_read_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_read_bytes.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_used.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_used.yaml index d27bcf1653..79f63d31be 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_used.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_used.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_write_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_write_bytes.yaml index d85f9d773c..320eb3274e 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_write_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_disk_write_bytes.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_fd_open.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_fd_open.yaml index ca93789249..5a8e94c38c 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_fd_open.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_fd_open.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_io_pressure.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_io_pressure.yaml index 82c2ea5d27..83b8dca069 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_io_pressure.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_io_pressure.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_memory_pressure.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_memory_pressure.yaml index ab2210fb3e..907e87441f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_memory_pressure.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_memory_pressure.yaml @@ -1,9 +1,9 @@ identity: - name: 查询宿主机CPU压力 + name: 查询宿主机内存压力 author: APO label: en_US: Query host's memory pressure - zh_Hans: 查询宿主机CPU压力 + zh_Hans: 查询宿主机内存压力 pt_BR: Query host's memory pressure description: human: @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_net_recv.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_net_recv.yaml index 9de5fed074..9644a84942 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_net_recv.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_net_recv.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_total.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_total.yaml index 8b54fef6c4..04a241b916 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_total.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_total.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_usage.yaml index e86bb59609..c7124bbf65 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_ram_usage.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_total.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_total.yaml index d00b77a464..d22d813177 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_total.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_total.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_usage.yaml index 6f5540423f..973b01b8ea 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_root_fs_usage.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_total.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_total.yaml index db26a15906..f7b4a2212c 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_total.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_total.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_usage.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_usage.yaml index fcba5630fa..c554776802 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_usage.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_swap_usage.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_load.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_load.yaml index ee97b6bdca..a060b4c965 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_load.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_load.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_proc_busy.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_proc_busy.yaml index 1d7de909a1..e485ad11c2 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_proc_busy.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_sys_proc_busy.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/host_uptime.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/host_uptime.yaml index 1c78bdf117..53bece814c 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/host_uptime.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/host_uptime.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_receive.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_receive.yaml index 0091db1961..313a877a71 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_receive.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_receive.yaml @@ -33,10 +33,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -46,8 +46,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.py b/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.py deleted file mode 100644 index c62f723e7f..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class LinuxNetworkDroppedPacketsTransmitTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 总览 - 网络饱和 - 丢包数 - Linux Packets dropped (transmit)', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.yaml deleted file mode 100644 index bf7c9bcff8..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/linux_network_dropped_packets_transmit.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: Linux集群网络发送丢包数 - author: APO - label: - en_US: Linux cluster network transmit packet drops - zh_Hans: Linux集群网络发送丢包数 -description: - human: - en_US: Linux cluster network transmit packet drops - zh_Hans: Linux集群网络发送丢包数 - llm: Linux cluster network transmit packet drops -display: - type: metric - title: 集群总览 - 总览 - 网络饱和 - 丢包数 - Linux Packets dropped (transmit) - unit: "short" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_containerd_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_containerd_seconds.yaml index f37aae3d94..43b067d184 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_containerd_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_containerd_seconds.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_docker_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_docker_seconds.yaml index 2b06950bc8..88f277e791 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_docker_seconds.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_throttle_docker_seconds.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_containerd.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_containerd.yaml index 8a21184cae..14e176ddbe 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_containerd.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_containerd.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_docker.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_docker.yaml index 479a6bc83d..05260e5ebb 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_docker.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_cpu_usage_docker.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_containerd_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_containerd_bytes.yaml index f21007714c..54b3a37f2f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_containerd_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_containerd_bytes.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_docker_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_docker_bytes.yaml index 8346c0a5fc..6c77ae4dd8 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_docker_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_memory_usage_docker_bytes.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_receive_bytes.yaml index aa348d411f..b17ee3488f 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_receive_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_receive_bytes.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_send_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_send_bytes.yaml index 872a6a97ee..a7aa5b9cbf 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_send_bytes.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_send_bytes.yaml @@ -44,10 +44,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -57,8 +57,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.py deleted file mode 100644 index ec4192e575..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.py +++ /dev/null @@ -1,46 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NamespaceNetworkTransmitBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cadvisor_job_name = tool_parameters.get('cadvisor_job_name') - cluster = tool_parameters.get('cluster') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 命名空间资源使用 - 命名空间的网络使用量 - 发送', - 'params': { - **({'cadvisor_job_name': cadvisor_job_name} if cadvisor_job_name else {}), - **({'cluster': cluster} if cluster else {}) - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.yaml deleted file mode 100644 index bb318ca3bf..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/namespace_network_transmit_bytes.yaml +++ /dev/null @@ -1,64 +0,0 @@ -identity: - name: 命名空间网络发送带宽(按命名空间统计) - author: APO - label: - en_US: Namespace network transmit bandwidth (aggregated by namespace) - zh_Hans: 命名空间网络发送带宽(按命名空间统计) -description: - human: - en_US: Namespace network transmit bandwidth (aggregated by namespace) - zh_Hans: 命名空间网络发送带宽(按命名空间统计) - llm: Namespace network transmit bandwidth (aggregated by namespace) -display: - type: metric - title: 集群总览 - 命名空间资源使用 - 命名空间的网络使用量 - 发送 - unit: "bytes" -parameters: - - name: cadvisor_job_name - type: string - required: False - label: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - human_description: - en_US: cAdvisor job name - zh_Hans: cAdvisor任务名称 - llm_description: cAdvisor job name - form: llm - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.py deleted file mode 100644 index e3ca16240b..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeCpuThrottleSecondsTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点CPU限流时长', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.yaml deleted file mode 100644 index 234445c2cc..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_throttle_seconds.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点CPU限流时长 - author: APO - label: - en_US: Node CPU throttling duration - zh_Hans: 节点CPU限流时长 -description: - human: - en_US: Node CPU throttling duration - zh_Hans: 节点CPU限流时长 - llm: Node CPU throttling duration -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点CPU限流时长 - unit: "s" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.py deleted file mode 100644 index 618c0bb3be..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeCpuUtilizationLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点CPU使用率 - Linux', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.yaml deleted file mode 100644 index d5014fa446..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_cpu_utilization_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: Linux节点CPU使用率 - author: APO - label: - en_US: Linux node CPU utilization rate - zh_Hans: Linux节点CPU使用率 -description: - human: - en_US: Linux node CPU utilization rate - zh_Hans: Linux节点CPU使用率 - llm: Linux node CPU utilization rate -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点CPU使用率 - Linux - unit: "percentunit" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.py deleted file mode 100644 index 3bf3949b37..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeLoopbackReceiveBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量(仅回环) - Received bytes in', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.yaml deleted file mode 100644 index 3a30f0f7b5..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_receive_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点回环网络接收带宽, 仅回环设备 - author: APO - label: - en_US: Node loopback network receive bandwidth (loopback devices only) - zh_Hans: 节点回环网络接收带宽, 仅回环设备 -description: - human: - en_US: Node loopback network receive bandwidth (loopback devices only) - zh_Hans: 节点回环网络接收带宽, 仅回环设备 - llm: Node loopback network receive bandwidth (loopback devices only) -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量(仅回环) - Received bytes in - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.py deleted file mode 100644 index 3e020ba92e..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeLoopbackTransmitBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量(仅回环) - Transmitted bytes in', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.yaml deleted file mode 100644 index 98eee7af16..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_loopback_transmit_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点回环网络发送带宽, 仅回环设备 - author: APO - label: - en_US: Node loopback network transmit bandwidth (loopback devices only) - zh_Hans: 节点回环网络发送带宽, 仅回环设备 -description: - human: - en_US: Node loopback network transmit bandwidth (loopback devices only) - zh_Hans: 节点回环网络发送带宽, 仅回环设备 - llm: Node loopback network transmit bandwidth (loopback devices only) -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量(仅回环) - Transmitted bytes in - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.py deleted file mode 100644 index 8b0608f33b..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeMemoryUsageLinuxTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点内存使用量 - Linux', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.yaml deleted file mode 100644 index d41a224ceb..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_memory_usage_linux.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: Linux节点内存使用字节数 - author: APO - label: - en_US: Linux node memory usage in bytes - zh_Hans: Linux节点内存使用字节数 -description: - human: - en_US: Linux node memory usage in bytes - zh_Hans: Linux节点内存使用字节数 - llm: Linux node memory usage in bytes -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点内存使用量 - Linux - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.py deleted file mode 100644 index d833944ebb..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeNetworkReceiveBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量 - 接收', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.yaml deleted file mode 100644 index 47bfb3ea2d..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点网络接收带宽 - author: APO - label: - en_US: Node network receive bandwidth - zh_Hans: 节点网络接收带宽 -description: - human: - en_US: Node network receive bandwidth - zh_Hans: 节点网络接收带宽 - llm: Node network receive bandwidth -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量 - 接收 - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.py deleted file mode 100644 index 6a7c55942d..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeNetworkReceiveExclVirtualBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量(不含回环/虚拟设备) - Received bytes in', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.yaml deleted file mode 100644 index d32b43e3a1..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_receive_excl_virtual_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点网络接收带宽(排除虚拟和回环设备) - author: APO - label: - en_US: Node network receive bandwidth (excluding virtual/loopback devices) - zh_Hans: 节点网络接收带宽(排除虚拟和回环设备) -description: - human: - en_US: Node network receive bandwidth (excluding virtual/loopback devices) - zh_Hans: 节点网络接收带宽(排除虚拟和回环设备) - llm: Node network receive bandwidth (excluding virtual/loopback devices) -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量(不含回环/虚拟设备) - Received bytes in - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.py deleted file mode 100644 index ea10e9b1fa..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeNetworkTransmitBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量 - 发送', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.yaml deleted file mode 100644 index abf8f8227e..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点网络发送带宽 - author: APO - label: - en_US: Node network transmit bandwidth - zh_Hans: 节点网络发送带宽 -description: - human: - en_US: Node network transmit bandwidth - zh_Hans: 节点网络发送带宽 - llm: Node network transmit bandwidth -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量 - 发送 - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.py b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.py deleted file mode 100644 index a26b1fe72b..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.py +++ /dev/null @@ -1,44 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - - -class NodeNetworkTransmitExclVirtualBytesTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - cluster = tool_parameters.get('cluster', '.*') - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '集群总览 - 节点资源使用 - 节点的网络使用量(不含回环/虚拟设备) - Transmitted bytes in', - 'params': { - 'cluster': cluster - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - 'timeseries': list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.yaml deleted file mode 100644 index 8e70e92805..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/node_network_transmit_excl_virtual_bytes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -identity: - name: 节点网络发送带宽(排除虚拟和回环设备) - author: APO - label: - en_US: Node network transmit bandwidth (excluding virtual/loopback devices) - zh_Hans: 节点网络发送带宽(排除虚拟和回环设备) -description: - human: - en_US: Node network transmit bandwidth (excluding virtual/loopback devices) - zh_Hans: 节点网络发送带宽(排除虚拟和回环设备) - llm: Node network transmit bandwidth (excluding virtual/loopback devices) -display: - type: metric - title: 集群总览 - 节点资源使用 - 节点的网络使用量(不含回环/虚拟设备) - Transmitted bytes in - unit: "bytes" -parameters: - - name: cluster - type: string - required: False - label: - en_US: Cluster name - zh_Hans: 集群名称 - human_description: - en_US: Cluster name - zh_Hans: 集群名称 - llm_description: Cluster name - form: llm - - name: startTime - type: number - required: true - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_instance.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_instance.yaml index 8c988f7c00..cb29180a10 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_instance.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_instance.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_monitor.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_monitor.yaml index 21439047f0..64a2971721 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_monitor.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_monitor.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_avg_resp.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_avg_resp.yaml index 3aa5ece683..6eaec64857 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_avg_resp.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_avg_resp.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_resp_ok.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_resp_ok.yaml index 56e11e6659..a8b5d610fb 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_resp_ok.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/originx_service_red_resp_ok.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/polar_process_all_resp.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/polar_process_all_resp.yaml index fa24e3ee5f..4b08599a23 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/polar_process_all_resp.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/polar_process_all_resp.yaml @@ -37,10 +37,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -50,8 +50,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.py b/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.py deleted file mode 100644 index 159f80d2aa..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.py +++ /dev/null @@ -1,43 +0,0 @@ -import json -from collections.abc import Generator -from typing import Any, Optional - -import requests - -from configs import dify_config -from core.tools.builtin_tool.tool import BuiltinTool -from core.tools.entities.tool_entities import ToolInvokeMessage -from libs.apo_utils import APOUtils - -class SelectCPUTool(BuiltinTool): - def _invoke( - self, - user_id: str, - tool_parameters: dict[str, Any], - conversation_id: Optional[str] = None, - app_id: Optional[str] = None, - message_id: Optional[str] = None, - ) -> Generator[ToolInvokeMessage, None, None]: - node = tool_parameters.get("node") - start_time = tool_parameters.get("startTime") - end_time = tool_parameters.get("endTime") - params = { - 'metricName': '宿主机监控指标 - Quick CPU / Mem / Disk - CPU Busy', - 'params': { - "node": node, - }, - 'startTime': start_time, - 'endTime': end_time, - 'step': APOUtils.get_step(start_time, end_time), - } - resp = requests.post(dify_config.APO_BACKEND_URL + '/api/metric/query', json=params) - list = resp.json()['result'] - list = json.dumps({ - 'type': 'metric', - 'display': True, - 'unit': list['unit'], - 'data': { - "timeseries": list['timeseries'] - } - }) - yield self.create_text_message(list) \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.yaml deleted file mode 100644 index 0141000299..0000000000 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/select_cpu.yaml +++ /dev/null @@ -1,57 +0,0 @@ -identity: - name: 查询主机CPU利用率 - author: APO - label: - en_US: Query the CPU utilization of the host - zh_Hans: 宿主机CPU繁忙率(百分比) - pt_BR: Query the CPU utilization of the host -description: - human: - en_US: Query the CPU utilization of the host - zh_Hans: 宿主机CPU繁忙率(百分比) - pt_BR: Query the CPU utilization of the host - llm: 宿主机CPU繁忙率(百分比) -display: - type: metric - title: 宿主机监控指标 - Quick CPU / Mem / Disk - CPU Busy - unit: percent(0-100)百分比 -parameters: - - name: node - type: string - required: false - label: - en_US: node - zh_Hans: node - pt_BR: node - human_description: - en_US: Specified host name - zh_Hans: 指定的主机名 - pt_BR: Specified host name - llm_description: Specified host name - form: llm - - name: startTime - type: number - required: false - label: - en_US: startTime - zh_Hans: startTime - pt_BR: startTime - human_description: - en_US: Data query start time - zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time - form: llm - - name: endTime - type: number - required: true - label: - en_US: endTime - zh_Hans: endTime - pt_BR: endTime - human_description: - en_US: Data query end time - zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time - form: llm \ No newline at end of file diff --git a/api/core/tools/builtin_tool/providers/apo_select/tools/topology.yaml b/api/core/tools/builtin_tool/providers/apo_select/tools/topology.yaml index 64f4286f2d..b746a3bad4 100644 --- a/api/core/tools/builtin_tool/providers/apo_select/tools/topology.yaml +++ b/api/core/tools/builtin_tool/providers/apo_select/tools/topology.yaml @@ -50,10 +50,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) - pt_BR: Data query start time - llm_description: Data query start time + pt_BR: Data query start time(Microsecond) + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -63,8 +63,8 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm \ No newline at end of file diff --git a/api/initializer/workflow.py b/api/initializer/workflow.py index 4ee31efc6e..85de2f39ed 100644 --- a/api/initializer/workflow.py +++ b/api/initializer/workflow.py @@ -1,6 +1,7 @@ import os import yaml import logging +import json from sqlalchemy.exc import SQLAlchemyError from services.app_dsl_service import AppDslService @@ -12,6 +13,7 @@ from models import App, ApiToken, Workflow, InstalledApp from contexts import tenant_id from configs.app_config import APOConfig from typing import Union +from sqlalchemy.dialects.postgresql import JSONB @initializer(priority=3) def init_workflow(): @@ -90,8 +92,12 @@ def _check_workflow_to_update(session, content, account) -> Union[str, bool, Non try: content_dict = yaml.safe_load(content) app_name = content_dict.get('app', {}).get('name') - graph = content_dict.get('workflow', {}).get('graph') - features = content_dict.get('workflow', {}).get('features') + graph = json.dumps( + content_dict.get('workflow', {}).get('graph'), + sort_keys=True) + features = json.dumps( + content_dict.get('workflow', {}).get('features'), + sort_keys=True) app_model = ( session.query(App) @@ -106,19 +112,23 @@ def _check_workflow_to_update(session, content, account) -> Union[str, bool, Non if not app_model: return None - workflow = ( + workflows = ( session.query(Workflow) - .filter( - Workflow.graph == graph, - Workflow.features == features, - ) - .first() + .filter(Workflow.app_id == app_model.id) + .all() ) - if workflow: - return False - else: + to_update = True + + for w in workflows: + if graph == w.graph and features == w.features: + to_update = False + break + + if to_update: return app_model.id + else: + return False except Exception as e: logging.error(f"Failed to check workflow: {str(e)}") diff --git a/api/tools_generator/templates.py b/api/tools_generator/templates.py index 2a9786916e..10bc8f038a 100644 --- a/api/tools_generator/templates.py +++ b/api/tools_generator/templates.py @@ -23,10 +23,10 @@ parameters: zh_Hans: startTime pt_BR: startTime human_description: - en_US: Data query start time + en_US: Data query start time(Microsecond) zh_Hans: 开始时间 (微秒) pt_BR: Data query start time - llm_description: Data query start time + llm_description: Data query start time(Microsecond) form: llm - name: endTime type: number @@ -36,10 +36,10 @@ parameters: zh_Hans: endTime pt_BR: endTime human_description: - en_US: Data query end time + en_US: Data query end time(Microsecond) zh_Hans: 结束时间 (微秒) - pt_BR: Data query end time - llm_description: Data query start time + pt_BR: Data query end time(Microsecond) + llm_description: Data query end time(Microsecond) form: llm """ diff --git a/api/workflows/en/Container CPU usage analysis.yml b/api/workflows/en/Container CPU usage analysis.yml new file mode 100644 index 0000000000..46c7f21426 --- /dev/null +++ b/api/workflows/en/Container CPU usage analysis.yml @@ -0,0 +1,684 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Container CPU usage analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1742544447442-source-1742544615331-target + selected: false + source: '1742544447442' + sourceHandle: source + target: '1742544615331' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742544615331-false-1742544602116-target + selected: false + source: '1742544615331' + sourceHandle: 'false' + target: '1742544602116' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742544615331-true-1742544596775-target + selected: false + source: '1742544615331' + sourceHandle: 'true' + target: '1742544596775' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742544596775-source-1742544844516-target + selected: false + source: '1742544596775' + sourceHandle: source + target: '1742544844516' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742544602116-source-1742544844516-target + selected: false + source: '1742544602116' + sourceHandle: source + target: '1742544844516' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742544844516-source-1742548125977-target + selected: false + source: '1742544844516' + sourceHandle: source + target: '1742548125977' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742548125977-source-1742545032360-target + source: '1742548125977' + sourceHandle: source + target: '1742545032360' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: Container runtime type(containered or docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + - label: cAdvisor Job name + max_length: 48 + options: [] + required: false + type: text-input + variable: cadvisor_job + - label: Namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: Pod name + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: Threshold + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 245 + id: '1742544447442' + position: + x: 42.8575698426215 + y: 287.52904760035375 + positionAbsolute: + x: 42.8575698426215 + y: 287.52904760035375 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1742544447442.cadvisor_job#}}' + endTime: + type: variable + value: + - '1742544447442' + - end_time + namespace: + type: mixed + value: '{{#1742544447442.namespace#}}' + pod: + type: mixed + value: '{{#1742544447442.pod#}}' + startTime: + type: variable + value: + - '1742544447442' + - start_time + type: tool + height: 53 + id: '1742544596775' + position: + x: 645.511423939121 + y: 271.4731107508206 + positionAbsolute: + x: 645.511423939121 + y: 271.4731107508206 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_name: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1742544447442.cadvisor_job#}}' + endTime: + type: variable + value: + - '1742544447442' + - end_time + namespace: + type: mixed + value: '{{#1742544447442.namespace#}}' + pod: + type: mixed + value: '{{#1742544447442.pod#}}' + startTime: + type: variable + value: + - '1742544447442' + - start_time + type: tool + height: 53 + id: '1742544602116' + position: + x: 645.511423939121 + y: 358.78247478209 + positionAbsolute: + x: 645.511423939121 + y: 358.78247478209 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: 0d7b487d-778b-4456-a523-911ec27789ec + value: containered + varType: string + variable_selector: + - '1742544447442' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742544615331' + position: + x: 333.78563786147083 + y: 287.52904760035375 + positionAbsolute: + x: 333.78563786147083 + y: 287.52904760035375 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742544602116' + - text + - - '1742544596775' + - text + height: 128 + id: '1742544844516' + position: + x: 972.4274666755517 + y: 312.5996979050388 + positionAbsolute: + x: 972.4274666755517 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742548125977' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742545032360' + position: + x: 1733.7835311915119 + y: 312.5996979050388 + positionAbsolute: + x: 1733.7835311915119 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: c8f8941d-d686-4e61-9b53-ad2501b008f5 + role: system + text: You are an intelligent assistant. Please help the user analyze the + logs to check for any potential issues. + - id: 22c763a6-b080-4ac7-b2fa-3c10a8df5a93 + role: user + text: "# Purpose \nAnalyze whether there are abnormalities in the CPU usage\ + \ rate of the container **{{#1742544447442.pod#}}** based on metric data.\ + \ \n\n# Analysis Process \n1. **Review Raw Data** \n Examine the\ + \ metric data **{{#1742544844516.output#}}** to obtain the container’s\ + \ CPU usage rate. \n2. **Analyze Trend of Related Metrics** \n If\ + \ the user has provided a threshold **{{#1742544447442.threshold#}}**,\ + \ compare it with the values in the metric data. If no threshold is provided,\ + \ select an appropriate value for comparison. \n3. **Conclusion** \n\ + \ Highlight abrupt changes in abnormal time periods based on the comparison.\ + \ For example: \n *\"CPU usage anomalies were detected in container\ + \ **{{#1742544447442.pod#}}** from [start time] to [end time], surging\ + \ from [initial value] to [final value].\"* \n\n# Output \nAnalysis\ + \ Result of CPU Anomalies for Container **{{#1742544447442.pod#}}**" + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742548125977' + position: + x: 1328.5577845817636 + y: 312.5996979050388 + positionAbsolute: + x: 1328.5577845817636 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 110.4578179515006 + y: 140.38962644919235 + zoom: 0.4352752816480622 diff --git a/api/workflows/en/Container memory analysis.yml b/api/workflows/en/Container memory analysis.yml new file mode 100644 index 0000000000..2bf24d679b --- /dev/null +++ b/api/workflows/en/Container memory analysis.yml @@ -0,0 +1,680 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Container memory analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + selected: false + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1741075107082-source-1742545677987-target + source: '1741075107082' + sourceHandle: source + target: '1742545677987' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742545677987-true-1742545657374-target + source: '1742545677987' + sourceHandle: 'true' + target: '1742545657374' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742545677987-false-1742545659582-target + source: '1742545677987' + sourceHandle: 'false' + target: '1742545659582' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742545657374-source-1742545685376-target + source: '1742545657374' + sourceHandle: source + target: '1742545685376' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742545659582-source-1742545685376-target + source: '1742545659582' + sourceHandle: source + target: '1742545685376' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742545685376-source-1741075304942-target + source: '1742545685376' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: Namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: Threshold + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + - label: 'cAdvisor Job ' + max_length: 48 + options: [] + required: false + type: text-input + variable: cadvisor_job + - label: Container runtime type(containered or docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + height: 245 + id: '1741075107082' + position: + x: 78.57939773674809 + y: 282 + positionAbsolute: + x: 78.57939773674809 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: 6b60b170-dd6b-4915-afe7-bf701e6350ba + role: user + text: "# Purpose \nAnalyze whether there are memory anomalies based on\ + \ metric data. \n\n# Analysis Process \n1. **Review Raw Data** \n \ + \ Examine the metric data **{{#1742545685376.output#}}** to retrieve\ + \ the container’s memory usage trends. \n2. **Analyze Trend of Related\ + \ Metrics** \n If the user has provided a threshold **{{#1741075107082.threshold#}}**,\ + \ compare it with the metric data. If no threshold is provided, select\ + \ an appropriate value for comparison. \n3. **Conclusion** \n Highlight\ + \ abrupt changes in abnormal time periods based on the comparison. For\ + \ example: \n *\"Memory anomalies were detected in container **{{#1741075107082.pod#}}**\ + \ from [start time] to [end time], spiking from [initial value] to [final\ + \ value].\"* \n\n# Output \nAnalysis Result of Memory Anomalies for\ + \ Container **{{#1741075107082.pod#}}**" + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 1406.8158608695485 + y: 273.4763864204887 + positionAbsolute: + x: 1406.8158608695485 + y: 273.4763864204887 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: true + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 1763.3781446098683 + y: 273.4763864204887 + positionAbsolute: + x: 1763.3781446098683 + y: 273.4763864204887 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1741075107082.cadvisor_job#}}' + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742545657374' + position: + x: 720.4273753696995 + y: 267.79397736748115 + positionAbsolute: + x: 720.4273753696995 + y: 267.79397736748115 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_name: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1741075107082.cadvisor_job#}}' + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742545659582' + position: + x: 720.4273753696995 + y: 361.96197062628374 + positionAbsolute: + x: 720.4273753696995 + y: 361.96197062628374 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: acbc342a-eaa1-483e-8cd8-e6ba03a3815e + value: containered + varType: string + variable_selector: + - '1741075107082' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742545677987' + position: + x: 405.0536729277826 + y: 282 + positionAbsolute: + x: 405.0536729277826 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742545659582' + - text + - - '1742545657374' + - text + height: 128 + id: '1742545685376' + position: + x: 1055.6895094971433 + y: 282 + positionAbsolute: + x: 1055.6895094971433 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -500.10171675872107 + y: 150.21920272571305 + zoom: 0.5743491774985183 diff --git a/api/workflows/en/Host CPU IO Wait.yml b/api/workflows/en/Host CPU IO Wait.yml new file mode 100644 index 0000000000..cad3cd436a --- /dev/null +++ b/api/workflows/en/Host CPU IO Wait.yml @@ -0,0 +1,328 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Host CPU IO Wait + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742548374719-source-1742548431447-target + source: '1742548374719' + sourceHandle: source + target: '1742548431447' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742548431447-source-1742548501572-target + source: '1742548431447' + sourceHandle: source + target: '1742548501572' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742548501572-source-1742548523246-target + source: '1742548501572' + sourceHandle: source + target: '1742548523246' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: Node name + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + height: 141 + id: '1742548374719' + position: + x: 76.04147626768133 + y: 289 + positionAbsolute: + x: 76.04147626768133 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机IO等待CPU繁忙率 + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1742548374719' + - end_time + node: + type: mixed + value: '{{#1742548374719.node_name#}}' + startTime: + type: variable + value: + - '1742548374719' + - start_time + type: tool + height: 53 + id: '1742548431447' + position: + x: 411.9416519259926 + y: 289 + positionAbsolute: + x: 411.9416519259926 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 55d3d7b6-b59d-4bc2-a9b6-9fa7da663781 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: facc911f-4cc8-42fb-91b3-e0e3b4d9f062 + role: user + text: "# Purpose \nAnalyze whether there are abnormalities in the CPU I/O\ + \ Wait of the host **{{#1742548374719.node_name#}}** based on metric data.\ + \ \n\n# Analysis Process \n1. **Review Raw Data** \n Examine the\ + \ metric data **{{#1742548431447.text#}}**. \n2. **Analyze Trend of Related\ + \ Metrics** \n If a network RTT threshold is provided by the user,\ + \ compare it with the RTT values in the metric data. If not provided,\ + \ select an appropriate value for comparison. \n3. **Conclusion** \n\ + \ Highlight abrupt changes in abnormal time periods based on the comparison.\ + \ For example: \n *\"The CPU I/O Wait for host **{{#1742548374719.node_name#}}**\ + \ showed anomalies from [start time] to [end time], surging from [initial\ + \ value] to [final value].\"* \n\n# Output \nAnalysis Result of CPU\ + \ I/O Wait Anomalies for Host **{{#1742548374719.node_name#}}**" + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742548501572' + position: + x: 744.4313155830969 + y: 289 + positionAbsolute: + x: 744.4313155830969 + y: 289 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742548501572' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742548523246' + position: + x: 1076.947309097866 + y: 289 + positionAbsolute: + x: 1076.947309097866 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -38.6971565499864 + y: 70.65442674656634 + zoom: 0.5743491774985175 diff --git a/api/workflows/en/Host CPU usage analysis.yml b/api/workflows/en/Host CPU usage analysis.yml new file mode 100644 index 0000000000..f87ef0632e --- /dev/null +++ b/api/workflows/en/Host CPU usage analysis.yml @@ -0,0 +1,827 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Host CPU usage analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1740104897746-source-1740015067036-target + selected: false + source: '1740104897746' + sourceHandle: source + target: '1740015067036' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740015029630-source-1742540820426-target + selected: false + source: '1740015029630' + sourceHandle: source + target: '1742540820426' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742540820426-source-1740104897746-target + selected: false + source: '1742540820426' + sourceHandle: source + target: '1740104897746' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1740015029630-source-1742549684668-target + source: '1740015029630' + sourceHandle: source + target: '1742549684668' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742549684668-false-1742549705555-target + source: '1742549684668' + sourceHandle: 'false' + target: '1742549705555' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742549684668-true-1742549701553-target + source: '1742549684668' + sourceHandle: 'true' + target: '1742549701553' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742549701553-source-1742549728352-target + source: '1742549701553' + sourceHandle: source + target: '1742549728352' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742549705555-source-1742549728352-target + source: '1742549705555' + sourceHandle: source + target: '1742549728352' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742549728352-source-1740104897746-target + selected: false + source: '1742549728352' + sourceHandle: source + target: '1740104897746' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Node name + max_length: 48 + options: [] + required: false + type: text-input + variable: nodeName + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: Prometheus Job + max_length: 48 + options: [] + required: false + type: text-input + variable: prometheus_job + - label: Container runtime type(containered or docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + height: 193 + id: '1740015029630' + position: + x: -78.57142857142856 + y: 284 + positionAbsolute: + x: -78.57142857142856 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740104897746' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1740015067036' + position: + x: 1448.1754605102717 + y: 290.5639905999831 + positionAbsolute: + x: 1448.1754605102717 + y: 290.5639905999831 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: e4014d51-74b3-4178-b332-e6ba6f3ac429 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: 09d0cef1-48c4-438a-8104-4cf1ef50c3b5 + role: user + text: "# Purpose \nAnalyze the CPU usage of host **{{#1740015029630.nodeName#}}**\ + \ based on metric data. \n\n# Analysis Process \n1. **Review Raw Data**\ + \ \n Examine the host CPU usage metric **{{#1742540820426.text#}}**\ + \ and the CPU usage rate of containers within the cluster **{{#1742549728352.output#}}**.\ + \ \n2. **Analyze Trend of Related Metrics** \n First, extract containers\ + \ running on the host **{{#1740015029630.nodeName#}}**, then analyze anomalies\ + \ in the host’s CPU usage during the same period. Combine this with container\ + \ CPU usage data to identify potential root causes of host CPU anomalies.\ + \ \n3. **Conclusion** \n Highlight abrupt changes in abnormal time\ + \ periods and possible causes based on the analysis. For example: \n\ + \ *\"CPU anomalies were detected in host **{{#1740015029630.nodeName#}}**\ + \ from [start time] to [end time]. Potential cause: [specific reason].\"\ + * \n\n# Output \nAnalysis of CPU Usage for Host **{{#1740015029630.nodeName#}}**:" + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740104897746' + position: + x: 1127.6065641419884 + y: 290.5639905999831 + positionAbsolute: + x: 1127.6065641419884 + y: 290.5639905999831 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机CPU压力 + tool_configurations: {} + tool_label: 查询宿主机CPU压力 + tool_name: 查询宿主机CPU压力 + tool_parameters: + endTime: + type: variable + value: + - '1740015029630' + - endTime + job: + type: mixed + value: '{{#1740015029630.prometheus_job#}}' + node: + type: mixed + value: '{{#1740015029630.nodeName#}}' + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742540820426' + position: + x: 256.0040597338176 + y: 284 + positionAbsolute: + x: 256.0040597338176 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: 69c0e031-6820-4b42-89d2-01d9d78068d0 + value: containered + varType: string + variable_selector: + - '1740015029630' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742549684668' + position: + x: 243.50131321982803 + y: 430.38350603407144 + positionAbsolute: + x: 243.50131321982803 + y: 430.38350603407144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '' + endTime: + type: variable + value: + - '1740015029630' + - endTime + namespace: + type: mixed + value: '' + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742549701553' + position: + x: 530.6350866347744 + y: 430.38350603407144 + positionAbsolute: + x: 530.6350866347744 + y: 430.38350603407144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_name: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1740015029630' + - endTime + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742549705555' + position: + x: 530.6350866347744 + y: 503.82644836325954 + positionAbsolute: + x: 530.6350866347744 + y: 503.82644836325954 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742549705555' + - text + - - '1742549701553' + - text + height: 128 + id: '1742549728352' + position: + x: 827.9613470371493 + y: 436.67711431399334 + positionAbsolute: + x: 827.9613470371493 + y: 436.67711431399334 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 69.99234995254068 + y: 88.66600382892216 + zoom: 0.5305007982786396 diff --git a/api/workflows/en/Host disk usage.yml b/api/workflows/en/Host disk usage.yml new file mode 100644 index 0000000000..8014d776d8 --- /dev/null +++ b/api/workflows/en/Host disk usage.yml @@ -0,0 +1,327 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Host disk usage + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742548736120-source-1742548763699-target + source: '1742548736120' + sourceHandle: source + target: '1742548763699' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742548763699-source-1742549014473-target + source: '1742548763699' + sourceHandle: source + target: '1742549014473' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742549014473-source-1742549028365-target + source: '1742549014473' + sourceHandle: source + target: '1742549028365' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Node name + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + height: 141 + id: '1742548736120' + position: + x: 72.08295253536267 + y: 282 + positionAbsolute: + x: 72.08295253536267 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘使用率(百分比,不含rootfs) + tool_configurations: {} + tool_label: 宿主机磁盘使用率(百分比,不含rootfs) + tool_name: 宿主机磁盘使用率(百分比,不含rootfs) + tool_parameters: + endTime: + type: variable + value: + - '1742548736120' + - end_time + node: + type: mixed + value: '{{#1742548736120.node_name#}}' + startTime: + type: variable + value: + - '1742548736120' + - start_time + type: tool + height: 53 + id: '1742548763699' + position: + x: 387 + y: 282 + positionAbsolute: + x: 387 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 3dee2638-1569-47be-a5ac-db155a932893 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: d7721625-d3dc-4c04-97f1-dbd59b9bff9a + role: user + text: "**# Purpose** \nAnalyze the disk usage of the host machine `{{#1742548736120.node_name#}}`\ + \ based on metric data and provide recommendations. \n\n**# Analysis\ + \ Process** \n1. **View Raw Data** \n Inspect the metric data `{{#1742548763699.text#}}`.\ + \ \n2. **Observe Trends of Related Metrics** \n If the user provides\ + \ a network RTT threshold, compare it with the RTT time in the metric\ + \ data. If not, select an appropriate value for comparison. \n3. **Draw\ + \ Conclusions** \n Based on the comparison results, display the changes\ + \ in abrupt values during abnormal time periods. For example, \"Host `xx`\ + \ experienced an anomaly during `xx-xx`, with a sudden change from `xx`\ + \ to `xx`.\" \n\n**# Output** \nDisk anomaly analysis results for the\ + \ host `{{#1742548736120.node_name#}}`. \n" + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742549014473' + position: + x: 693.279103229957 + y: 282 + positionAbsolute: + x: 693.279103229957 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742549014473' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742549028365' + position: + x: 1009.9610018154515 + y: 282 + positionAbsolute: + x: 1009.9610018154515 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 80.31268252787203 + y: 123.95956188985468 + zoom: 0.49999999999999994 diff --git a/api/workflows/en/Host memory analysis.yml b/api/workflows/en/Host memory analysis.yml new file mode 100644 index 0000000000..a36cda4a9a --- /dev/null +++ b/api/workflows/en/Host memory analysis.yml @@ -0,0 +1,534 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Host memory analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742546426270-source-1742546452789-target + source: '1742546426270' + sourceHandle: source + target: '1742546452789' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742546426270-source-1742546457440-target + source: '1742546426270' + sourceHandle: source + target: '1742546457440' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742546452789-source-1742546481644-target + source: '1742546452789' + sourceHandle: source + target: '1742546481644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742546457440-source-1742546481644-target + source: '1742546457440' + sourceHandle: source + target: '1742546481644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742546481644-source-1742546671231-target + source: '1742546481644' + sourceHandle: source + target: '1742546671231' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: Prometheus Job + max_length: 48 + options: [] + required: false + type: text-input + variable: prometheus_job + - label: Node name + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + - label: Threshold + max_length: 48 + options: [] + required: true + type: number + variable: threshold + height: 193 + id: '1742546426270' + position: + x: 70 + y: 313 + positionAbsolute: + x: 70 + y: 313 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机RAM使用率 + tool_configurations: {} + tool_label: 查询宿主机RAM使用率 + tool_name: 查询宿主机RAM使用率 + tool_parameters: + endTime: + type: variable + value: + - '1742546426270' + - end_time + job: + type: mixed + value: '{{#1742546426270.prometheus_job#}}' + node: + type: mixed + value: '{{#1742546426270.node_name#}}' + startTime: + type: variable + value: + - '1742546426270' + - end_time + type: tool + height: 53 + id: '1742546452789' + position: + x: 419 + y: 277 + positionAbsolute: + x: 419 + y: 277 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机RAM总大小 + tool_configurations: {} + tool_label: 查询宿主机RAM总大小 + tool_name: 查询宿主机RAM总大小 + tool_parameters: + endTime: + type: variable + value: + - '1742546426270' + - end_time + job: + type: mixed + value: '{{#1742546426270.prometheus_job#}}' + node: + type: mixed + value: '{{#1742546426270.node_name#}}' + startTime: + type: variable + value: + - '1742546426270' + - start_time + type: tool + height: 53 + id: '1742546457440' + position: + x: 419 + y: 384 + positionAbsolute: + x: 419 + y: 384 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fa3330e1-30ec-4355-b5ee-ed175aebee07 + role: system + text: You are an intelligent assistant. Please help the user analyze the + logs to check for any potential issues. + - id: a8b12002-eb47-4fa7-a81a-035ce69decc5 + role: user + text: "# Purpose \nAnalyze whether there are memory anomalies in the host\ + \ **{{#1742546426270.node_name#}}** based on metric data. \n\n# Analysis\ + \ Process \n1. **Review Raw Data** \n Examine the metric data **{{#1742546452789.text#}}**\ + \ and **{{#1742546457440.text#}}** to obtain the host's memory usage rate\ + \ and total memory size. \n2. **Analyze Trend of Related Metrics** \n\ + \ If the user has provided a threshold **{{#1742546426270.threshold#}}**,\ + \ compare it with the memory usage rate **{{#1742546452789.text#}}**.\ + \ If no threshold is provided, select an appropriate value for comparison.\ + \ \n3. **Conclusion** \n Highlight abrupt changes in abnormal time\ + \ periods based on the comparison. For example: \n *\"Memory anomalies\ + \ were detected in host **{{#1742546426270.node_name#}}** from [start\ + \ time] to [end time], spiking from [initial value] to [final value].\"\ + * \n\n# Output \nAnalysis Result of Memory Anomalies for Host **{{#1742546426270.node_name#}}**" + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742546481644' + position: + x: 838.1041129274082 + y: 323.8391939960704 + positionAbsolute: + x: 838.1041129274082 + y: 323.8391939960704 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742546481644' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742546671231' + position: + x: 1194.5045972085811 + y: 323.8391939960704 + positionAbsolute: + x: 1194.5045972085811 + y: 323.8391939960704 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -154.6051712912406 + y: 20.397496672184502 + zoom: 0.7578582832551992 diff --git a/api/workflows/en/Log analysis.yml b/api/workflows/en/Log analysis.yml new file mode 100644 index 0000000000..3dd96ed973 --- /dev/null +++ b/api/workflows/en/Log analysis.yml @@ -0,0 +1,316 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Log analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1740647123944-source-1740550714241-target + source: '1740647123944' + sourceHandle: source + target: '1740550714241' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740548057126-source-1741576642510-target + source: '1740548057126' + sourceHandle: source + target: '1741576642510' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1741576642510-source-1740647123944-target + source: '1741576642510' + sourceHandle: source + target: '1740647123944' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Service Name + max_length: 48 + options: [] + required: true + type: text-input + variable: service + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + height: 141 + id: '1740548057126' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740647123944' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1740550714241' + position: + x: 988 + y: 282 + positionAbsolute: + x: 988 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 0174ee2d-822e-42af-a8e6-a70c2742ef87 + role: system + text: You are an intelligent assistant. Please help the user analyze the + logs to check for any potential issues. + - id: 288b0c83-5288-42fb-9ca8-ad35e37f08c0 + role: user + text: Here are the logs from the specified time period {{#1741576642510.text#}}. + Please help summarize the exception occurrences in the logs. + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740647123944' + position: + x: 687.0472902605677 + y: 282 + positionAbsolute: + x: 687.0472902605677 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: service name + ja_JP: service name + pt_BR: service name + zh_Hans: 查询的日志服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询服务日志数据 + tool_configurations: {} + tool_label: 查询服务日志数据 + tool_name: 查询服务日志数据 + tool_parameters: + endTime: + type: variable + value: + - '1740548057126' + - endTime + service: + type: mixed + value: '{{#1740548057126.service#}}' + startTime: + type: variable + value: + - '1740548057126' + - startTime + type: tool + height: 53 + id: '1741576642510' + position: + x: 384 + y: 282 + positionAbsolute: + x: 384 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -336.5210134696184 + y: -51.41093641424487 + zoom: 0.9137626364719462 diff --git a/api/workflows/en/Network anomalies analysis.yml b/api/workflows/en/Network anomalies analysis.yml new file mode 100644 index 0000000000..a33b1d8fa9 --- /dev/null +++ b/api/workflows/en/Network anomalies analysis.yml @@ -0,0 +1,370 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Network anomalies analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + selected: false + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741075107082-source-1742526484280-target + source: '1741075107082' + sourceHandle: source + target: '1742526484280' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742526484280-source-1741075304942-target + source: '1742526484280' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: Pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: Namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: Threshold + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 193 + id: '1741075107082' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: 4afae74e-f76e-40df-aa51-e0b73ea5cc7c + role: user + text: "# Purpose \nAnalyze whether there are network anomalies for **{{#1741075107082.pod#}}**\ + \ based on metric data. \n\n# Analysis Process \n1. **Review Raw Data**\ + \ \n Examine the metric data **{{#1742526484280.text#}}** to retrieve\ + \ the downstream network Round-Trip Time (RTT) for the Pod. \n2. **Analyze\ + \ Trend of Related Metrics** \n If the user has provided a network\ + \ RTT threshold **{{#1741075107082.threshold#}}**, compare it with the\ + \ RTT values in the metric data **{{#1742526484280.text#}}**. If no threshold\ + \ is provided, select an appropriate value for comparison. \n3. **Conclusion**\ + \ \n Highlight abrupt changes in abnormal time periods based on the\ + \ comparison. For example: \n *\"Network anomalies were detected in\ + \ Pod **{{#1741075107082.pod#}}** from [start time] to [end time], with\ + \ RTT surging from [initial value] to [final value].\"* \n\n# Output\ + \ \nAnalysis Result of Network Anomalies for Container **{{#1741075107082.pod#}}**" + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 680.1938546436463 + y: 282 + positionAbsolute: + x: 680.1938546436463 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 992.4771121801355 + y: 282 + positionAbsolute: + x: 992.4771121801355 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742526484280' + position: + x: 381.76254987897516 + y: 282 + positionAbsolute: + x: 381.76254987897516 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 234.34228733775194 + y: 72.11959428262679 + zoom: 0.7039267963088532 diff --git a/api/workflows/en/Service alert event.yml b/api/workflows/en/Service alert event.yml new file mode 100644 index 0000000000..0ef1519626 --- /dev/null +++ b/api/workflows/en/Service alert event.yml @@ -0,0 +1,358 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: Service alert event + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741075107082-source-1742537242313-target + source: '1741075107082' + sourceHandle: source + target: '1742537242313' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742537242313-source-1741075304942-target + source: '1742537242313' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: Query start time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: Query end time(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: Service name + max_length: 48 + options: [] + required: false + type: text-input + variable: service + - label: Endpoint + max_length: 48 + options: [] + required: false + type: text-input + variable: endpoint + height: 167 + id: '1741075107082' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: You function as an intelligent observability assistant with domain + expertise in log/metric/trace correlation analysis. Your primary task + is to methodically examine provided telemetry data and determine if operational + abnormalities requiring intervention exist. + - id: 924b8b02-39cd-4dfc-bcbc-f97752d75ac4 + role: user + text: "# Purpose \nAnalyze whether there are network anomalies based on\ + \ metric data. \n\n# Analysis Process \n1. **Review Raw Data** \n \ + \ Examine the metric data to retrieve the downstream network Round-Trip\ + \ Time (RTT) for the Pod. \n2. **Analyze Trend of Related Metrics** \ + \ \n If the user has provided a network RTT threshold, compare it with\ + \ the RTT values in the metric data. If no threshold is provided, select\ + \ an appropriate value for comparison. \n3. **Conclusion** \n Highlight\ + \ abrupt changes in abnormal time periods based on the comparison. For\ + \ example: \n *\"Network anomalies were detected in Pod **{{#pod#}}**\ + \ from [start time] to [end time], with RTT surging from [initial value]\ + \ to [final value].\"* \n\n# Output \nAnalysis Result of Network Anomalies\ + \ for Container" + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 906.7638642048873 + y: 282 + positionAbsolute: + x: 906.7638642048873 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 1286.0557841572368 + y: 282 + positionAbsolute: + x: 1286.0557841572368 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: entry service + ja_JP: entry service + pt_BR: entry service + zh_Hans: 拓扑入口服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: toplogy service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: toplogy endpoint + ja_JP: toplogy endpoint + pt_BR: toplogy endpoint + zh_Hans: 拓扑入口服务端点 + label: + en_US: endpoint + ja_JP: endpoint + pt_BR: endpoint + zh_Hans: endpoint + llm_description: toplogy endpoint + max: null + min: null + name: endpoint + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + endpoint: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询入口服务告警事件 + tool_configurations: {} + tool_label: 查询入口服务告警事件 + tool_name: alert + tool_parameters: + endTime: + type: constant + value: 1742537133321000 + endpoint: + type: mixed + value: '{{#1741075107082.endpoint#}}' + service: + type: mixed + value: '{{#1741075107082.service#}}' + startTime: + type: constant + value: 1742535932000000 + type: tool + height: 53 + id: '1742537242313' + position: + x: 467.4980580862814 + y: 282 + positionAbsolute: + x: 467.4980580862814 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -56.33206501951105 + y: 98.84575870839586 + zoom: 0.5334767533879596 diff --git a/api/workflows/en/alert events topology root cause analysis.yml b/api/workflows/en/alert events topology root cause analysis.yml new file mode 100644 index 0000000000..0dfe52e9ca --- /dev/null +++ b/api/workflows/en/alert events topology root cause analysis.yml @@ -0,0 +1,1462 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: alert events topology root cause analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1740103457500-source-1740483937644-target + source: '1740103457500' + sourceHandle: source + target: '1740483937644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1740483937644-source-1740620413020-target + source: '1740483937644' + sourceHandle: source + target: '1740620413020' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620413020-source-1740619353044-target + selected: false + source: '1740620413020' + sourceHandle: source + target: '1740619353044' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 1740619353044-source-1740620917572-target + source: '1740619353044' + sourceHandle: source + target: '1740620917572' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620917572-source-17406208202230-target + source: '1740620917572' + sourceHandle: source + target: '17406208202230' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406208202230-source-1740620994135-target + source: '17406208202230' + sourceHandle: source + target: '1740620994135' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620994135-source-17406208182010-target + source: '1740620994135' + sourceHandle: source + target: '17406208182010' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406208182010-source-1740621003098-target + source: '17406208182010' + sourceHandle: source + target: '1740621003098' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740621003098-source-17406213332120-target + source: '1740621003098' + sourceHandle: source + target: '17406213332120' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: llm + id: 17406213332120-source-17406213642580-target + source: '17406213332120' + sourceHandle: source + target: '17406213642580' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406213642580-source-1740991358287-target + source: '17406213642580' + sourceHandle: source + target: '1740991358287' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: end + id: 1740991358287-source-1740031015432-target + source: '1740991358287' + sourceHandle: source + target: '1740031015432' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740030989850-source-1741576377961-target + source: '1740030989850' + sourceHandle: source + target: '1741576377961' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1741576377961-source-1740103457500-target + source: '1741576377961' + sourceHandle: source + target: '1740103457500' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - label: service + max_length: 48 + options: [] + required: true + type: text-input + variable: service + - label: endpoint + max_length: 48 + options: [] + required: true + type: text-input + variable: endpoint + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + height: 167 + id: '1740030989850' + position: + x: -179.81475539997666 + y: 216.6370137480357 + positionAbsolute: + x: -179.81475539997666 + y: 216.6370137480357 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740991358287' + - text + variable: text + - value_selector: + - '1740991358287' + - json + variable: json + selected: false + title: End + type: end + height: 115 + id: '1740031015432' + position: + x: 2821.3783011999635 + y: 486.25205395404754 + positionAbsolute: + x: 2821.3783011999635 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: query entry service topology alert events + tool_configurations: {} + tool_label: 获取当前入口拓扑的告警事件 + tool_name: alert + tool_parameters: + endTime: + type: variable + value: + - '1740030989850' + - endTime + end_time: + type: variable + value: + - '1740030989850' + - startTime + endpoint: + type: mixed + value: '{{#1740030989850.endpoint#}}' + service: + type: mixed + value: '{{#1740030989850.service#}}' + startTime: + type: variable + value: + - '1740030989850' + - startTime + start_time: + type: variable + value: + - '1740030989850' + - startTime + type: tool + height: 53 + id: '1740103457500' + position: + x: 181.23066933933768 + y: 381.7053247659096 + positionAbsolute: + x: 181.23066933933768 + y: 381.7053247659096 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: Correlate topology and alarms + tool_configurations: {} + tool_label: 关联拓扑和告警数据 + tool_name: alert_associate + tool_parameters: + alertData: + type: mixed + value: '{{#1740103457500.text#}}' + alert_data: + type: mixed + value: '{{#1740103457500.text#}}' + topologyData: + type: mixed + value: '{{#1741576377961.text#}}' + topology_data: + type: mixed + value: '{{#1740832825737.text#}}' + type: tool + height: 53 + id: '1740483937644' + position: + x: 473.3676055728321 + y: 231.9640710593971 + positionAbsolute: + x: 473.3676055728321 + y: 231.9640710593971 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: You are an intelligent reasoning assistant. Your task is to analyze + the root cause nodes according to the data and rules provided by the user. + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#background#\n Here is a microservice topology diagram with node\ + \ names at each layer. Upper-layer nodes and lower-layer nodes form upstream\ + \ and downstream relationships, where the upstream calls the downstream.\ + \ Please remember the topology structure based on the provided data.\n\ + \ #attention#\n topology data information:\n 1.The number at\ + \ the beginning of each node name indicates its layer. For example, a\ + \ node with the number \"0\" is the entry service node. The larger the\ + \ number, the deeper the layer. For non-entry nodes, the first node with\ + \ a smaller number upwards is considered its upstream node.\n 2.A node\ + \ may have multiple downstream nodes and may also be called by multiple\ + \ upstream nodes. Please do not overlook any nodes.\n 3.Do not create\ + \ non-existent upstream-downstream relationships, do not reverse the relationships,\ + \ and do not miss any upstream-downstream calls. There should be no loops\ + \ in the topology structure, and do not introduce any unrelated concepts.\n\ + \ 4.Node names are relatively long, so do not abbreviate them (do not\ + \ include layer information such as \"1--\" at the beginning of the node\ + \ name).\n The topology data will be provided later.\n #output#\n\ + \ The topology data information has been memorized. Please respond\ + \ concisely.\n" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: The topology data information format is remembered. + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#background#\n For each node in the topology data, if there is\ + \ an alarm event, the alarm event will be appended to the node's name.\ + \ Nodes without any alarm events will have no additional information after\ + \ their name.\n #attention#\n The alarm event data is in JSON format,\ + \ and its meaning is as follows:\n The first level's key represents\ + \ the type of alarm event, represented by a number:\n 1: Interface-level\ + \ alarm\n 2: Container anomaly\n 3: Infrastructure anomaly\n \ + \ 4: Network program anomaly\n 5: Error anomaly\n The second level's\ + \ key contains information specific to that alarm type, with the following\ + \ fields:\n - add: Number of newly added alarm events\n - duplicate:\ + \ Number of duplicate alarm events\n - resolve: Number of resolved\ + \ alarm events\n - keep: Number of unresolved alarm events\n - firstTime:\ + \ The first occurrence time of this type of alarm event\n - lastTime:\ + \ The last occurrence time of this type of alarm event\n - resolveTime:\ + \ The time when the alarm event was resolved (only present if the alarm\ + \ has been resolved)\n #processing#\n Please process the data carefully.\ + \ For each node (with the node name starting after the number-- symbol),\ + \ ensure that the node name is recorded fully and correctly. Do not include\ + \ other content in the response, only the necessary data.\n Nodes with\ + \ alarm events are defined as those that appear in the JSON data.\n \ + \ Nodes without alarm events are defined as those that do not appear\ + \ in the JSON data.\n #output#\n I have remembered the alarm events.\ + \ Please respond concisely and briefly.\n #Topology and Alarm Event\ + \ Data#\n The topology and alarm event data are as follows:\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: These alert events are remembered. + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#objective#\n Based on the provided microservice topology diagram\ + \ and the alarm events for each node, you will be given a set of rules\ + \ to identify the root cause nodes that match each rule.\n #rootcause\ + \ node process#\n - Record the sequence in which abnormal events propagate\ + \ from downstream to upstream, based on the type of abnormality and its\ + \ occurrence frequency in the alarm events.\n - For each rule provided,\ + \ continue filtering out the nodes that meet the rule from the suspected\ + \ root cause nodes identified in the previous rule. Do not restart the\ + \ entire derivation process from scratch. Only summarize the relevant\ + \ data.\n #attention#\n In the topology, an upstream node may have\ + \ multiple downstream nodes. These downstream nodes are considered at\ + \ the same level. If all services of these same-level nodes satisfy the\ + \ criteria for abnormality propagation upstream, all these downstream\ + \ nodes can be considered as potential root causes. Exclude the upstream\ + \ node and ensure that no node is missed.\n Always exclude entry nodes\ + \ from the analysis.\n Use the full names of the nodes throughout the\ + \ process,do not abbreviate.\n #output#\n Follow the derivation\ + \ process carefully and provide concise and brief answers." + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: The reasoning process is memorized. + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740619353044' + position: + x: 880.2421960154973 + y: 263.6222226962782 + positionAbsolute: + x: 880.2421960154973 + y: 263.6222226962782 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: rule1 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: alert analysis rule + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: 'Rule 1 + + Please list the names of nodes without alarm events from the topology + data and alarm event data, exclude the nodes without alarm events, and + list the names of nodes with alarm events, marking them as suspected + nodes. + + ''Output'' + + The list of nodes that meet the current rules should be concise and + short, and the node names should be complete and consistent with the + source data, and cannot be omitted' + type: tool + height: 81 + id: '1740620413020' + position: + x: 839.8693009526128 + y: 42.259266516881894 + positionAbsolute: + x: 839.8693009526128 + y: 42.259266516881894 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: You are an intelligent reasoning assistant. Your task is to analyze + the root cause nodes according to the data and rules provided by the user. + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#background#\n Here is a microservice topology diagram with node\ + \ names at each layer. Upper-layer nodes and lower-layer nodes form upstream\ + \ and downstream relationships, where the upstream calls the downstream.\ + \ Please remember the topology structure based on the provided data.\n\ + \ #attention#\n topology data information:\n 1.The number at\ + \ the beginning of each node name indicates its layer. For example, a\ + \ node with the number \"0\" is the entry service node. The larger the\ + \ number, the deeper the layer. For non-entry nodes, the first node with\ + \ a smaller number upwards is considered its upstream node.\n 2.A node\ + \ may have multiple downstream nodes and may also be called by multiple\ + \ upstream nodes. Please do not overlook any nodes.\n 3.Do not create\ + \ non-existent upstream-downstream relationships, do not reverse the relationships,\ + \ and do not miss any upstream-downstream calls. There should be no loops\ + \ in the topology structure, and do not introduce any unrelated concepts.\n\ + \ 4.Node names are relatively long, so do not abbreviate them (do not\ + \ include layer information such as \"1--\" at the beginning of the node\ + \ name).\n The topology data will be provided later.\n #output#\n\ + \ The topology data information has been memorized. Please respond\ + \ concisely." + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: The topology data information format is remembered. + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#background#\n For each node in the topology data, if there is\ + \ an alarm event, the alarm event will be appended to the node's name.\ + \ Nodes without any alarm events will have no additional information after\ + \ their name.\n #attention#\n The alarm event data is in JSON format,\ + \ and its meaning is as follows:\n The first level's key represents\ + \ the type of alarm event, represented by a number:\n 1: Interface-level\ + \ alarm\n 2: Container anomaly\n 3: Infrastructure anomaly\n \ + \ 4: Network program anomaly\n 5: Error anomaly\n The second level's\ + \ key contains information specific to that alarm type, with the following\ + \ fields:\n - add: Number of newly added alarm events\n - duplicate:\ + \ Number of duplicate alarm events\n - resolve: Number of resolved\ + \ alarm events\n - keep: Number of unresolved alarm events\n - firstTime:\ + \ The first occurrence time of this type of alarm event\n - lastTime:\ + \ The last occurrence time of this type of alarm event\n - resolveTime:\ + \ The time when the alarm event was resolved (only present if the alarm\ + \ has been resolved)\n #processing#\n Please process the data carefully.\ + \ For each node (with the node name starting after the number-- symbol),\ + \ ensure that the node name is recorded fully and correctly. Do not include\ + \ other content in the response, only the necessary data.\n Nodes with\ + \ alarm events are defined as those that appear in the JSON data.\n \ + \ Nodes without alarm events are defined as those that do not appear\ + \ in the JSON data.\n #output#\n I have remembered the alarm events.\ + \ Please respond concisely and briefly.\n #Topology and Alarm Event\ + \ Data#\n The topology and alarm event data are as follows:\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: These alert events are remembered. + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#objective#\n Based on the provided microservice topology diagram\ + \ and the alarm events for each node, you will be given a set of rules\ + \ to identify the root cause nodes that match each rule.\n #rootcause\ + \ node process#\n - Record the sequence in which abnormal events propagate\ + \ from downstream to upstream, based on the type of abnormality and its\ + \ occurrence frequency in the alarm events.\n - For each rule provided,\ + \ continue filtering out the nodes that meet the rule from the suspected\ + \ root cause nodes identified in the previous rule. Do not restart the\ + \ entire derivation process from scratch. Only summarize the relevant\ + \ data.\n #attention#\n In the topology, an upstream node may have\ + \ multiple downstream nodes. These downstream nodes are considered at\ + \ the same level. If all services of these same-level nodes satisfy the\ + \ criteria for abnormality propagation upstream, all these downstream\ + \ nodes can be considered as potential root causes. Exclude the upstream\ + \ node and ensure that no node is missed.\n Always exclude entry nodes\ + \ from the analysis.\n Use the full names of the nodes throughout the\ + \ process,do not abbreviate.\n #output#\n Follow the derivation\ + \ process carefully and provide concise and brief answers." + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: The reasoning process is memorized. + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406208182010' + position: + x: 1629.523646097407 + y: 263.6222226962782 + positionAbsolute: + x: 1629.523646097407 + y: 263.6222226962782 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: You are an intelligent reasoning assistant. Your task is to analyze + the root cause nodes according to the data and rules provided by the user. + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#background#\n Here is a microservice topology diagram with node\ + \ names at each layer. Upper-layer nodes and lower-layer nodes form upstream\ + \ and downstream relationships, where the upstream calls the downstream.\ + \ Please remember the topology structure based on the provided data.\n\ + \ #attention#\n topology data information:\n 1.The number at\ + \ the beginning of each node name indicates its layer. For example, a\ + \ node with the number \"0\" is the entry service node. The larger the\ + \ number, the deeper the layer. For non-entry nodes, the first node with\ + \ a smaller number upwards is considered its upstream node.\n 2.A node\ + \ may have multiple downstream nodes and may also be called by multiple\ + \ upstream nodes. Please do not overlook any nodes.\n 3.Do not create\ + \ non-existent upstream-downstream relationships, do not reverse the relationships,\ + \ and do not miss any upstream-downstream calls. There should be no loops\ + \ in the topology structure, and do not introduce any unrelated concepts.\n\ + \ 4.Node names are relatively long, so do not abbreviate them (do not\ + \ include layer information such as \"1--\" at the beginning of the node\ + \ name).\n The topology data will be provided later.\n #output#\n\ + \ The topology data information has been memorized. Please respond\ + \ concisely." + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: The topology data information format is remembered. + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#background#\n For each node in the topology data, if there is\ + \ an alarm event, the alarm event will be appended to the node's name.\ + \ Nodes without any alarm events will have no additional information after\ + \ their name.\n #attention#\n The alarm event data is in JSON format,\ + \ and its meaning is as follows:\n The first level's key represents\ + \ the type of alarm event, represented by a number:\n 1: Interface-level\ + \ alarm\n 2: Container anomaly\n 3: Infrastructure anomaly\n \ + \ 4: Network program anomaly\n 5: Error anomaly\n The second level's\ + \ key contains information specific to that alarm type, with the following\ + \ fields:\n - add: Number of newly added alarm events\n - duplicate:\ + \ Number of duplicate alarm events\n - resolve: Number of resolved\ + \ alarm events\n - keep: Number of unresolved alarm events\n - firstTime:\ + \ The first occurrence time of this type of alarm event\n - lastTime:\ + \ The last occurrence time of this type of alarm event\n - resolveTime:\ + \ The time when the alarm event was resolved (only present if the alarm\ + \ has been resolved)\n #processing#\n Please process the data carefully.\ + \ For each node (with the node name starting after the number-- symbol),\ + \ ensure that the node name is recorded fully and correctly. Do not include\ + \ other content in the response, only the necessary data.\n Nodes with\ + \ alarm events are defined as those that appear in the JSON data.\n \ + \ Nodes without alarm events are defined as those that do not appear\ + \ in the JSON data.\n #output#\n I have remembered the alarm events.\ + \ Please respond concisely and briefly.\n #Topology and Alarm Event\ + \ Data#\n The topology and alarm event data are as follows:\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: These alert events are remembered. + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#objective#\n Based on the provided microservice topology diagram\ + \ and the alarm events for each node, you will be given a set of rules\ + \ to identify the root cause nodes that match each rule.\n #rootcause\ + \ node process#\n - Record the sequence in which abnormal events propagate\ + \ from downstream to upstream, based on the type of abnormality and its\ + \ occurrence frequency in the alarm events.\n - For each rule provided,\ + \ continue filtering out the nodes that meet the rule from the suspected\ + \ root cause nodes identified in the previous rule. Do not restart the\ + \ entire derivation process from scratch. Only summarize the relevant\ + \ data.\n #attention#\n In the topology, an upstream node may have\ + \ multiple downstream nodes. These downstream nodes are considered at\ + \ the same level. If all services of these same-level nodes satisfy the\ + \ criteria for abnormality propagation upstream, all these downstream\ + \ nodes can be considered as potential root causes. Exclude the upstream\ + \ node and ensure that no node is missed.\n Always exclude entry nodes\ + \ from the analysis.\n Use the full names of the nodes throughout the\ + \ process,do not abbreviate.\n #output#\n Follow the derivation\ + \ process carefully and provide concise and brief answers." + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: The reasoning process is memorized. + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: 828c0968-487a-4a70-a647-b76ee59dd33a + role: assistant + text: '{{#1740619353044.text#}}' + - id: e0522816-d592-4951-a5b3-de0d390d9c9a + role: user + text: '{{#1740620917572.text#}}' + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406208202230' + position: + x: 1222.2131696489557 + y: 268.2444553409973 + positionAbsolute: + x: 1222.2131696489557 + y: 268.2444553409973 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: rule2 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: alert analysis rule + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: 'Rule 2 + + Starting from the application interface layer alarm, follow the topology + of the business entrance and trace each node from upstream to downstream + in turn (use topology data, do not confuse upstream and downstream). + Please output the reasoning process + + When analyzing downstream nodes, be sure to compare the number with + the downstream node. + + Analyze each node during the tracing process: + + If there is an interface layer alarm, continue to trace the node with + a number greater than the number in front of the node to the same number + as it. + + If there is no interface layer alarm, stop tracing, return to the previous + node, and exclude the current node. + + The node is considered as a suspected root cause node in the following + cases: + + 1. There are other types of alarms + + 2. There are no alarms of the same type as the node from the number + in front of the node to the number in front of the node that is the + same as it + + 3. If the node is the deepest node (the number in front of the node + is the largest), and the node has an interface alarm + + 4. During the tracing process, for each node with an interface alarm + of type 1 or 5: { + + Check whether there are other types of alarms of type 1 or 5. If so, + the node is a suspected root cause, record and continue to analyze the + downstream node tracing. + + If there are no other alarms of type 1 or 5, and there are no interface + alarms of type 1 or 5 from the number in front of the node to the number + in front of the node that is the same as it, then the node is a suspected + root cause node + + ''Note'' + + The number in front of the node in the topology diagram indicates the + depth in the topology diagram. The depth in the topology diagram has + nothing to do with the order of the nodes in the text. The same number + indicates that there is no upstream and downstream relationship between + the siblings. + + Downstream node definition: the number in front of the node to the node + with the same number as it is greater than the number in front of the + node. + + The depth definition of the most downstream node: the largest number + in front of the suspected root cause node. If the number in front of + the suspected root cause is the same as the depth of the most downstream + node, it is the priority candidate for the suspected root cause. + + ''Output'' + + A list of nodes that meet the current rules, concise and short, and + the node name needs to be complete and cannot be omitted' + type: tool + height: 81 + id: '1740620917572' + position: + x: 1252.6094398690695 + y: 72.16511471161112 + positionAbsolute: + x: 1252.6094398690695 + y: 72.16511471161112 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: rule3 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: alert analysis rule + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: 'Rule 3 + + The root cause node needs to meet the condition that the exception is + transmitted upstream from this node, and the abnormal alarm event of + this type is continuous, not sporadic. + + ''Note'' + + If the interface layer type alarm has both new and resolved alarms, + and the time of the resolved alarm event is close to the time of the + first alarm event, the node can be considered sporadic. + + However, if the interface layer type alarm has a retained alarm, the + node should be used as a suspected root cause node. + + If the abnormal alarm of the node is sporadic, it should not be identified + as a root cause node + + ''Output'' + + A list of nodes that meet the current rules, concise and short, and + the node name needs to be complete and consistent with the source data, + and cannot be omitted' + type: tool + height: 81 + id: '1740620994135' + position: + x: 1629.523646097407 + y: 83.3551495522311 + positionAbsolute: + x: 1629.523646097407 + y: 83.3551495522311 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: rule4 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: alert analysis rule + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: 'Rule 4 + + If a node has an exception, but the upstream node has no interface exception + alarm, this node and its branches can be excluded. + + ''Output'' + + A list of nodes that meet the current rules, concise and short, and + the node name needs to be complete and consistent with the source data, + and cannot be omitted' + type: tool + height: 81 + id: '1740621003098' + position: + x: 1979.7459725445985 + y: 83.3551495522311 + positionAbsolute: + x: 1979.7459725445985 + y: 83.3551495522311 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: You are an intelligent reasoning assistant. Your task is to analyze + the root cause nodes according to the data and rules provided by the user. + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#background#\n Here is a microservice topology diagram with node\ + \ names at each layer. Upper-layer nodes and lower-layer nodes form upstream\ + \ and downstream relationships, where the upstream calls the downstream.\ + \ Please remember the topology structure based on the provided data.\n\ + \ #attention#\n topology data information:\n 1.The number at\ + \ the beginning of each node name indicates its layer. For example, a\ + \ node with the number \"0\" is the entry service node. The larger the\ + \ number, the deeper the layer. For non-entry nodes, the first node with\ + \ a smaller number upwards is considered its upstream node.\n 2.A node\ + \ may have multiple downstream nodes and may also be called by multiple\ + \ upstream nodes. Please do not overlook any nodes.\n 3.Do not create\ + \ non-existent upstream-downstream relationships, do not reverse the relationships,\ + \ and do not miss any upstream-downstream calls. There should be no loops\ + \ in the topology structure, and do not introduce any unrelated concepts.\n\ + \ 4.Node names are relatively long, so do not abbreviate them (do not\ + \ include layer information such as \"1--\" at the beginning of the node\ + \ name).\n The topology data will be provided later.\n #output#\n\ + \ The topology data information has been memorized. Please respond\ + \ concisely." + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: The topology data information format is remembered. + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#background#\n For each node in the topology data, if there is\ + \ an alarm event, the alarm event will be appended to the node's name.\ + \ Nodes without any alarm events will have no additional information after\ + \ their name.\n #attention#\n The alarm event data is in JSON format,\ + \ and its meaning is as follows:\n The first level's key represents\ + \ the type of alarm event, represented by a number:\n 1: Interface-level\ + \ alarm\n 2: Container anomaly\n 3: Infrastructure anomaly\n \ + \ 4: Network program anomaly\n 5: Error anomaly\n The second level's\ + \ key contains information specific to that alarm type, with the following\ + \ fields:\n - add: Number of newly added alarm events\n - duplicate:\ + \ Number of duplicate alarm events\n - resolve: Number of resolved\ + \ alarm events\n - keep: Number of unresolved alarm events\n - firstTime:\ + \ The first occurrence time of this type of alarm event\n - lastTime:\ + \ The last occurrence time of this type of alarm event\n - resolveTime:\ + \ The time when the alarm event was resolved (only present if the alarm\ + \ has been resolved)\n #processing#\n Please process the data carefully.\ + \ For each node (with the node name starting after the number-- symbol),\ + \ ensure that the node name is recorded fully and correctly. Do not include\ + \ other content in the response, only the necessary data.\n Nodes with\ + \ alarm events are defined as those that appear in the JSON data.\n \ + \ Nodes without alarm events are defined as those that do not appear\ + \ in the JSON data.\n #output#\n I have remembered the alarm events.\ + \ Please respond concisely and briefly.\n #Topology and Alarm Event\ + \ Data#\n The topology and alarm event data are as follows:\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: These alert events are remembered. + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#objective#\n Based on the provided microservice topology diagram\ + \ and the alarm events for each node, you will be given a set of rules\ + \ to identify the root cause nodes that match each rule.\n #rootcause\ + \ node process#\n - Record the sequence in which abnormal events propagate\ + \ from downstream to upstream, based on the type of abnormality and its\ + \ occurrence frequency in the alarm events.\n - For each rule provided,\ + \ continue filtering out the nodes that meet the rule from the suspected\ + \ root cause nodes identified in the previous rule. Do not restart the\ + \ entire derivation process from scratch. Only summarize the relevant\ + \ data.\n #attention#\n In the topology, an upstream node may have\ + \ multiple downstream nodes. These downstream nodes are considered at\ + \ the same level. If all services of these same-level nodes satisfy the\ + \ criteria for abnormality propagation upstream, all these downstream\ + \ nodes can be considered as potential root causes. Exclude the upstream\ + \ node and ensure that no node is missed.\n Always exclude entry nodes\ + \ from the analysis.\n Use the full names of the nodes throughout the\ + \ process,do not abbreviate.\n #output#\n Follow the derivation\ + \ process carefully and provide concise and brief answers." + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: The reasoning process is memorized. + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + - id: 6793984b-1ebd-4440-9d85-56846eb3f0b2 + role: assistant + text: '{{#17406208182010.text#}}' + - id: b38b8c24-c325-4c67-9f25-18f00869da81 + role: user + text: '{{#1740621003098.text#}}' + selected: false + title: LLM 4 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406213332120' + position: + x: 1979.7459725445985 + y: 268.2444553409973 + positionAbsolute: + x: 1979.7459725445985 + y: 268.2444553409973 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: 汇总 + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: You are an intelligent reasoning assistant. Your task is to analyze + the root cause nodes according to the data and rules provided by the user. + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#background#\n Here is a microservice topology diagram with node\ + \ names at each layer. Upper-layer nodes and lower-layer nodes form upstream\ + \ and downstream relationships, where the upstream calls the downstream.\ + \ Please remember the topology structure based on the provided data.\n\ + \ #attention#\n topology data information:\n 1.The number at\ + \ the beginning of each node name indicates its layer. For example, a\ + \ node with the number \"0\" is the entry service node. The larger the\ + \ number, the deeper the layer. For non-entry nodes, the first node with\ + \ a smaller number upwards is considered its upstream node.\n 2.A node\ + \ may have multiple downstream nodes and may also be called by multiple\ + \ upstream nodes. Please do not overlook any nodes.\n 3.Do not create\ + \ non-existent upstream-downstream relationships, do not reverse the relationships,\ + \ and do not miss any upstream-downstream calls. There should be no loops\ + \ in the topology structure, and do not introduce any unrelated concepts.\n\ + \ 4.Node names are relatively long, so do not abbreviate them (do not\ + \ include layer information such as \"1--\" at the beginning of the node\ + \ name).\n The topology data will be provided later.\n #output#\n\ + \ The topology data information has been memorized. Please respond\ + \ concisely." + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: The topology data information format is remembered. + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#background#\n For each node in the topology data, if there is\ + \ an alarm event, the alarm event will be appended to the node's name.\ + \ Nodes without any alarm events will have no additional information after\ + \ their name.\n #attention#\n The alarm event data is in JSON format,\ + \ and its meaning is as follows:\n The first level's key represents\ + \ the type of alarm event, represented by a number:\n 1: Interface-level\ + \ alarm\n 2: Container anomaly\n 3: Infrastructure anomaly\n \ + \ 4: Network program anomaly\n 5: Error anomaly\n The second level's\ + \ key contains information specific to that alarm type, with the following\ + \ fields:\n - add: Number of newly added alarm events\n - duplicate:\ + \ Number of duplicate alarm events\n - resolve: Number of resolved\ + \ alarm events\n - keep: Number of unresolved alarm events\n - firstTime:\ + \ The first occurrence time of this type of alarm event\n - lastTime:\ + \ The last occurrence time of this type of alarm event\n - resolveTime:\ + \ The time when the alarm event was resolved (only present if the alarm\ + \ has been resolved)\n #processing#\n Please process the data carefully.\ + \ For each node (with the node name starting after the number-- symbol),\ + \ ensure that the node name is recorded fully and correctly. Do not include\ + \ other content in the response, only the necessary data.\n Nodes with\ + \ alarm events are defined as those that appear in the JSON data.\n \ + \ Nodes without alarm events are defined as those that do not appear\ + \ in the JSON data.\n #output#\n I have remembered the alarm events.\ + \ Please respond concisely and briefly.\n #Topology and Alarm Event\ + \ Data#\n The topology and alarm event data are as follows:\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: These alert events are remembered. + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#objective#\n Based on the provided microservice topology diagram\ + \ and the alarm events for each node, you will be given a set of rules\ + \ to identify the root cause nodes that match each rule.\n #rootcause\ + \ node process#\n - Record the sequence in which abnormal events propagate\ + \ from downstream to upstream, based on the type of abnormality and its\ + \ occurrence frequency in the alarm events.\n - For each rule provided,\ + \ continue filtering out the nodes that meet the rule from the suspected\ + \ root cause nodes identified in the previous rule. Do not restart the\ + \ entire derivation process from scratch. Only summarize the relevant\ + \ data.\n #attention#\n In the topology, an upstream node may have\ + \ multiple downstream nodes. These downstream nodes are considered at\ + \ the same level. If all services of these same-level nodes satisfy the\ + \ criteria for abnormality propagation upstream, all these downstream\ + \ nodes can be considered as potential root causes. Exclude the upstream\ + \ node and ensure that no node is missed.\n Always exclude entry nodes\ + \ from the analysis.\n Use the full names of the nodes throughout the\ + \ process,do not abbreviate.\n #output#\n Follow the derivation\ + \ process carefully and provide concise and brief answers." + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: The reasoning process is memorized. + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + - id: 4537a3f2-85b5-4156-8db1-c8533dabc80f + role: assistant + text: '{{#17406208182010.text#}}' + - id: 5f5edef3-3bd1-46d6-ab82-f8e4561efb91 + role: user + text: '{{#1740621003098.text#}}' + - id: f0d72fb5-747d-405a-8769-0ba96f5aa710 + role: assistant + text: '{{#17406213332120.text#}}' + - id: 6785fe4d-1f47-4938-b50d-1d5b65bb26d1 + role: user + text: '#Purpose# + + Summarize the previous node information, return a root cause node that + meets the most rules and up to three suspected root cause nodes. + + #Note# + + No other additional information is required, and the node name must be + complete and consistent with the source data. + + The final root cause node must not be the entry node (the top node in + the topology graph). + + The node name must be complete and consistent with the topology data, + and no special symbols such as spaces, *, `, etc. should be used before + and after the node name. + + xxx must be followed by the word node, do not give xxx directly. + + #Output# + + The output is in JSON format, only containing the fields nodeName and + otherNodeName. The node name in josn must be complete, retaining any original + symbols, and cannot be omitted. + + nodeName gives the node that causes the root cause. (Do not give None, + there must be a node such as the root cause is node A) + + otherNodeName gives a list of suspected root cause nodes. (There can be + multiple nodes in the list, but they cannot be the same as the root cause + node)' + selected: false + title: LLM 5 + type: llm + variables: [] + vision: + enabled: false + height: 117 + id: '17406213642580' + position: + x: 1957.0410005791687 + y: 486.25205395404754 + positionAbsolute: + x: 1957.0410005791687 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: llm text + ja_JP: llm text + pt_BR: llm text + zh_Hans: 大模型返回文本结果 + label: + en_US: text + ja_JP: text + pt_BR: text + zh_Hans: text + llm_description: rule + max: null + min: null + name: text + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + text: '' + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: get root cause node + tool_configurations: {} + tool_label: 提取根因节点 + tool_name: root_cause + tool_parameters: + language: + type: mixed + value: en + text: + type: mixed + value: '{{#17406213642580.text#}}' + type: tool + height: 53 + id: '1740991358287' + position: + x: 2388.1123042552454 + y: 486.25205395404754 + positionAbsolute: + x: 2388.1123042552454 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: entry service + ja_JP: entry service + pt_BR: entry service + zh_Hans: 拓扑入口服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: toplogy service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: toplogy endpoint + ja_JP: toplogy endpoint + pt_BR: toplogy endpoint + zh_Hans: 拓扑入口服务端点 + label: + en_US: endpoint + ja_JP: endpoint + pt_BR: endpoint + zh_Hans: endpoint + llm_description: toplogy endpoint + max: null + min: null + name: endpoint + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + endpoint: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: query entry service topology + tool_configurations: {} + tool_label: 查询入口服务拓扑结构 + tool_name: 查询入口服务拓扑结构 + tool_parameters: + endTime: + type: variable + value: + - '1740030989850' + - endTime + endpoint: + type: mixed + value: '{{#1740030989850.endpoint#}}' + service: + type: mixed + value: '{{#1740030989850.service#}}' + startTime: + type: variable + value: + - '1740030989850' + - startTime + type: tool + height: 53 + id: '1741576377961' + position: + x: 152.2095509987039 + y: 100.4720021403999 + positionAbsolute: + x: 152.2095509987039 + y: 100.4720021403999 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 488.07867306792195 + y: 89.57805645721811 + zoom: 0.6680370391950523 diff --git a/api/workflows/en/alert events vaild function calling.yml b/api/workflows/en/alert events vaild function calling.yml new file mode 100644 index 0000000000..44826b8c9b --- /dev/null +++ b/api/workflows/en/alert events vaild function calling.yml @@ -0,0 +1,1009 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: alert events vaild function calling + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: agent + id: 1741157526222-source-1741159085487-target + source: '1741157526222' + sourceHandle: source + target: '1741159085487' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: agent + targetType: question-classifier + id: 1741159085487-source-1741240469445-target + source: '1741159085487' + sourceHandle: source + target: '1741240469445' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741240469445-1-1741240720274-target + source: '1741240469445' + sourceHandle: '1' + target: '1741240720274' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741240469445-2-1741240720274-target + source: '1741240469445' + sourceHandle: '2' + target: '1741240720274' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: end + id: 1741240720274-source-1741157560922-target + source: '1741240720274' + sourceHandle: source + target: '1741157560922' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - allowed_file_extensions: [] + allowed_file_types: + - document + allowed_file_upload_methods: + - local_file + - remote_url + label: alert + max_length: 256 + options: [] + required: true + type: text-input + variable: alert + - label: params + max_length: 256 + options: [] + required: true + type: text-input + variable: params + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - allowed_file_extensions: + - .json + allowed_file_types: + - custom + allowed_file_upload_methods: + - local_file + - remote_url + label: input + max_length: 48 + options: [] + required: false + type: file + variable: input + height: 193 + id: '1741157526222' + position: + x: -63.889822287394736 + y: 342.4507007225618 + positionAbsolute: + x: -63.889822287394736 + y: 342.4507007225618 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741240720274' + - result + variable: text + selected: false + title: End + type: end + height: 89 + id: '1741157560922' + position: + x: 1904.6754701143086 + y: 404.7851940902575 + positionAbsolute: + x: 1904.6754701143086 + y: 404.7851940902575 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + agent_parameters: + instruction: + type: constant + value: According to the description of the alarm event, select the tool + to query data and return the tool query content + model: + type: constant + value: + completion_params: {} + mode: chat + model: deepseek-chat + model_type: llm + provider: langgenius/deepseek/deepseek + type: model-selector + query: + type: constant + value: '# Alarm description + + {{#1741157526222.alert#}} + + # Data parameters + + {{#1741157526222.params#}} + + # Start time + + {{#1741157526222.startTime#}} + + # End time + + {{#1741157526222.endTime#}} + + Please judge whether the indicator data is jittering or continuously + rising. Please give a brief answer.' + tools: + type: constant + value: + - enabled: true + extra: + description: '' + parameters: + cadvisor_job_name: + auto: 1 + value: null + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: Container CPU usage rate (Docker runtime, aggregated by + Pod) + tool_name: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + type: builtin + - enabled: true + extra: + description: '' + parameters: + cadvisor_job_name: + auto: 1 + value: null + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: Container CPU throttling duration (Containerd runtime, by + container and Pod) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + type: builtin + - enabled: true + extra: + description: '' + parameters: + cadvisor_job_name: + auto: 1 + value: null + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: Container memory usage in bytes (Containerd runtime, aggregated + by container and Pod) + tool_name: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: Query container rtt + tool_name: 查询容器网络与下游RTT + type: builtin + - enabled: true + extra: + description: '' + parameters: + content_key: + auto: 1 + value: null + endTime: + auto: 1 + value: null + service_name: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: Service request success rate + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 请求成功率 + type: builtin + agent_strategy_label: FunctionCalling + agent_strategy_name: function_calling + agent_strategy_provider_name: langgenius/agent/agent + desc: '' + output_schema: null + plugin_unique_identifier: langgenius/agent:0.0.9@f16916b704a20067317dbe9030f62aa28f0832021a3ef6d4ce699504074c5e13 + selected: false + title: Agent + type: agent + height: 197 + id: '1741159085487' + position: + x: 464.00251678222173 + y: 334.53501396063086 + positionAbsolute: + x: 464.00251678222173 + y: 334.53501396063086 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: jitter + - id: '2' + name: continuous + desc: '' + instruction: Determine whether the input conclusion is jitter or continuous + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741159085487' + - text + selected: false + title: Question Classifier + topics: [] + type: question-classifier + vision: + enabled: false + height: 167 + id: '1741240469445' + position: + x: 925.6831329188301 + y: 359.7737662160214 + positionAbsolute: + x: 925.6831329188301 + y: 359.7737662160214 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg1: str) -> dict:\n res = \"true\"\n if arg1 ==\ + \ \"continuous\":\n res = \"false\"\n return {\n \"result\"\ + : res,\n }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: get result + type: code + variables: + - value_selector: + - '1741240469445' + - class_name + variable: arg1 + height: 53 + id: '1741240720274' + position: + x: 1416.4535710138914 + y: 404.7851940902575 + positionAbsolute: + x: 1416.4535710138914 + y: 404.7851940902575 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 337.5205824596659 + y: 248.20243883323087 + zoom: 0.4788466115538565 diff --git a/api/workflows/en/alert root cause another function.yml b/api/workflows/en/alert root cause another function.yml new file mode 100644 index 0000000000..4399f8db3c --- /dev/null +++ b/api/workflows/en/alert root cause another function.yml @@ -0,0 +1,2993 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: alert root cause another function + use_icon_as_answer_icon: false +dependencies: [] +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: iteration-start + targetType: code + id: 1741497176064start-source-1741497181784-target + source: 1741497176064start + sourceHandle: source + target: '1741497181784' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: code + targetType: tool + id: 1741497181784-source-1741497216474-target + source: '1741497181784' + sourceHandle: source + target: '1741497216474' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: llm + id: 1741497216474-source-1741498390634-target + source: '1741497216474' + sourceHandle: source + target: '1741498390634' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: llm + targetType: question-classifier + id: 1741498390634-source-1741498403828-target + source: '1741498390634' + sourceHandle: source + target: '1741498403828' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1-1741498509378-target + source: '1741498403828' + sourceHandle: '1' + target: '1741498509378' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-2-1741498527215-target + source: '1741498403828' + sourceHandle: '2' + target: '1741498527215' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498415133-1741498907941-target + source: '1741498403828' + sourceHandle: '1741498415133' + target: '1741498907941' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741501265259-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741501265259' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: template-transform + id: 1741498403828-1741498426874-1741502665376-target + source: '1741498403828' + sourceHandle: '1741498426874' + target: '1741502665376' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741502699500-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741502699500' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498509378-source-1741502729293-target + source: '1741498509378' + sourceHandle: source + target: '1741502729293' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498527215-source-1741506670648-target + source: '1741498527215' + sourceHandle: source + target: '1741506670648' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498907941-source-1741506676593-target + source: '1741498907941' + sourceHandle: source + target: '1741506676593' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741501265259-source-1741506693125-target + source: '1741501265259' + sourceHandle: source + target: '1741506693125' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741499376556-source-1741506702729-target + source: '1741499376556' + sourceHandle: source + target: '1741506702729' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741502699500-source-1741506711511-target + source: '1741502699500' + sourceHandle: source + target: '1741506711511' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741502729293-source-1741506718903-target + source: '1741502729293' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506670648-source-1741506718903-target + source: '1741506670648' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506676593-source-1741506718903-target + source: '1741506676593' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506693125-source-1741506718903-target + source: '1741506693125' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506702729-source-1741506718903-target + source: '1741506702729' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506711511-source-1741506718903-target + source: '1741506711511' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: variable-aggregator + targetType: llm + id: 1741506718903-source-1741506766037-target + source: '1741506718903' + sourceHandle: source + target: '1741506766037' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: code + targetType: iteration + id: 1741509454645-source-1741497176064-target + selected: false + source: '1741509454645' + sourceHandle: source + target: '1741497176064' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: iteration + targetType: llm + id: 1741497176064-source-1741512806512-target + source: '1741497176064' + sourceHandle: source + target: '1741512806512' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741512806512-source-1741502839759-target + source: '1741512806512' + sourceHandle: source + target: '1741502839759' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: template-transform + targetType: variable-aggregator + id: 1741502665376-source-1741506718903-target + source: '1741502665376' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: if-else + targetType: template-transform + id: 1741592086921-false-1741592094819-target + source: '1741592086921' + sourceHandle: 'false' + target: '1741592094819' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-true-1741508508177-target + source: '1741592086921' + sourceHandle: 'true' + target: '1741508508177' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: template-transform + targetType: end + id: 1741592094819-source-1741592144815-target + source: '1741592094819' + sourceHandle: source + target: '1741592144815' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: code + id: 1741227526517-source-1741594373498-target + source: '1741227526517' + sourceHandle: source + target: '1741594373498' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: if-else + id: 1741594373498-source-1741592086921-target + source: '1741594373498' + sourceHandle: source + target: '1741592086921' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-456042b9-6979-4f20-b255-14d1e41754df-1741597223833-target + source: '1741592086921' + sourceHandle: 456042b9-6979-4f20-b255-14d1e41754df + target: '1741597223833' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741508508177-source-1741597274153-target + source: '1741508508177' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: code + id: 1741597274153-source-1741509454645-target + source: '1741597274153' + sourceHandle: source + target: '1741509454645' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741597223833-source-1741597274153-target + source: '1741597223833' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: code + id: 1741592086921-a687d810-ff81-4b8a-a2a4-b47b8c532039-1741599658821-target + source: '1741592086921' + sourceHandle: a687d810-ff81-4b8a-a2a4-b47b8c532039 + target: '1741599658821' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: variable-aggregator + id: 1741599658821-source-1741597274153-target + source: '1741599658821' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: params + max_length: 9999999 + options: [] + required: false + type: paragraph + variable: params + - label: nodeName + max_length: 256 + options: [] + required: false + type: text-input + variable: nodeName + - label: nodeIp + max_length: 48 + options: [] + required: false + type: text-input + variable: nodeIp + height: 193 + id: '1741227526517' + position: + x: -1521.4169518287483 + y: 30.40374262430791 + positionAbsolute: + x: -1521.4169518287483 + y: 30.40374262430791 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + error_handle_mode: terminated + height: 1119 + is_parallel: false + iterator_selector: + - '1741509454645' + - monitor + output_selector: + - '1741506766037' + - text + output_type: array[string] + parallel_nums: 10 + selected: false + start_node_id: 1741497176064start + title: iteration + type: iteration + width: 1780 + height: 1119 + id: '1741497176064' + position: + x: 496.33327072751604 + y: 271.35553284680793 + positionAbsolute: + x: 496.33327072751604 + y: 271.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 1780 + zIndex: 1 + - data: + desc: '' + isInIteration: true + selected: false + title: '' + type: iteration-start + draggable: false + height: 48 + id: 1741497176064start + parentId: '1741497176064' + position: + x: 24 + y: 68 + positionAbsolute: + x: 520.333270727516 + y: 339.35553284680793 + selectable: false + sourcePosition: right + targetPosition: left + type: custom-iteration-start + width: 44 + zIndex: 1002 + - data: + code: "\ndef main(arg1: str) -> dict:\n data = json.loads(arg1)\n return\ + \ {\n \"pod\": data.get(\"pod\", \"\"),\n \"namespace\": data.get(\"\ + namespace\", \"\")\n }\n" + code_language: python3 + desc: '' + isInIteration: true + iteration_id: '1741497176064' + outputs: + namespace: + children: null + type: string + pod: + children: null + type: string + selected: false + title: get args + type: code + variables: + - value_selector: + - '1741497176064' + - item + variable: arg1 + height: 53 + id: '1741497181784' + parentId: '1741497176064' + position: + x: 16 + y: 65 + positionAbsolute: + x: 512.333270727516 + y: 336.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Thread Polaris Metrics - ALL process type + tool_configurations: {} + tool_label: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_name: polar_process_all_resp + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741497216474' + parentId: '1741497176064' + position: + x: 428.6547554766032 + y: 67.98377959888398 + positionAbsolute: + x: 924.9880262041193 + y: 339.3393124456919 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: bf86aacb-6cf8-4ee0-85c6-ad591299624c + role: system + text: '' + - id: 53c48462-405a-4d2e-9ae4-ab0f54abc57a + role: user + text: '# Purpose + + Indicator analysis: Which type of change is the most obvious + + # Process: First confirm whether there is a sharp fluctuation. If there + is a fluctuation, identify the sub-item that causes the delay fluctuation + and which sub-item causes it. The calculation of the sub-item starts from + the time after the fluctuation. The sub-item should account for more than + 10% of the delay. Do not calculate from the beginning. If there is no + fluctuation, identify which sub-item is most similar to the delay curve + change. Please analyze carefully and verify whether the data meets the + requirement of more than 10%. + + / + + {{#1741497216474.text#}} + + # Note: Please try not to consider the futex type, try to analyze cpu, + net, epoll, file, runq + + If the data is empty, return directly without exception' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741498390634' + parentId: '1741497176064' + position: + x: 769.9574404460166 + y: 65 + positionAbsolute: + x: 1266.2907111735326 + y: 336.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + classes: + - id: '1' + name: cpu + - id: '2' + name: net + - id: '1741498415133' + name: file + - id: '1741498418311' + name: epoll + - id: '1741498422694' + name: runq + - id: '1741498426874' + name: futex + desc: '' + instruction: 'Please classify based on the above conclusions + + What kind of changes caused the current application + + Note that there may be no data' + instructions: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + query_variable_selector: + - '1741498390634' + - text + selected: false + title: classifier type + topics: [] + type: question-classifier + vision: + enabled: false + height: 317 + id: '1741498403828' + parentId: '1741497176064' + position: + x: 20.61584008101886 + y: 246.9787031382702 + positionAbsolute: + x: 516.9491108085349 + y: 518.3342359850781 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU usage + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498509378' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 907.0216314496689 + y: 622.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The network round-trip time between the container and the downstream + service (RTT, by namespace and Pod) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498527215' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 907.0216314496689 + y: 715.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container disk read time per second (using Containerd, by Pod and container) + tool_configurations: {} + tool_label: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) + tool_name: select_container_cpu + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498907941' + parentId: '1741497176064' + position: + x: 432.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 929.2977272929671 + y: 781.7724011344951 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host IO waiting CPU busy rate + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741499376556' + parentId: '1741497176064' + position: + x: 453.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 949.8346046229079 + y: 919.097272547303 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The number of file descriptors currently open on the host + tool_configurations: {} + tool_label: 宿主机当前打开文件描述符数 + tool_name: host_cpu_fd_open + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741501265259' + parentId: '1741497176064' + position: + x: 454.9055541105341 + y: 582.0321151443305 + positionAbsolute: + x: 951.2388248380502 + y: 853.3876479911385 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + selected: false + template: The current type is futex. The program may have GC or lock. It may + also be in sleep state. + title: unsupport + type: template-transform + variables: [] + height: 53 + id: '1741502665376' + parentId: '1741497176064' + position: + x: 450.0220921065131 + y: 821.6601419474025 + positionAbsolute: + x: 946.3553628340292 + y: 1093.0156747942106 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU throttling duration (when using Containerd container + runtime, statistics by container and Pod) + tool_configurations: {} + tool_label: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741502699500' + parentId: '1741497176064' + position: + x: 445.14779795415495 + y: 708.438700581942 + positionAbsolute: + x: 941.481068681671 + y: 979.79423342875 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498509378.text#}}' + type: tool + height: 53 + id: '1741502729293' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 1211.0216314496688 + y: 622.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + outputs: + - value_selector: + - '1741512806512' + - text + variable: text + - value_selector: [] + variable: '' + selected: false + title: END + type: end + height: 89 + id: '1741502839759' + position: + x: 2965.328638848552 + y: 535.4340422688811 + positionAbsolute: + x: 2965.328638848552 + y: 535.4340422688811 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498527215.text#}}' + type: tool + height: 53 + id: '1741506670648' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 1211.0216314496688 + y: 715.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741497181784.pod#}}' + type: tool + height: 53 + id: '1741506676593' + parentId: '1741497176064' + position: + x: 736.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 1233.297727292967 + y: 781.7724011344951 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741501265259.text#}}' + type: tool + height: 53 + id: '1741506693125' + parentId: '1741497176064' + position: + x: 736.9170936623195 + y: 579.6300240013376 + positionAbsolute: + x: 1233.2503643898356 + y: 850.9855568481455 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741499376556.text#}}' + type: tool + height: 53 + id: '1741506702729' + parentId: '1741497176064' + position: + x: 757.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 1253.834604622908 + y: 919.097272547303 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741502699500.text#}}' + type: tool + height: 53 + id: '1741506711511' + parentId: '1741497176064' + position: + x: 731.553574904796 + y: 710.0381754046111 + positionAbsolute: + x: 1227.886845632312 + y: 981.3937082514191 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + output_type: string + selected: false + title: Variable Aggreator + type: variable-aggregator + variables: + - - '1741502729293' + - text + - - '1741506670648' + - text + - - '1741506676593' + - text + - - '1741506693125' + - text + - - '1741506702729' + - text + - - '1741506711511' + - text + - - '1741502665376' + - output + height: 238 + id: '1741506718903' + parentId: '1741497176064' + position: + x: 1073.8586854551645 + y: 369.8785970965338 + positionAbsolute: + x: 1570.1919561826805 + y: 641.2341299433417 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: cd35fff4-a037-4e72-af99-2ff8299fc5d2 + role: system + text: '' + - id: 2b2ad468-efcd-4bcc-aeb9-d53d2f2770ad + role: user + text: '# Current program information + + pod {{#1741497181784.pod#}} + + The change of its occurrence type {{#1741498403828.class_name#}} + + The change trend is {{#1741506718903.output#}} + + + Note that if the change trend is true, it means jitter, and if it is false, + it means drastic change. This type cannot be ignored + + # Purpose + + Please analyze whether the service has problems based on the change trend + + Please use the interface indicator data and the type of abnormality that + occurs to give the direction in which you think the problem is most likely + to occur. + + If the type, directly give {{#1741497181784.pod#}} There is a problem, + + # Output + + Directly give the conclusion of whether the service has problems + + # Service indicator data + + {{#1741497216474.text#}}' + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741506766037' + parentId: '1741497176064' + position: + x: 1419.0118583614708 + y: 389.9745550824946 + positionAbsolute: + x: 1915.3451290889868 + y: 661.3300879293025 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified node name + ja_JP: Specified node name + pt_BR: Specified pod name + zh_Hans: 指定的主机名称 + label: + en_US: node_name + ja_JP: node_name + pt_BR: node_name + zh_Hans: node_name + llm_description: Specified pod name + max: null + min: null + name: node_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified Process ID + ja_JP: Specified Process ID + pt_BR: Specified Process ID + zh_Hans: 指定的进程ID + label: + en_US: pid + ja_JP: pid + pt_BR: pid + zh_Hans: pid + llm_description: Specified Process ID + max: null + min: null + name: pid + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node_name: '' + pid: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: query monitor service in node + tool_configurations: {} + tool_label: 查询节点上被监控的服务列表 + tool_name: originx_service_monitor + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node_name: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741508508177' + position: + x: -247.4257908482209 + y: 30.40374262430791 + positionAbsolute: + x: -247.4257908482209 + y: 30.40374262430791 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg: str) -> dict:\n data = json.loads(arg)\n \ + \ \n timeseries = data[\"data\"][\"timeseries\"]\n \n pod_info\ + \ = []\n \n for item in timeseries:\n labels = item[\"\ + labels\"]\n info = {\n \"namespace\": labels.get(\"namespace\"\ + , \"\"),\n \"pod\": labels.get(\"pod\", \"\")\n }\n \ + \ info_str = json.dumps(info)\n pod_info.append(info_str)\n\ + \ return {\n \"monitor\": pod_info,\n }\n" + code_language: python3 + desc: '' + outputs: + monitor: + children: null + type: array[string] + selected: false + title: get mointor pod info array + type: code + variables: + - value_selector: + - '1741597274153' + - output + variable: arg + height: 53 + id: '1741509454645' + position: + x: 685.1268015573559 + y: -116.29377758571027 + positionAbsolute: + x: 685.1268015573559 + y: -116.29377758571027 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: 169877de-aa4a-44db-90ef-2cc8f68882c4 + role: system + text: You are an intelligent assistant in the field of observability + - id: c9d29276-dfa5-4042-b1c6-562260f9cc7c + role: user + text: 'Summarize the current system situation + + {{#1741497176064.output#}} + + # Purpose + + Based on the suspected root cause node information, propose the suspected + direction and give suggestions based on the direction + + # Output + + List the service names and give relevant suggestions' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741512806512' + position: + x: 3005.3068595311206 + y: 271.35553284680793 + positionAbsolute: + x: 3005.3068595311206 + y: 271.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: empty + id: 3a1b34fd-9d82-4b24-88a5-938bd0528a2b + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: not empty + id: 82010d67-eb3d-4b38-913d-cf16321398f1 + value: '' + varType: string + variable_selector: + - '1741227526517' + - nodeName + - comparison_operator: empty + id: 2e61c0d3-3104-41b2-b957-88f99ddab311 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 'true' + logical_operator: and + - case_id: 456042b9-6979-4f20-b255-14d1e41754df + conditions: + - comparison_operator: not empty + id: 751d0cc0-a1f7-4a1d-b188-e31380c4e3a3 + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: empty + id: 0010de77-ddd1-4b14-be1d-b4755a0eb583 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 456042b9-6979-4f20-b255-14d1e41754df + logical_operator: and + - case_id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + conditions: + - comparison_operator: not empty + id: ba128d4b-353d-4efa-833d-6ff468b246b5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + - comparison_operator: not empty + id: 3d377325-fbe3-4629-bf95-37196a8a43a5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - namespace + id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + logical_operator: and + desc: '' + selected: false + title: alert classifier + type: if-else + height: 325 + id: '1741592086921' + position: + x: -273.2552076442092 + y: 229.4507825525987 + positionAbsolute: + x: -273.2552076442092 + y: 229.4507825525987 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + selected: false + template: The service and node information are both empty. The root cause + cannot be analyzed at present. + title: unsupport alert + type: template-transform + variables: [] + height: 53 + id: '1741592094819' + position: + x: -197.1978677863928 + y: 320.9672037476066 + positionAbsolute: + x: -197.1978677863928 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741592094819' + - output + variable: output + selected: false + title: End + type: end + height: 89 + id: '1741592144815' + position: + x: 108.50623891829161 + y: 320.9672037476066 + positionAbsolute: + x: 108.50623891829161 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef get_value(data, keys):\n for key in keys:\n value =\ + \ data.get(key)\n if value is not None:\n return value\n\ + \ return \"\"\n\nimport json\ndef main(arg: str) -> dict:\n data =\ + \ json.loads(arg)\n return {\n \"service\": get_value(data, [\"\ + svc_name\", \"service\"]),\n \"endpoint\": get_value(data,[\"endpoint\"\ + , \"content_key\"]),\n \"pod\": get_value(data, [\"pod\"]),\n \ + \ \"namespace\": get_value(data, [\"namespace\"])\n }\n" + code_language: python3 + desc: '' + outputs: + endpoint: + children: null + type: string + namespace: + children: null + type: string + pod: + children: null + type: string + service: + children: null + type: string + selected: false + title: get params + type: code + variables: + - value_selector: + - '1741227526517' + - params + variable: arg + height: 53 + id: '1741594373498' + position: + x: -1157.0364551459677 + y: 1.3437486094946962 + positionAbsolute: + x: -1157.0364551459677 + y: 1.3437486094946962 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: Specified service name + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: list all service instance + tool_configurations: {} + tool_label: 列出该服务下的所有实例 + tool_name: originx_service_instance + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + service_name: + type: mixed + value: '{{#1741594373498.service#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741597223833' + position: + x: -294.32927017894997 + y: 157.59734137834707 + positionAbsolute: + x: -294.32927017894997 + y: 157.59734137834707 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: aggregator instance + type: variable-aggregator + variables: + - - '1741508508177' + - text + - - '1741597223833' + - text + - - '1741599658821' + - result + height: 150 + id: '1741597274153' + position: + x: 193.14802823419802 + y: -204.52864906050934 + positionAbsolute: + x: 193.14802823419802 + y: -204.52864906050934 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\nimport json\ndef main(arg1: str, arg2: str) -> dict:\n data =\ + \ {\n \"data\": {\n \"timeseries\": [\n \ + \ {\n \"labels\": {\n \"namespace\"\ + : arg2,\n \"pod\": arg1,\n }\n\ + \ }\n ]\n }\n }\n return {\n \ + \ \"result\": json.dumps(data),\n }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: get pod + type: code + variables: + - value_selector: + - '1741594373498' + - pod + variable: arg1 + - value_selector: + - '1741594373498' + - namespace + variable: arg2 + height: 53 + id: '1741599658821' + position: + x: -247.4257908482209 + y: 229.4507825525987 + positionAbsolute: + x: -247.4257908482209 + y: 229.4507825525987 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 1013.4467030561739 + y: 226.45985872778908 + zoom: 0.502416681805289 diff --git a/api/workflows/en/alert simple root cause analysis.yml b/api/workflows/en/alert simple root cause analysis.yml new file mode 100644 index 0000000000..d7b5460dcb --- /dev/null +++ b/api/workflows/en/alert simple root cause analysis.yml @@ -0,0 +1,2993 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: alert simple root cause analysis + use_icon_as_answer_icon: false +dependencies: [] +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: iteration-start + targetType: code + id: 1741497176064start-source-1741497181784-target + source: 1741497176064start + sourceHandle: source + target: '1741497181784' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: code + targetType: tool + id: 1741497181784-source-1741497216474-target + source: '1741497181784' + sourceHandle: source + target: '1741497216474' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: llm + id: 1741497216474-source-1741498390634-target + source: '1741497216474' + sourceHandle: source + target: '1741498390634' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: llm + targetType: question-classifier + id: 1741498390634-source-1741498403828-target + source: '1741498390634' + sourceHandle: source + target: '1741498403828' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1-1741498509378-target + source: '1741498403828' + sourceHandle: '1' + target: '1741498509378' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-2-1741498527215-target + source: '1741498403828' + sourceHandle: '2' + target: '1741498527215' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498415133-1741498907941-target + source: '1741498403828' + sourceHandle: '1741498415133' + target: '1741498907941' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741501265259-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741501265259' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: template-transform + id: 1741498403828-1741498426874-1741502665376-target + source: '1741498403828' + sourceHandle: '1741498426874' + target: '1741502665376' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741502699500-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741502699500' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498509378-source-1741502729293-target + source: '1741498509378' + sourceHandle: source + target: '1741502729293' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498527215-source-1741506670648-target + source: '1741498527215' + sourceHandle: source + target: '1741506670648' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498907941-source-1741506676593-target + source: '1741498907941' + sourceHandle: source + target: '1741506676593' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741501265259-source-1741506693125-target + source: '1741501265259' + sourceHandle: source + target: '1741506693125' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741499376556-source-1741506702729-target + source: '1741499376556' + sourceHandle: source + target: '1741506702729' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741502699500-source-1741506711511-target + source: '1741502699500' + sourceHandle: source + target: '1741506711511' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741502729293-source-1741506718903-target + source: '1741502729293' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506670648-source-1741506718903-target + source: '1741506670648' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506676593-source-1741506718903-target + source: '1741506676593' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506693125-source-1741506718903-target + source: '1741506693125' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506702729-source-1741506718903-target + source: '1741506702729' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506711511-source-1741506718903-target + source: '1741506711511' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: variable-aggregator + targetType: llm + id: 1741506718903-source-1741506766037-target + source: '1741506718903' + sourceHandle: source + target: '1741506766037' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: code + targetType: iteration + id: 1741509454645-source-1741497176064-target + selected: false + source: '1741509454645' + sourceHandle: source + target: '1741497176064' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: iteration + targetType: llm + id: 1741497176064-source-1741512806512-target + source: '1741497176064' + sourceHandle: source + target: '1741512806512' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741512806512-source-1741502839759-target + source: '1741512806512' + sourceHandle: source + target: '1741502839759' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: template-transform + targetType: variable-aggregator + id: 1741502665376-source-1741506718903-target + source: '1741502665376' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: if-else + targetType: template-transform + id: 1741592086921-false-1741592094819-target + source: '1741592086921' + sourceHandle: 'false' + target: '1741592094819' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-true-1741508508177-target + source: '1741592086921' + sourceHandle: 'true' + target: '1741508508177' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: template-transform + targetType: end + id: 1741592094819-source-1741592144815-target + source: '1741592094819' + sourceHandle: source + target: '1741592144815' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: code + id: 1741227526517-source-1741594373498-target + source: '1741227526517' + sourceHandle: source + target: '1741594373498' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: if-else + id: 1741594373498-source-1741592086921-target + source: '1741594373498' + sourceHandle: source + target: '1741592086921' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-456042b9-6979-4f20-b255-14d1e41754df-1741597223833-target + source: '1741592086921' + sourceHandle: 456042b9-6979-4f20-b255-14d1e41754df + target: '1741597223833' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741508508177-source-1741597274153-target + source: '1741508508177' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: code + id: 1741597274153-source-1741509454645-target + source: '1741597274153' + sourceHandle: source + target: '1741509454645' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741597223833-source-1741597274153-target + source: '1741597223833' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: code + id: 1741592086921-a687d810-ff81-4b8a-a2a4-b47b8c532039-1741599658821-target + source: '1741592086921' + sourceHandle: a687d810-ff81-4b8a-a2a4-b47b8c532039 + target: '1741599658821' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: variable-aggregator + id: 1741599658821-source-1741597274153-target + source: '1741599658821' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: params + max_length: 9999999 + options: [] + required: false + type: paragraph + variable: params + - label: nodeName + max_length: 256 + options: [] + required: false + type: text-input + variable: nodeName + - label: nodeIp + max_length: 48 + options: [] + required: false + type: text-input + variable: nodeIp + height: 193 + id: '1741227526517' + position: + x: -1517.4169518287483 + y: 30.40374262430791 + positionAbsolute: + x: -1517.4169518287483 + y: 30.40374262430791 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + error_handle_mode: terminated + height: 1119 + is_parallel: false + iterator_selector: + - '1741509454645' + - monitor + output_selector: + - '1741506766037' + - text + output_type: array[string] + parallel_nums: 10 + selected: false + start_node_id: 1741497176064start + title: iteration + type: iteration + width: 1780 + height: 1119 + id: '1741497176064' + position: + x: 496.33327072751604 + y: 271.35553284680793 + positionAbsolute: + x: 496.33327072751604 + y: 271.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 1780 + zIndex: 1 + - data: + desc: '' + isInIteration: true + selected: false + title: '' + type: iteration-start + draggable: false + height: 48 + id: 1741497176064start + parentId: '1741497176064' + position: + x: 24 + y: 68 + positionAbsolute: + x: 520.333270727516 + y: 339.35553284680793 + selectable: false + sourcePosition: right + targetPosition: left + type: custom-iteration-start + width: 44 + zIndex: 1002 + - data: + code: "\ndef main(arg1: str) -> dict:\n data = json.loads(arg1)\n return\ + \ {\n \"pod\": data.get(\"pod\", \"\"),\n \"namespace\": data.get(\"\ + namespace\", \"\")\n }\n" + code_language: python3 + desc: '' + isInIteration: true + iteration_id: '1741497176064' + outputs: + namespace: + children: null + type: string + pod: + children: null + type: string + selected: false + title: get args + type: code + variables: + - value_selector: + - '1741497176064' + - item + variable: arg1 + height: 53 + id: '1741497181784' + parentId: '1741497176064' + position: + x: 16 + y: 65 + positionAbsolute: + x: 512.333270727516 + y: 336.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Thread Polaris Metrics - ALL process type + tool_configurations: {} + tool_label: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_name: polar_process_all_resp + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741497216474' + parentId: '1741497176064' + position: + x: 428.6547554766032 + y: 67.98377959888398 + positionAbsolute: + x: 924.9880262041193 + y: 339.3393124456919 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: bf86aacb-6cf8-4ee0-85c6-ad591299624c + role: system + text: '' + - id: 53c48462-405a-4d2e-9ae4-ab0f54abc57a + role: user + text: '# Purpose + + Indicator analysis: Which type of change is the most obvious + + # Process: First confirm whether there is a sharp fluctuation. If there + is a fluctuation, identify the sub-item that causes the delay fluctuation + and which sub-item causes it. The calculation of the sub-item starts from + the time after the fluctuation. The sub-item should account for more than + 10% of the delay. Do not calculate from the beginning. If there is no + fluctuation, identify which sub-item is most similar to the delay curve + change. Please analyze carefully and verify whether the data meets the + requirement of more than 10%. + + / + + {{#1741497216474.text#}} + + # Note: Please try not to consider the futex type, try to analyze cpu, + net, epoll, file, runq + + If the data is empty, return directly without exception' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741498390634' + parentId: '1741497176064' + position: + x: 769.9574404460166 + y: 65 + positionAbsolute: + x: 1266.2907111735326 + y: 336.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + classes: + - id: '1' + name: cpu + - id: '2' + name: net + - id: '1741498415133' + name: file + - id: '1741498418311' + name: epoll + - id: '1741498422694' + name: runq + - id: '1741498426874' + name: futex + desc: '' + instruction: 'Please classify based on the above conclusions + + What kind of changes caused the current application + + Note that there may be no data' + instructions: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + query_variable_selector: + - '1741498390634' + - text + selected: false + title: classifier type + topics: [] + type: question-classifier + vision: + enabled: false + height: 317 + id: '1741498403828' + parentId: '1741497176064' + position: + x: 20.61584008101886 + y: 246.9787031382702 + positionAbsolute: + x: 516.9491108085349 + y: 518.3342359850781 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU usage + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498509378' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 907.0216314496689 + y: 622.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The network round-trip time between the container and the downstream + service (RTT, by namespace and Pod) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498527215' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 907.0216314496689 + y: 715.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container disk read time per second (using Containerd, by Pod and container) + tool_configurations: {} + tool_label: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) + tool_name: select_container_cpu + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498907941' + parentId: '1741497176064' + position: + x: 432.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 929.2977272929671 + y: 781.7724011344951 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host IO waiting CPU busy rate + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741499376556' + parentId: '1741497176064' + position: + x: 453.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 949.8346046229079 + y: 919.097272547303 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The number of file descriptors currently open on the host + tool_configurations: {} + tool_label: 宿主机当前打开文件描述符数 + tool_name: host_cpu_fd_open + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741501265259' + parentId: '1741497176064' + position: + x: 454.9055541105341 + y: 582.0321151443305 + positionAbsolute: + x: 951.2388248380502 + y: 853.3876479911385 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + selected: false + template: The current type is futex. The program may have GC or lock. It may + also be in sleep state. + title: unsupport + type: template-transform + variables: [] + height: 53 + id: '1741502665376' + parentId: '1741497176064' + position: + x: 450.0220921065131 + y: 821.6601419474025 + positionAbsolute: + x: 946.3553628340292 + y: 1093.0156747942106 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU throttling duration (when using Containerd container + runtime, statistics by container and Pod) + tool_configurations: {} + tool_label: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741502699500' + parentId: '1741497176064' + position: + x: 445.14779795415495 + y: 708.438700581942 + positionAbsolute: + x: 941.481068681671 + y: 979.79423342875 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498509378.text#}}' + type: tool + height: 53 + id: '1741502729293' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 1211.0216314496688 + y: 622.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + outputs: + - value_selector: + - '1741512806512' + - text + variable: text + - value_selector: [] + variable: '' + selected: false + title: END + type: end + height: 89 + id: '1741502839759' + position: + x: 2965.328638848552 + y: 535.4340422688811 + positionAbsolute: + x: 2965.328638848552 + y: 535.4340422688811 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498527215.text#}}' + type: tool + height: 53 + id: '1741506670648' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 1211.0216314496688 + y: 715.2252649484119 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741497181784.pod#}}' + type: tool + height: 53 + id: '1741506676593' + parentId: '1741497176064' + position: + x: 736.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 1233.297727292967 + y: 781.7724011344951 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741501265259.text#}}' + type: tool + height: 53 + id: '1741506693125' + parentId: '1741497176064' + position: + x: 736.9170936623195 + y: 579.6300240013376 + positionAbsolute: + x: 1233.2503643898356 + y: 850.9855568481455 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741499376556.text#}}' + type: tool + height: 53 + id: '1741506702729' + parentId: '1741497176064' + position: + x: 757.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 1253.834604622908 + y: 919.097272547303 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741502699500.text#}}' + type: tool + height: 53 + id: '1741506711511' + parentId: '1741497176064' + position: + x: 731.553574904796 + y: 710.0381754046111 + positionAbsolute: + x: 1227.886845632312 + y: 981.3937082514191 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + output_type: string + selected: false + title: Variable Aggreator + type: variable-aggregator + variables: + - - '1741502729293' + - text + - - '1741506670648' + - text + - - '1741506676593' + - text + - - '1741506693125' + - text + - - '1741506702729' + - text + - - '1741506711511' + - text + - - '1741502665376' + - output + height: 238 + id: '1741506718903' + parentId: '1741497176064' + position: + x: 1073.8586854551645 + y: 369.8785970965338 + positionAbsolute: + x: 1570.1919561826805 + y: 641.2341299433417 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: cd35fff4-a037-4e72-af99-2ff8299fc5d2 + role: system + text: '' + - id: 2b2ad468-efcd-4bcc-aeb9-d53d2f2770ad + role: user + text: '# Current program information + + pod {{#1741497181784.pod#}} + + The change of its occurrence type {{#1741498403828.class_name#}} + + The change trend is {{#1741506718903.output#}} + + + Note that if the change trend is true, it means jitter, and if it is false, + it means drastic change. This type cannot be ignored + + # Purpose + + Please analyze whether the service has problems based on the change trend + + Please use the interface indicator data and the type of abnormality that + occurs to give the direction in which you think the problem is most likely + to occur. + + If the type, directly give {{#1741497181784.pod#}} There is a problem, + + # Output + + Directly give the conclusion of whether the service has problems + + # Service indicator data + + {{#1741497216474.text#}}' + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741506766037' + parentId: '1741497176064' + position: + x: 1419.0118583614708 + y: 389.9745550824946 + positionAbsolute: + x: 1915.3451290889868 + y: 661.3300879293025 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified node name + ja_JP: Specified node name + pt_BR: Specified pod name + zh_Hans: 指定的主机名称 + label: + en_US: node_name + ja_JP: node_name + pt_BR: node_name + zh_Hans: node_name + llm_description: Specified pod name + max: null + min: null + name: node_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified Process ID + ja_JP: Specified Process ID + pt_BR: Specified Process ID + zh_Hans: 指定的进程ID + label: + en_US: pid + ja_JP: pid + pt_BR: pid + zh_Hans: pid + llm_description: Specified Process ID + max: null + min: null + name: pid + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node_name: '' + pid: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: query monitor service in node + tool_configurations: {} + tool_label: 查询节点上被监控的服务列表 + tool_name: originx_service_monitor + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node_name: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741508508177' + position: + x: -247.4257908482209 + y: 30.40374262430791 + positionAbsolute: + x: -247.4257908482209 + y: 30.40374262430791 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg: str) -> dict:\n data = json.loads(arg)\n \ + \ \n timeseries = data[\"data\"][\"timeseries\"]\n \n pod_info\ + \ = []\n \n for item in timeseries:\n labels = item[\"\ + labels\"]\n info = {\n \"namespace\": labels.get(\"namespace\"\ + , \"\"),\n \"pod\": labels.get(\"pod\", \"\")\n }\n \ + \ info_str = json.dumps(info)\n pod_info.append(info_str)\n\ + \ return {\n \"monitor\": pod_info,\n }\n" + code_language: python3 + desc: '' + outputs: + monitor: + children: null + type: array[string] + selected: false + title: get mointor pod info array + type: code + variables: + - value_selector: + - '1741597274153' + - output + variable: arg + height: 53 + id: '1741509454645' + position: + x: 685.1268015573559 + y: -116.29377758571027 + positionAbsolute: + x: 685.1268015573559 + y: -116.29377758571027 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + prompt_template: + - id: 169877de-aa4a-44db-90ef-2cc8f68882c4 + role: system + text: You are an intelligent assistant in the field of observability + - id: c9d29276-dfa5-4042-b1c6-562260f9cc7c + role: user + text: 'Summarize the current system situation + + {{#1741497176064.output#}} + + # Purpose + + Based on the suspected root cause node information, propose the suspected + direction and give suggestions based on the direction + + # Output + + List the service names and give relevant suggestions' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 95 + id: '1741512806512' + position: + x: 3005.3068595311206 + y: 271.35553284680793 + positionAbsolute: + x: 3005.3068595311206 + y: 271.35553284680793 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: empty + id: 3a1b34fd-9d82-4b24-88a5-938bd0528a2b + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: not empty + id: 82010d67-eb3d-4b38-913d-cf16321398f1 + value: '' + varType: string + variable_selector: + - '1741227526517' + - nodeName + - comparison_operator: empty + id: 2e61c0d3-3104-41b2-b957-88f99ddab311 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 'true' + logical_operator: and + - case_id: 456042b9-6979-4f20-b255-14d1e41754df + conditions: + - comparison_operator: not empty + id: 751d0cc0-a1f7-4a1d-b188-e31380c4e3a3 + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: empty + id: 0010de77-ddd1-4b14-be1d-b4755a0eb583 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 456042b9-6979-4f20-b255-14d1e41754df + logical_operator: and + - case_id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + conditions: + - comparison_operator: not empty + id: ba128d4b-353d-4efa-833d-6ff468b246b5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + - comparison_operator: not empty + id: 3d377325-fbe3-4629-bf95-37196a8a43a5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - namespace + id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + logical_operator: and + desc: '' + selected: false + title: alert classifier + type: if-else + height: 325 + id: '1741592086921' + position: + x: -774.8309098969905 + y: -4.710416810258039 + positionAbsolute: + x: -774.8309098969905 + y: -4.710416810258039 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + selected: false + template: The service and node information are both empty. The root cause + cannot be analyzed at present. + title: unsupport alert + type: template-transform + variables: [] + height: 53 + id: '1741592094819' + position: + x: -197.1978677863928 + y: 320.9672037476066 + positionAbsolute: + x: -197.1978677863928 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741592094819' + - output + variable: output + selected: false + title: End + type: end + height: 89 + id: '1741592144815' + position: + x: 108.50623891829161 + y: 320.9672037476066 + positionAbsolute: + x: 108.50623891829161 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef get_value(data, keys):\n for key in keys:\n value =\ + \ data.get(key)\n if value is not None:\n return value\n\ + \ return \"\"\n\nimport json\ndef main(arg: str) -> dict:\n data =\ + \ json.loads(arg)\n return {\n \"service\": get_value(data, [\"\ + svc_name\", \"service\"]),\n \"endpoint\": get_value(data,[\"endpoint\"\ + , \"content_key\"]),\n \"pod\": get_value(data, [\"pod\"]),\n \ + \ \"namespace\": get_value(data, [\"namespace\"])\n }\n" + code_language: python3 + desc: '' + outputs: + endpoint: + children: null + type: string + namespace: + children: null + type: string + pod: + children: null + type: string + service: + children: null + type: string + selected: false + title: get params + type: code + variables: + - value_selector: + - '1741227526517' + - params + variable: arg + height: 53 + id: '1741594373498' + position: + x: -1157.0364551459677 + y: 1.3437486094946962 + positionAbsolute: + x: -1157.0364551459677 + y: 1.3437486094946962 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: Specified service name + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: list all service instance + tool_configurations: {} + tool_label: 列出该服务下的所有实例 + tool_name: originx_service_instance + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + service_name: + type: mixed + value: '{{#1741594373498.service#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741597223833' + position: + x: -294.32927017894997 + y: 157.59734137834707 + positionAbsolute: + x: -294.32927017894997 + y: 157.59734137834707 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: aggregator instance + type: variable-aggregator + variables: + - - '1741508508177' + - text + - - '1741597223833' + - text + - - '1741599658821' + - result + height: 150 + id: '1741597274153' + position: + x: 193.14802823419802 + y: -204.52864906050934 + positionAbsolute: + x: 193.14802823419802 + y: -204.52864906050934 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\nimport json\ndef main(arg1: str, arg2: str) -> dict:\n data =\ + \ {\n \"data\": {\n \"timeseries\": [\n \ + \ {\n \"labels\": {\n \"namespace\"\ + : arg2,\n \"pod\": arg1,\n }\n\ + \ }\n ]\n }\n }\n return {\n \ + \ \"result\": json.dumps(data),\n }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: get pod + type: code + variables: + - value_selector: + - '1741594373498' + - pod + variable: arg1 + - value_selector: + - '1741594373498' + - namespace + variable: arg2 + height: 53 + id: '1741599658821' + position: + x: -247.4257908482209 + y: 229.4507825525987 + positionAbsolute: + x: -247.4257908482209 + y: 229.4507825525987 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 856.4768591555008 + y: 143.34014694095174 + zoom: 0.43527528164806223 diff --git a/api/workflows/en/alert validity confirmation.yml b/api/workflows/en/alert validity confirmation.yml new file mode 100644 index 0000000000..28cb78d449 --- /dev/null +++ b/api/workflows/en/alert validity confirmation.yml @@ -0,0 +1,4073 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: alert validity confirmation + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: code + targetType: question-classifier + id: 1741161440242-source-1741158559444-target + selected: false + source: '1741161440242' + sourceHandle: source + target: '1741158559444' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: tool + id: 1741162531836-source-1741166377433-target + selected: false + source: '1741162531836' + sourceHandle: source + target: '1741166377433' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: code + id: 1741157526222-source-1741161440242-target + selected: false + source: '1741157526222' + sourceHandle: source + target: '1741161440242' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: agent + targetType: question-classifier + id: 1741159085487-source-1741311244655-target + selected: false + source: '1741159085487' + sourceHandle: source + target: '1741311244655' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741311244655-1-1741311294320-target + selected: false + source: '1741311244655' + sourceHandle: '1' + target: '1741311294320' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: variable-aggregator + id: 1741311294320-source-1741311394752-target + selected: false + source: '1741311294320' + sourceHandle: source + target: '1741311394752' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: end + id: 1741311394752-source-1741157560922-target + selected: false + source: '1741311394752' + sourceHandle: source + target: '1741157560922' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741166377433-source-1741311394752-target + selected: false + source: '1741166377433' + sourceHandle: source + target: '1741311394752' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: agent + id: 1741158559444-1741319394268-1741159085487-target + selected: false + source: '1741158559444' + sourceHandle: '1741319394268' + target: '1741159085487' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1-1741328045214-target + selected: false + source: '1741158559444' + sourceHandle: '1' + target: '1741328045214' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741158765960-1741328058981-target + selected: false + source: '1741158559444' + sourceHandle: '1741158765960' + target: '1741328058981' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318878864-1741328076453-target + selected: false + source: '1741158559444' + sourceHandle: '1741318878864' + target: '1741328076453' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318899444-1741328169934-target + selected: false + source: '1741158559444' + sourceHandle: '1741318899444' + target: '1741328169934' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319019432-1741328197695-target + selected: false + source: '1741158559444' + sourceHandle: '1741319019432' + target: '1741328197695' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319060092-1741328213545-target + selected: false + source: '1741158559444' + sourceHandle: '1741319060092' + target: '1741328213545' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319099071-1741328346220-target + selected: false + source: '1741158559444' + sourceHandle: '1741319099071' + target: '1741328346220' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319132527-1741328423453-target + selected: false + source: '1741158559444' + sourceHandle: '1741319132527' + target: '1741328423453' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319160027-1741328466394-target + selected: false + source: '1741158559444' + sourceHandle: '1741319160027' + target: '1741328466394' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319171199-1741328692906-target + selected: false + source: '1741158559444' + sourceHandle: '1741319171199' + target: '1741328692906' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319213624-1741328742817-target + selected: false + source: '1741158559444' + sourceHandle: '1741319213624' + target: '1741328742817' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319251403-1741328773213-target + selected: false + source: '1741158559444' + sourceHandle: '1741319251403' + target: '1741328773213' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319284158-1741328799030-target + selected: false + source: '1741158559444' + sourceHandle: '1741319284158' + target: '1741328799030' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318983134-1741329632798-target + selected: false + source: '1741158559444' + sourceHandle: '1741318983134' + target: '1741329632798' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328045214-source-1741162531836-target + selected: false + source: '1741328045214' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328058981-source-1741162531836-target + selected: false + source: '1741328058981' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328076453-source-1741162531836-target + selected: false + source: '1741328076453' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328169934-source-1741162531836-target + selected: false + source: '1741328169934' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741329632798-source-1741162531836-target + selected: false + source: '1741329632798' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328197695-source-1741162531836-target + selected: false + source: '1741328197695' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328213545-source-1741162531836-target + selected: false + source: '1741328213545' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328346220-source-1741162531836-target + selected: false + source: '1741328346220' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328423453-source-1741162531836-target + selected: false + source: '1741328423453' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328466394-source-1741162531836-target + selected: false + source: '1741328466394' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328692906-source-1741162531836-target + selected: false + source: '1741328692906' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328742817-source-1741162531836-target + selected: false + source: '1741328742817' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328773213-source-1741162531836-target + selected: false + source: '1741328773213' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328799030-source-1741162531836-target + selected: false + source: '1741328799030' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741591414269-1741591590829-target + selected: false + source: '1741158559444' + sourceHandle: '1741591414269' + target: '1741591590829' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741591590829-source-1741162531836-target + selected: false + source: '1741591590829' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - allowed_file_extensions: [] + allowed_file_types: + - document + allowed_file_upload_methods: + - local_file + - remote_url + label: alert + max_length: 256 + options: [] + required: true + type: text-input + variable: alert + - label: params + max_length: 99999999999 + options: [] + required: true + type: paragraph + variable: params + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - allowed_file_extensions: + - .json + allowed_file_types: + - custom + allowed_file_upload_methods: + - local_file + - remote_url + label: input + max_length: 48 + options: [] + required: false + type: file + variable: input + height: 193 + id: '1741157526222' + position: + x: -474.8546859399444 + y: 113.39535872618072 + positionAbsolute: + x: -474.8546859399444 + y: 113.39535872618072 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741311394752' + - output + variable: text + selected: false + title: End + type: end + height: 89 + id: '1741157560922' + position: + x: 3744.206346600103 + y: 363.73374031791394 + positionAbsolute: + x: 3744.206346600103 + y: 363.73374031791394 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: 'Application metrics + + Average request latency increased by more than 20% compared to yesterday' + - id: '1741158765960' + name: 'Container related + + Container CPU usage exceeds 80%' + - id: '1741318878864' + name: 'Container related + + Container high cpu_cfs_throttled' + - id: '1741318899444' + name: 'Container related + + Container memory usage exceeds 80%' + - id: '1741318983134' + name: 'Application metrics + + Error rate increased' + - id: '1741319019432' + name: 'Network related + + Network RTT delay exceeds 50ms' + - id: '1741319060092' + name: 'Host related + + Disk less than 20%' + - id: '1741319099071' + name: 'Host related + + Abnormal network inbound throughput' + - id: '1741319132527' + name: 'Host related + + Abnormal disk read speed' + - id: '1741319160027' + name: 'Host related + + Abnormal disk write speed' + - id: '1741319171199' + name: 'Host related + + CPU high load' + - id: '1741319213624' + name: 'Host related + + Abnormal disk IO utilization' + - id: '1741319251403' + name: 'Host related + + CPU high IO utilization' + - id: '1741319284158' + name: 'Host related + + File descriptor usage exceeds 85%' + - id: '1741319394268' + name: Unknown Type + - id: '1741591414269' + name: 'Container type + + Container is killed' + desc: '' + instruction: Please classifiy the type of alarm event from the alarm event + description + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-v3 + provider: langgenius/openai_api_compatible/openai_api_compatible + query_variable_selector: + - '1741157526222' + - alert + selected: false + title: Question Classifier + topics: [] + type: question-classifier + vision: + enabled: false + height: 885 + id: '1741158559444' + position: + x: 457.0185062880778 + y: 139.09402013442167 + positionAbsolute: + x: 457.0185062880778 + y: 139.09402013442167 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + agent_parameters: + instruction: + type: constant + value: 根据告警事件的描述,选择工具查询数据,返回工具查询内容 + model: + type: constant + value: + completion_params: {} + mode: chat + model: deepseek-chat + model_type: llm + provider: langgenius/deepseek/deepseek + type: model-selector + query: + type: constant + value: '# alert info + + {{#1741157526222.alert#}} + + # data params + + {{#1741157526222.params#}} + + # startTime + + {{#1741157526222.startTime#}} + + # endTime + + {{#1741157526222.endTime#}} + + Please determine whether the indicator data is jittering or continuously + rising' + tools: + type: constant + value: + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机最近1分钟的系统负载 + tool_name: 查询宿主机最近1分钟的系统负载 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机磁盘读取数据速率(字节/秒) + tool_name: 宿主机磁盘读取数据速率(字节/秒) + type: builtin + - enabled: true + extra: + description: '' + parameters: + content_key: + auto: 1 + value: null + endTime: + auto: 1 + value: null + service_name: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 服务请求成功率(按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 请求成功率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机RAM总大小 + tool_name: 查询宿主机RAM总大小 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机根文件系统使用率 + tool_name: 查询宿主机根文件系统使用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机CPU繁忙率(百分比) + tool_name: 查询主机CPU利用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机磁盘IO耗时速率 + tool_name: 宿主机磁盘IO耗时速率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机CPU压力 + tool_name: 查询宿主机CPU压力 + type: builtin + agent_strategy_label: FunctionCalling + agent_strategy_name: function_calling + agent_strategy_provider_name: langgenius/agent/agent + desc: '' + output_schema: null + plugin_unique_identifier: langgenius/agent:0.0.9@f16916b704a20067317dbe9030f62aa28f0832021a3ef6d4ce699504074c5e13 + selected: false + title: Agent + type: agent + height: 197 + id: '1741159085487' + position: + x: 1307.6754497452887 + y: 1290.1574754514506 + positionAbsolute: + x: 1307.6754497452887 + y: 1290.1574754514506 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef get_value(data, keys):\n for key in keys:\n value =\ + \ data.get(key)\n if value is not None:\n return value\n\ + \ return \"\"\n\nimport json\ndef main(arg: str) -> dict:\n data =\ + \ json.loads(arg)\n return {\n \"node\": data.get('node', ''),\n\ + \ \"service\": get_value(data, [\"svc_name\", \"service\"]),\n \ + \ \"endpoint\": get_value(data,[\"endpoint\", \"content_key\"]),\n\ + \ \"pod\": data.get('pod', ''),\n \"namespace\": data.get('namespace',\ + \ ''),\n }\n" + code_language: python3 + desc: '' + outputs: + endpoint: + children: null + type: string + namespace: + children: null + type: string + node: + children: null + type: string + pod: + children: null + type: string + service: + children: null + type: string + selected: false + title: get params + type: code + variables: + - value_selector: + - '1741157526222' + - params + variable: arg + height: 53 + id: '1741161440242' + position: + x: -69.08988532973478 + y: 292.1938971823079 + positionAbsolute: + x: -69.08988532973478 + y: 292.1938971823079 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: aggregator data + type: variable-aggregator + variables: + - - '1741328045214' + - text + - - '1741328058981' + - text + - - '1741328076453' + - text + - - '1741328169934' + - text + - - '1741329632798' + - text + - - '1741328197695' + - text + - - '1741328423453' + - text + - - '1741328466394' + - text + - - '1741328692906' + - text + - - '1741328742817' + - text + - - '1741328773213' + - text + - - '1741328799030' + - text + - - '1741591590829' + - text + height: 370 + id: '1741162531836' + position: + x: 1791.1271628500772 + y: 78.61010888432415 + positionAbsolute: + x: 1791.1271628500772 + y: 78.61010888432415 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: trend analysis + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741162531836.output#}}' + type: tool + height: 53 + id: '1741166377433' + position: + x: 2391.9587465022714 + y: 113.39535872618072 + positionAbsolute: + x: 2391.9587465022714 + y: 113.39535872618072 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: jitter + - id: '2' + name: continuous + desc: '' + instruction: Determine whether the input conclusion is jitter or continuous + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741159085487' + - text + selected: false + title: Question Classifier + topics: [] + type: question-classifier + vision: + enabled: false + height: 167 + id: '1741311244655' + position: + x: 1978.2523323677738 + y: 1024.2103589724884 + positionAbsolute: + x: 1978.2523323677738 + y: 1024.2103589724884 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg1: str) -> dict:\n res = \"true\"\n if arg1 ==\ + \ \"continuous\":\n res = \"false\"\n return {\n \"result\"\ + : res,\n }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: get alert vaild + type: code + variables: + - value_selector: + - '1741311244655' + - class_name + variable: arg1 + height: 53 + id: '1741311294320' + position: + x: 2339.896564438594 + y: 908.8373922229209 + positionAbsolute: + x: 2339.896564438594 + y: 908.8373922229209 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: aggregator data + type: variable-aggregator + variables: + - - '1741311294320' + - result + - - '1741166377433' + - text + height: 128 + id: '1741311394752' + position: + x: 3165.5195077270564 + y: 457.05597714025964 + positionAbsolute: + x: 3165.5195077270564 + y: 457.05597714025964 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + content_key: '' + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Average service response time (milliseconds, by service name and content + key, within a specified time period) + tool_configurations: {} + tool_label: 服务平均响应时间(毫秒,按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 平均响应时间 + tool_parameters: + content_key: + type: mixed + value: '{{#1741161440242.endpoint#}}' + endTime: + type: variable + value: + - '1741157526222' + - endTime + service_name: + type: mixed + value: '{{#1741161440242.service#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328045214' + position: + x: 855.3123364340672 + y: 87.84552204580373 + positionAbsolute: + x: 855.3123364340672 + y: 87.84552204580373 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU usage (when using Containerd container runtime, statistics + are calculated by container and Pod) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328058981' + position: + x: 866.9205146355775 + y: 182.43066738622156 + positionAbsolute: + x: 866.9205146355775 + y: 182.43066738622156 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Container CPU throttling duration (when using Containerd container + runtime, statistics by container and Pod) + tool_configurations: {} + tool_label: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328076453' + position: + x: 879.4543026140257 + y: 267.35126206280336 + positionAbsolute: + x: 879.4543026140257 + y: 267.35126206280336 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Number of bytes of container memory used (when using containerd container + runtime, statistics are calculated by container and Pod) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器内存使用量 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328169934' + position: + x: 879.4543026140257 + y: 347.02153779457154 + positionAbsolute: + x: 879.4543026140257 + y: 347.02153779457154 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The network round-trip time between the container and the downstream + service (RTT, by namespace and Pod) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328197695' + position: + x: 879.4543026140257 + y: 516.6534783332379 + positionAbsolute: + x: 879.4543026140257 + y: 516.6534783332379 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host disk usage (percentage, excluding rootfs) + tool_configurations: {} + tool_label: 宿主机磁盘使用率(百分比,不含rootfs) + tool_name: 宿主机磁盘使用率(百分比,不含rootfs) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328213545' + position: + x: 897.1352138415443 + y: 617.4421900673747 + positionAbsolute: + x: 897.1352138415443 + y: 617.4421900673747 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host network receiving rate (bits/second) + tool_configurations: {} + tool_label: 宿主机网络接收速率(比特/秒) + tool_name: 宿主机网络接收速率(比特/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328346220' + position: + x: 897.1352138415443 + y: 706.3425334205976 + positionAbsolute: + x: 897.1352138415443 + y: 706.3425334205976 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host disk read data rate (bytes/second) + tool_configurations: {} + tool_label: 宿主机磁盘读取数据速率(字节/秒) + tool_name: 宿主机磁盘读取数据速率(字节/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328423453' + position: + x: 909.6690018199924 + y: 807.5848583297699 + positionAbsolute: + x: 909.6690018199924 + y: 807.5848583297699 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host disk write data rate (bytes/second) + tool_configurations: {} + tool_label: 宿主机磁盘写入数据速率(字节/秒) + tool_name: 宿主机磁盘写入数据速率(字节/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328466394' + position: + x: 922.0951827508213 + y: 890.0354967992098 + positionAbsolute: + x: 922.0951827508213 + y: 890.0354967992098 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host CPU busy rate (percentage) + tool_configurations: {} + tool_label: 宿主机CPU繁忙率(百分比) + tool_name: 查询主机CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328692906' + position: + x: 1288.1326361010936 + y: 765.9218546549957 + positionAbsolute: + x: 1288.1326361010936 + y: 765.9218546549957 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host disk IO time consumption rate + tool_configurations: {} + tool_label: 宿主机磁盘IO耗时速率 + tool_name: 宿主机磁盘IO耗时速率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328742817' + position: + x: 1320.3050732843196 + y: 838.8279382371494 + positionAbsolute: + x: 1320.3050732843196 + y: 838.8279382371494 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Host IO waiting CPU busy rate + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328773213' + position: + x: 1295.1943032554088 + y: 918.3967184410467 + positionAbsolute: + x: 1295.1943032554088 + y: 918.3967184410467 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: The number of file descriptors currently open on the host + tool_configurations: {} + tool_label: 宿主机当前打开文件描述符数 + tool_name: host_cpu_fd_open + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328799030' + position: + x: 1300.5588170319227 + y: 999.2631864254831 + positionAbsolute: + x: 1300.5588170319227 + y: 999.2631864254831 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + content_key: '' + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Service request success rate (by service name and content key, within + a specified time period) + tool_configurations: {} + tool_label: 服务请求成功率(按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 请求成功率 + tool_parameters: + content_key: + type: mixed + value: '{{#1741161440242.endpoint#}}' + endTime: + type: variable + value: + - '1741157526222' + - endTime + service_name: + type: mixed + value: '{{#1741161440242.service#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741329632798' + position: + x: 879.4543026140257 + y: 428.59818368333947 + positionAbsolute: + x: 879.4543026140257 + y: 428.59818368333947 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Number of bytes of container memory used (when using containerd container + runtime, statistics are calculated by container and Pod) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器内存使用量 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741591590829' + position: + x: 1106.622658811791 + y: 1100.534952103478 + positionAbsolute: + x: 1106.622658811791 + y: 1100.534952103478 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 562.6748622348487 + y: 184.9909979491867 + zoom: 0.5641586917716426 diff --git a/api/workflows/en/service cpu analysis.yml b/api/workflows/en/service cpu analysis.yml new file mode 100644 index 0000000000..dbbc8e13e3 --- /dev/null +++ b/api/workflows/en/service cpu analysis.yml @@ -0,0 +1,395 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: service cpu analysis + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740036921982-source-1740104897746-target + source: '1740036921982' + sourceHandle: source + target: '1740104897746' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1740104897746-source-1740015067036-target + source: '1740104897746' + sourceHandle: source + target: '1740015067036' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740015029630-source-1741674653518-target + source: '1740015029630' + sourceHandle: source + target: '1741674653518' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1741674653518-source-1740036921982-target + source: '1741674653518' + sourceHandle: source + target: '1740036921982' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: start + type: start + variables: + - label: nodeName + max_length: 48 + options: [] + required: true + type: text-input + variable: nodeName + - label: startTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(Microsecond) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: threshold + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 167 + id: '1740015029630' + position: + x: 30 + y: 284 + positionAbsolute: + x: 30 + y: 284 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740104897746' + - text + variable: text + selected: false + title: End + type: end + height: 89 + id: '1740015067036' + position: + x: 1246 + y: 284 + positionAbsolute: + x: 1246 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: threshold + tool_configurations: {} + tool_label: 阈值判定 + tool_name: threshold + tool_parameters: + metricData: + type: mixed + value: '{{#1741674653518.text#}}' + metric_data: + type: mixed + value: '{{#1740015062887.text#}}' + threshold: + type: mixed + value: '{{#1740015029630.threshold#}}' + type: tool + height: 53 + id: '1740036921982' + position: + x: 638 + y: 284 + positionAbsolute: + x: 638 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: e4014d51-74b3-4178-b332-e6ba6f3ac429 + role: system + text: '' + - id: 09d0cef1-48c4-438a-8104-4cf1ef50c3b5 + role: user + text: 'This is the indicator time point when the CPU of the {{#1740015029630.nodeName#}} + machine exceeds the threshold + + {{#1740036921982.text#}} + + Please analyze it' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740104897746' + position: + x: 943.4285714285713 + y: 284 + positionAbsolute: + x: 943.4285714285713 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Query host's CPU cores usage + tool_configurations: {} + tool_label: Query host's CPU cores usage + tool_name: 查询宿主机宿主机CPU使用量(核数) + tool_parameters: + endTime: + type: variable + value: + - '1740015029630' + - endTime + node: + type: mixed + value: '{{#1740015029630.nodeName#}}' + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1741674653518' + position: + x: 334 + y: 284 + positionAbsolute: + x: 334 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 45 + y: 100.99999999999994 + zoom: 0.7 diff --git a/api/workflows/zh/CPU异常分析确认.yml b/api/workflows/zh/CPU异常分析确认.yml new file mode 100644 index 0000000000..86d21bf786 --- /dev/null +++ b/api/workflows/zh/CPU异常分析确认.yml @@ -0,0 +1,453 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: CPU异常分析确认 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741075107082-source-1741075292023-target + source: '1741075107082' + sourceHandle: source + target: '1741075292023' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1741075292023-source-1741075297532-target + source: '1741075292023' + sourceHandle: source + target: '1741075297532' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1741075297532-source-1741075304942-target + source: '1741075297532' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: 内存阈值 + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 193 + id: '1741075107082' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询容器内存使用量 + tool_configurations: {} + tool_label: 查询容器内存使用量 + tool_name: select_container_rss + tool_parameters: + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1741075292023' + position: + x: 384 + y: 282 + positionAbsolute: + x: 384 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 检测指标类型数据是否超过阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 阈值判定 + tool_configurations: {} + tool_label: 阈值判定 + tool_name: threshold + tool_parameters: + metricData: + type: mixed + value: '{{#1741075292023.text#}}' + threshold: + type: mixed + value: '{{#1741075292023.text#}}' + type: tool + height: 53 + id: '1741075297532' + position: + x: 688 + y: 282 + positionAbsolute: + x: 688 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: '这是pod{{#1741075292023.text#}} + + 内存上涨情况 + + {{#1741075297532.text#}} + + 请分析当前容器内存占用是否正常' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 992 + y: 282 + positionAbsolute: + x: 992 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 1296 + y: 282 + positionAbsolute: + x: 1296 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 126.3029578804244 + y: 157.3974879117509 + zoom: 0.5334767533879591 diff --git a/api/workflows/zh/主机CPU使用率分析.yml b/api/workflows/zh/主机CPU使用率分析.yml new file mode 100644 index 0000000000..b1ac8f4b73 --- /dev/null +++ b/api/workflows/zh/主机CPU使用率分析.yml @@ -0,0 +1,834 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 主机CPU使用率分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1740104897746-source-1740015067036-target + selected: false + source: '1740104897746' + sourceHandle: source + target: '1740015067036' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740015029630-source-1742540820426-target + selected: false + source: '1740015029630' + sourceHandle: source + target: '1742540820426' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742540820426-source-1740104897746-target + selected: false + source: '1742540820426' + sourceHandle: source + target: '1740104897746' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1740015029630-source-1742549684668-target + source: '1740015029630' + sourceHandle: source + target: '1742549684668' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742549684668-false-1742549705555-target + source: '1742549684668' + sourceHandle: 'false' + target: '1742549705555' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742549684668-true-1742549701553-target + source: '1742549684668' + sourceHandle: 'true' + target: '1742549701553' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742549701553-source-1742549728352-target + source: '1742549701553' + sourceHandle: source + target: '1742549728352' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742549705555-source-1742549728352-target + source: '1742549705555' + sourceHandle: source + target: '1742549728352' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742549728352-source-1740104897746-target + selected: false + source: '1742549728352' + sourceHandle: source + target: '1740104897746' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: nodeName + max_length: 48 + options: [] + required: false + type: text-input + variable: nodeName + - label: 查询开始时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: 查询结束时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: Prometheus Job + max_length: 48 + options: [] + required: false + type: text-input + variable: prometheus_job + - label: 容器运行时类型(containered或docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + height: 193 + id: '1740015029630' + position: + x: -78.57142857142856 + y: 284 + positionAbsolute: + x: -78.57142857142856 + y: 284 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740104897746' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1740015067036' + position: + x: 1448.1754605102717 + y: 290.5639905999831 + positionAbsolute: + x: 1448.1754605102717 + y: 290.5639905999831 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: e4014d51-74b3-4178-b332-e6ba6f3ac429 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: 09d0cef1-48c4-438a-8104-4cf1ef50c3b5 + role: user + text: '# 目的 + + 根据指标数据分析主机{{#1740015029630.nodeName#}}的CPU使用情况。 + + # 分析过程 + + 1. 查看原始数据 + + 查看{{#1742540820426.text#}}和集群内容器的CPU使用率{{#1742549728352.output#}}。 + + 2. 查看相关指标变化趋势 + + 首先提取出在该主机{{#1740015029630.nodeName#}}上的容器,再分析相同时间内主机CPU使用率的异常情况结合容器CPU使用情况判断主机CPU异常原因。 + + 3. 给出结论 + + 根据你的分析结果将异常时间段的突变值变化展示出来。如xx主机在xx-xx时间内CPU异常,可能的原因是xx。 + + # 输出 + + 主机{{#1740015029630.nodeName#}}的CPU使用率分析: + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740104897746' + position: + x: 1127.6065641419884 + y: 290.5639905999831 + positionAbsolute: + x: 1127.6065641419884 + y: 290.5639905999831 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机CPU压力 + tool_configurations: {} + tool_label: 查询宿主机CPU压力 + tool_name: 查询宿主机CPU压力 + tool_parameters: + endTime: + type: variable + value: + - '1740015029630' + - endTime + job: + type: mixed + value: '{{#1740015029630.prometheus_job#}}' + node: + type: mixed + value: '{{#1740015029630.nodeName#}}' + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742540820426' + position: + x: 256.0040597338176 + y: 284 + positionAbsolute: + x: 256.0040597338176 + y: 284 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: 69c0e031-6820-4b42-89d2-01d9d78068d0 + value: containered + varType: string + variable_selector: + - '1740015029630' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742549684668' + position: + x: 243.50131321982803 + y: 430.38350603407144 + positionAbsolute: + x: 243.50131321982803 + y: 430.38350603407144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '' + endTime: + type: variable + value: + - '1740015029630' + - endTime + namespace: + type: mixed + value: '' + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742549701553' + position: + x: 530.6350866347744 + y: 430.38350603407144 + positionAbsolute: + x: 530.6350866347744 + y: 430.38350603407144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_name: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1740015029630' + - endTime + startTime: + type: variable + value: + - '1740015029630' + - startTime + type: tool + height: 53 + id: '1742549705555' + position: + x: 530.6350866347744 + y: 503.82644836325954 + positionAbsolute: + x: 530.6350866347744 + y: 503.82644836325954 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742549705555' + - text + - - '1742549701553' + - text + height: 128 + id: '1742549728352' + position: + x: 827.9613470371493 + y: 436.67711431399334 + positionAbsolute: + x: 827.9613470371493 + y: 436.67711431399334 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 69.99234995254068 + y: 88.66600382892216 + zoom: 0.5305007982786396 diff --git a/api/workflows/zh/主机内存异常分析.yml b/api/workflows/zh/主机内存异常分析.yml new file mode 100644 index 0000000000..cecd178686 --- /dev/null +++ b/api/workflows/zh/主机内存异常分析.yml @@ -0,0 +1,543 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 主机内存异常分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742546426270-source-1742546452789-target + source: '1742546426270' + sourceHandle: source + target: '1742546452789' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742546426270-source-1742546457440-target + source: '1742546426270' + sourceHandle: source + target: '1742546457440' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742546452789-source-1742546481644-target + source: '1742546452789' + sourceHandle: source + target: '1742546481644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742546457440-source-1742546481644-target + source: '1742546457440' + sourceHandle: source + target: '1742546481644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742546481644-source-1742546671231-target + source: '1742546481644' + sourceHandle: source + target: '1742546671231' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: 查询开始时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: 查询结束时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: Prometheus Job名 + max_length: 48 + options: [] + required: false + type: text-input + variable: prometheus_job + - label: 主机节点名 + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + - label: 阈值 + max_length: 48 + options: [] + required: true + type: number + variable: threshold + height: 193 + id: '1742546426270' + position: + x: 70 + y: 313 + positionAbsolute: + x: 70 + y: 313 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机RAM使用率 + tool_configurations: {} + tool_label: 查询宿主机RAM使用率 + tool_name: 查询宿主机RAM使用率 + tool_parameters: + endTime: + type: variable + value: + - '1742546426270' + - end_time + job: + type: mixed + value: '{{#1742546426270.prometheus_job#}}' + node: + type: mixed + value: '{{#1742546426270.node_name#}}' + startTime: + type: variable + value: + - '1742546426270' + - end_time + type: tool + height: 53 + id: '1742546452789' + position: + x: 419 + y: 277 + positionAbsolute: + x: 419 + y: 277 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + job: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询宿主机RAM总大小 + tool_configurations: {} + tool_label: 查询宿主机RAM总大小 + tool_name: 查询宿主机RAM总大小 + tool_parameters: + endTime: + type: variable + value: + - '1742546426270' + - end_time + job: + type: mixed + value: '{{#1742546426270.prometheus_job#}}' + node: + type: mixed + value: '{{#1742546426270.node_name#}}' + startTime: + type: variable + value: + - '1742546426270' + - start_time + type: tool + height: 53 + id: '1742546457440' + position: + x: 419 + y: 384 + positionAbsolute: + x: 419 + y: 384 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fa3330e1-30ec-4355-b5ee-ed175aebee07 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: a8b12002-eb47-4fa7-a81a-035ce69decc5 + role: user + text: '# 目的 + + 根据指标数据分析主机{{#1742546426270.node_name#}}内存是否存在异常。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据{{#1742546452789.text#}}{{#1742546457440.text#}},获取主机内存使用率和总大小。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了阈值{{#1742546426270.threshold#}},请与使用率{{#1742546452789.text#}}进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx主机在xx-xx时间内内存存在异常,从xx突变到xx。 + + # 输出 + + 主机{{#1742546426270.node_name#}}的内存异常分析结果 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742546481644' + position: + x: 838.1041129274082 + y: 323.8391939960704 + positionAbsolute: + x: 838.1041129274082 + y: 323.8391939960704 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742546481644' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742546671231' + position: + x: 1194.5045972085811 + y: 323.8391939960704 + positionAbsolute: + x: 1194.5045972085811 + y: 323.8391939960704 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 23.702627293950854 + y: 45.78611941327074 + zoom: 0.6597539553864472 diff --git a/api/workflows/zh/告警单节点根因分析方法2.yml b/api/workflows/zh/告警单节点根因分析方法2.yml new file mode 100644 index 0000000000..59a55799a1 --- /dev/null +++ b/api/workflows/zh/告警单节点根因分析方法2.yml @@ -0,0 +1,1314 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 告警单节点根因分析方法2 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: question-classifier + id: 1741230295029-source-1741230739968-target + source: '1741230295029' + sourceHandle: source + target: '1741230739968' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741230739968-1-1741230863929-target + source: '1741230739968' + sourceHandle: '1' + target: '1741230863929' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741230739968-1741230783652-1741230879456-target + source: '1741230739968' + sourceHandle: '1741230783652' + target: '1741230879456' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741227526517-source-1741233047156-target + source: '1741227526517' + sourceHandle: source + target: '1741233047156' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1741233047156-source-1741230295029-target + source: '1741233047156' + sourceHandle: source + target: '1741230295029' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741230739968-1741231208277-1741244891046-target + source: '1741230739968' + sourceHandle: '1741231208277' + target: '1741244891046' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741230863929-source-1741244925612-target + source: '1741230863929' + sourceHandle: source + target: '1741244925612' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741230879456-source-1741244925612-target + source: '1741230879456' + sourceHandle: source + target: '1741244925612' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741244891046-source-1741244925612-target + source: '1741244891046' + sourceHandle: source + target: '1741244925612' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1741244925612-source-1741244939202-target + source: '1741244925612' + sourceHandle: source + target: '1741244939202' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741244939202-source-1741228697068-target + source: '1741244939202' + sourceHandle: source + target: '1741228697068' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741249992121-source-1741244925612-target + source: '1741249992121' + sourceHandle: source + target: '1741244925612' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741230739968-1741245277478-1741249992121-target + source: '1741230739968' + sourceHandle: '1741245277478' + target: '1741249992121' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741230739968-1741244867836-1741250470768-target + source: '1741230739968' + sourceHandle: '1741244867836' + target: '1741250470768' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741250470768-source-1741244925612-target + source: '1741250470768' + sourceHandle: source + target: '1741244925612' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: template-transform + id: 1741230739968-1741245281740-1741250895212-target + source: '1741230739968' + sourceHandle: '1741245281740' + target: '1741250895212' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: template-transform + targetType: end + id: 1741250895212-source-1741250879189-target + source: '1741250895212' + sourceHandle: source + target: '1741250879189' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: node + max_length: 48 + options: [] + required: true + type: text-input + variable: node + - label: namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + height: 193 + id: '1741227526517' + position: + x: 28.01572730557814 + y: 326.4532780177941 + positionAbsolute: + x: 28.01572730557814 + y: 326.4532780177941 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741244939202' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741228697068' + position: + x: 2615.5956874423773 + y: 304.3955347785623 + positionAbsolute: + x: 2615.5956874423773 + y: 304.3955347785623 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 07268a7f-bab7-4d87-8023-b1cf767599f5 + role: system + text: '' + - id: 4d5acb44-2697-4f98-84ca-f5a95fe50214 + role: user + text: '目的# 从延时曲线数据中,识别引起总延时(每项加起来)波动的分项。 #推理过程# 先确认延时是否有剧烈波动,如果有波动,识别是引起延时波动分项,哪个分项导致的。分项的计算从波动之后的时间开始计算,分项要占比延时的10%以上,不要从一开始就计算。如果没有波动,识别哪个分项与延时曲线变化最相似。请仔细分析,同时验算数据是否符合超过10%的要求。 + + {{#1741233047156.text#}} + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741230295029' + position: + x: 676.1474097670701 + y: 326.4532780177941 + positionAbsolute: + x: 676.1474097670701 + y: 326.4532780177941 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: cpu + - id: '1741230783652' + name: net + - id: '1741231208277' + name: file + - id: '1741244867836' + name: epoll + - id: '1741245277478' + name: runq + - id: '1741245281740' + name: futex + desc: '' + instruction: 分析当前影响是哪类数据导致 + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741230295029' + - text + selected: false + title: 问题分类器 + topics: [] + type: question-classifier + vision: + enabled: false + height: 311 + id: '1741230739968' + position: + x: 991.363463072337 + y: 316.33552216737144 + positionAbsolute: + x: 991.363463072337 + y: 316.33552216737144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询容器CPU利用率 + tool_configurations: {} + tool_label: 查询容器CPU利用率 + tool_name: select_container_cpu + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741227526517.namespace#}}' + pod: + type: mixed + value: '{{#1741227526517.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741230863929' + position: + x: 1386.5992120197463 + y: 226.53525950728692 + positionAbsolute: + x: 1386.5992120197463 + y: 226.53525950728692 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询容器网络与下游RTT + tool_configurations: {} + tool_label: 查询容器网络与下游RTT + tool_name: container_rtt + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741227526517.namespace#}}' + pod: + type: mixed + value: '{{#1741227526517.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741230879456' + position: + x: 1386.5992120197463 + y: 316.33552216737144 + positionAbsolute: + x: 1386.5992120197463 + y: 316.33552216737144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_configurations: {} + tool_label: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_name: polar_process_all_resp + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + pod: + type: mixed + value: '{{#1741227526517.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741233047156' + position: + x: 370.9340532178553 + y: 326.4532780177941 + positionAbsolute: + x: 370.9340532178553 + y: 326.4532780177941 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 基础设施情况 - 容器磁盘 - 读写花费时间 /s - Read + tool_configurations: {} + tool_label: 基础设施情况 - 容器磁盘 - 读写花费时间 /s - Read + tool_name: select_container_cpu + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741227526517.namespace#}}' + pod: + type: mixed + value: '{{#1741227526517.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741244891046' + position: + x: 1376.678855542371 + y: 406.9882676356749 + positionAbsolute: + x: 1376.678855542371 + y: 406.9882676356749 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1741230863929' + - text + - - '1741230879456' + - text + - - '1741244891046' + - text + - - '1741249992121' + - text + - - '1741250470768' + - text + height: 194 + id: '1741244925612' + position: + x: 1707.6644778326288 + y: 304.3955347785623 + positionAbsolute: + x: 1707.6644778326288 + y: 304.3955347785623 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 68f610cd-e65e-4776-8167-ee307974e383 + role: system + text: '' + - id: 8d7cb5ba-6374-4e45-9342-cfdbccfc70ff + role: user + text: '分析出当前程序{{#1741230739968.class_name#}}类型延时升高,且相关指标数据如下 + + {{#1741244925612.output#}} + + 请你分析可能存在的问题' + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741244939202' + position: + x: 2122.7952335532154 + y: 316.33552216737144 + positionAbsolute: + x: 2122.7952335532154 + y: 316.33552216737144 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机监控指标 - Basic CPU / Mem / Net / Disk - CPU Basic - Busy Iowait + tool_configurations: {} + tool_label: 宿主机监控指标 - Basic CPU / Mem / Net / Disk - CPU Basic - Busy Iowait + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.node#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741249992121' + position: + x: 1381.5166215693598 + y: 546.7533392299019 + positionAbsolute: + x: 1381.5166215693598 + y: 546.7533392299019 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机监控指标 - System Misc - File Descriptors - Open file descriptors + tool_configurations: {} + tool_label: 宿主机监控指标 - System Misc - File Descriptors - Open file descriptors + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741250470768' + position: + x: 1386.5992120197463 + y: 476.94858467845734 + positionAbsolute: + x: 1386.5992120197463 + y: 476.94858467845734 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741250895212' + - output + variable: output + selected: false + title: 结束 2 + type: end + height: 89 + id: '1741250879189' + position: + x: 2138.1284891962086 + y: 687.7180492900417 + positionAbsolute: + x: 2138.1284891962086 + y: 687.7180492900417 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + selected: false + template: '当前类型为futex + + 程序可能发生gc或者lock。还可能处于睡眠状态' + title: 模板转换 + type: template-transform + variables: [] + height: 53 + id: '1741250895212' + position: + x: 1611.7350577123495 + y: 695.392402899664 + positionAbsolute: + x: 1611.7350577123495 + y: 695.392402899664 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 357.8869398206872 + y: 135.3602579751295 + zoom: 0.5817500901206897 diff --git a/api/workflows/zh/告警有效性确认.yml b/api/workflows/zh/告警有效性确认.yml new file mode 100644 index 0000000000..d96ae3448e --- /dev/null +++ b/api/workflows/zh/告警有效性确认.yml @@ -0,0 +1,4027 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 告警有效性确认 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: code + targetType: question-classifier + id: 1741161440242-source-1741158559444-target + source: '1741161440242' + sourceHandle: source + target: '1741158559444' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: tool + id: 1741162531836-source-1741166377433-target + source: '1741162531836' + sourceHandle: source + target: '1741166377433' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: code + id: 1741157526222-source-1741161440242-target + source: '1741157526222' + sourceHandle: source + target: '1741161440242' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: agent + targetType: question-classifier + id: 1741159085487-source-1741311244655-target + source: '1741159085487' + sourceHandle: source + target: '1741311244655' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741311244655-1-1741311294320-target + source: '1741311244655' + sourceHandle: '1' + target: '1741311294320' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: variable-aggregator + id: 1741311294320-source-1741311394752-target + source: '1741311294320' + sourceHandle: source + target: '1741311394752' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: end + id: 1741311394752-source-1741157560922-target + source: '1741311394752' + sourceHandle: source + target: '1741157560922' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741166377433-source-1741311394752-target + source: '1741166377433' + sourceHandle: source + target: '1741311394752' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: agent + id: 1741158559444-1741319394268-1741159085487-target + source: '1741158559444' + sourceHandle: '1741319394268' + target: '1741159085487' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1-1741328045214-target + source: '1741158559444' + sourceHandle: '1' + target: '1741328045214' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741158765960-1741328058981-target + source: '1741158559444' + sourceHandle: '1741158765960' + target: '1741328058981' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318878864-1741328076453-target + source: '1741158559444' + sourceHandle: '1741318878864' + target: '1741328076453' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318899444-1741328169934-target + source: '1741158559444' + sourceHandle: '1741318899444' + target: '1741328169934' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319019432-1741328197695-target + source: '1741158559444' + sourceHandle: '1741319019432' + target: '1741328197695' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319060092-1741328213545-target + source: '1741158559444' + sourceHandle: '1741319060092' + target: '1741328213545' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319099071-1741328346220-target + source: '1741158559444' + sourceHandle: '1741319099071' + target: '1741328346220' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319132527-1741328423453-target + source: '1741158559444' + sourceHandle: '1741319132527' + target: '1741328423453' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319160027-1741328466394-target + source: '1741158559444' + sourceHandle: '1741319160027' + target: '1741328466394' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319171199-1741328692906-target + source: '1741158559444' + sourceHandle: '1741319171199' + target: '1741328692906' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319213624-1741328742817-target + source: '1741158559444' + sourceHandle: '1741319213624' + target: '1741328742817' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319251403-1741328773213-target + source: '1741158559444' + sourceHandle: '1741319251403' + target: '1741328773213' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741319284158-1741328799030-target + source: '1741158559444' + sourceHandle: '1741319284158' + target: '1741328799030' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741318983134-1741329632798-target + source: '1741158559444' + sourceHandle: '1741318983134' + target: '1741329632798' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328045214-source-1741162531836-target + source: '1741328045214' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328058981-source-1741162531836-target + source: '1741328058981' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328076453-source-1741162531836-target + source: '1741328076453' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328169934-source-1741162531836-target + source: '1741328169934' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741329632798-source-1741162531836-target + source: '1741329632798' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328197695-source-1741162531836-target + source: '1741328197695' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328213545-source-1741162531836-target + source: '1741328213545' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328346220-source-1741162531836-target + source: '1741328346220' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328423453-source-1741162531836-target + source: '1741328423453' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328466394-source-1741162531836-target + source: '1741328466394' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328692906-source-1741162531836-target + selected: false + source: '1741328692906' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328742817-source-1741162531836-target + source: '1741328742817' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328773213-source-1741162531836-target + source: '1741328773213' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741328799030-source-1741162531836-target + source: '1741328799030' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: tool + id: 1741158559444-1741591414269-1741591590829-target + source: '1741158559444' + sourceHandle: '1741591414269' + target: '1741591590829' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741591590829-source-1741162531836-target + source: '1741591590829' + sourceHandle: source + target: '1741162531836' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - allowed_file_extensions: [] + allowed_file_types: + - document + allowed_file_upload_methods: + - local_file + - remote_url + label: alert + max_length: 256 + options: [] + required: true + type: text-input + variable: alert + - label: params + max_length: 99999999999 + options: [] + required: true + type: paragraph + variable: params + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - allowed_file_extensions: + - .json + allowed_file_types: + - custom + allowed_file_upload_methods: + - local_file + - remote_url + label: input + max_length: 48 + options: [] + required: false + type: file + variable: input + height: 193 + id: '1741157526222' + position: + x: -474.8546859399444 + y: 113.39535872618072 + positionAbsolute: + x: -474.8546859399444 + y: 113.39535872618072 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741311394752' + - output + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741157560922' + position: + x: 3744.206346600103 + y: 363.73374031791394 + positionAbsolute: + x: 3744.206346600103 + y: 363.73374031791394 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: '应用指标 + + 平均请求延时相比昨天升高20%以上' + - id: '1741158765960' + name: '容器相关 + + 容器CPU使用率超过80%' + - id: '1741318878864' + name: '容器相关 + + 容器高cpu_cfs_throttled' + - id: '1741318899444' + name: '容器相关 + + + 容器内存使用率超过80%' + - id: '1741318983134' + name: '应用指标 + + 错误率上升' + - id: '1741319019432' + name: '网络相关 + + 网络RTT延时超过50ms' + - id: '1741319060092' + name: '主机相关 + + 磁盘不足20%' + - id: '1741319099071' + name: '主机相关 + + 异常网络入吞吐量' + - id: '1741319132527' + name: '主机相关 + + 异常磁盘读速度' + - id: '1741319160027' + name: '主机相关 + + 异常磁盘写速度' + - id: '1741319171199' + name: '主机相关 + + CPU高负载' + - id: '1741319213624' + name: '主机相关 + + 异常磁盘IO利用率' + - id: '1741319251403' + name: '主机相关 + + CPU 高IO利用率' + - id: '1741319284158' + name: '主机相关 + + 文件描述符使用超过85%' + - id: '1741319394268' + name: 未知类型 + - id: '1741591414269' + name: '容器类型 + + 容器被kill' + desc: '' + instruction: 请你从告警事件描述来区分告警事件的类型 + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741157526222' + - alert + selected: false + title: 问题分类器 + topics: [] + type: question-classifier + vision: + enabled: false + height: 687 + id: '1741158559444' + position: + x: 458.26517283507326 + y: 139.09402013442167 + positionAbsolute: + x: 458.26517283507326 + y: 139.09402013442167 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + agent_parameters: + instruction: + type: constant + value: 根据告警事件的描述,选择工具查询数据,返回工具查询内容 + model: + type: constant + value: + completion_params: {} + mode: chat + model: deepseek-chat + model_type: llm + provider: langgenius/deepseek/deepseek + type: model-selector + query: + type: constant + value: '# 告警描述 + + {{#1741157526222.alert#}} + + # 数据参数 + + {{#1741157526222.params#}} + + # 开始时间 + + {{#1741157526222.startTime#}} + + # 结束时间 + + {{#1741157526222.endTime#}} + + 请判断指标数据是抖动还是持续升高' + tools: + type: constant + value: + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机最近1分钟的系统负载 + tool_name: 查询宿主机最近1分钟的系统负载 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机磁盘读取数据速率(字节/秒) + tool_name: 宿主机磁盘读取数据速率(字节/秒) + type: builtin + - enabled: true + extra: + description: '' + parameters: + content_key: + auto: 1 + value: null + endTime: + auto: 1 + value: null + service_name: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 服务请求成功率(按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 请求成功率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机RAM总大小 + tool_name: 查询宿主机RAM总大小 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机根文件系统使用率 + tool_name: 查询宿主机根文件系统使用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机CPU繁忙率(百分比) + tool_name: 查询主机CPU利用率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 宿主机磁盘IO耗时速率 + tool_name: 宿主机磁盘IO耗时速率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机CPU压力 + tool_name: 查询宿主机CPU压力 + type: builtin + agent_strategy_label: FunctionCalling + agent_strategy_name: function_calling + agent_strategy_provider_name: langgenius/agent/agent + desc: '' + output_schema: null + plugin_unique_identifier: langgenius/agent:0.0.9@f16916b704a20067317dbe9030f62aa28f0832021a3ef6d4ce699504074c5e13 + selected: false + title: Agent + type: agent + height: 197 + id: '1741159085487' + position: + x: 1307.6754497452887 + y: 1290.1574754514506 + positionAbsolute: + x: 1307.6754497452887 + y: 1290.1574754514506 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef get_value(data, keys):\n for key in keys:\n value =\ + \ data.get(key)\n if value is not None:\n return value\n\ + \ return \"\"\n\nimport json\ndef main(arg: str) -> dict:\n data =\ + \ json.loads(arg)\n return {\n \"node\": data.get('node', ''),\n\ + \ \"service\": get_value(data, [\"svc_name\", \"service\"]),\n \ + \ \"endpoint\": get_value(data,[\"endpoint\", \"content_key\"]),\n\ + \ \"pod\": data.get('pod', ''),\n \"namespace\": data.get('namespace',\ + \ ''),\n }\n" + code_language: python3 + desc: '' + outputs: + endpoint: + children: null + type: string + namespace: + children: null + type: string + node: + children: null + type: string + pod: + children: null + type: string + service: + children: null + type: string + selected: false + title: 代码执行 + type: code + variables: + - value_selector: + - '1741157526222' + - params + variable: arg + height: 53 + id: '1741161440242' + position: + x: -69.08988532973478 + y: 292.1938971823079 + positionAbsolute: + x: -69.08988532973478 + y: 292.1938971823079 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 2 + type: variable-aggregator + variables: + - - '1741328045214' + - text + - - '1741328058981' + - text + - - '1741328076453' + - text + - - '1741328169934' + - text + - - '1741329632798' + - text + - - '1741328197695' + - text + - - '1741328423453' + - text + - - '1741328466394' + - text + - - '1741328692906' + - text + - - '1741328742817' + - text + - - '1741328773213' + - text + - - '1741328799030' + - text + - - '1741591590829' + - text + height: 370 + id: '1741162531836' + position: + x: 1791.1271628500772 + y: 78.61010888432415 + positionAbsolute: + x: 1791.1271628500772 + y: 78.61010888432415 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741162531836.output#}}' + type: tool + height: 53 + id: '1741166377433' + position: + x: 2391.9587465022714 + y: 113.39535872618072 + positionAbsolute: + x: 2391.9587465022714 + y: 113.39535872618072 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: 抖动 + - id: '2' + name: 持续 + desc: '' + instruction: 判断输入的结论是抖动还是持续 + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741159085487' + - text + selected: false + title: 问题分类器 3 + topics: [] + type: question-classifier + vision: + enabled: false + height: 167 + id: '1741311244655' + position: + x: 1978.2523323677738 + y: 1024.2103589724884 + positionAbsolute: + x: 1978.2523323677738 + y: 1024.2103589724884 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg1: str) -> dict:\n res = \"true\"\n if arg1 ==\ + \ \"持续\":\n res = \"false\"\n return {\n \"result\": res,\n\ + \ }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: 代码执行 2 + type: code + variables: + - value_selector: + - '1741311244655' + - class_name + variable: arg1 + height: 53 + id: '1741311294320' + position: + x: 2339.896564438594 + y: 908.8373922229209 + positionAbsolute: + x: 2339.896564438594 + y: 908.8373922229209 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 2 + type: variable-aggregator + variables: + - - '1741311294320' + - result + - - '1741166377433' + - text + height: 128 + id: '1741311394752' + position: + x: 3165.5195077270564 + y: 457.05597714025964 + positionAbsolute: + x: 3165.5195077270564 + y: 457.05597714025964 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + content_key: '' + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 服务平均响应时间(毫秒,按服务名和内容键统计,指定时间段内) + tool_configurations: {} + tool_label: 服务平均响应时间(毫秒,按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 平均响应时间 + tool_parameters: + content_key: + type: mixed + value: '{{#1741161440242.endpoint#}}' + endTime: + type: variable + value: + - '1741157526222' + - endTime + service_name: + type: mixed + value: '{{#1741161440242.service#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328045214' + position: + x: 855.3123364340672 + y: 87.84552204580373 + positionAbsolute: + x: 855.3123364340672 + y: 87.84552204580373 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328058981' + position: + x: 866.9205146355775 + y: 182.43066738622156 + positionAbsolute: + x: 866.9205146355775 + y: 182.43066738622156 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328076453' + position: + x: 879.4543026140257 + y: 267.35126206280336 + positionAbsolute: + x: 879.4543026140257 + y: 267.35126206280336 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器内存使用量 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328169934' + position: + x: 879.4543026140257 + y: 347.02153779457154 + positionAbsolute: + x: 879.4543026140257 + y: 347.02153779457154 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328197695' + position: + x: 879.4543026140257 + y: 516.6534783332379 + positionAbsolute: + x: 879.4543026140257 + y: 516.6534783332379 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘使用率(百分比,不含rootfs) + tool_configurations: {} + tool_label: 宿主机磁盘使用率(百分比,不含rootfs) + tool_name: 宿主机磁盘使用率(百分比,不含rootfs) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328213545' + position: + x: 897.1352138415443 + y: 617.4421900673747 + positionAbsolute: + x: 897.1352138415443 + y: 617.4421900673747 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机网络接收速率(比特/秒) + tool_configurations: {} + tool_label: 宿主机网络接收速率(比特/秒) + tool_name: 宿主机网络接收速率(比特/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328346220' + position: + x: 897.1352138415443 + y: 706.3425334205976 + positionAbsolute: + x: 897.1352138415443 + y: 706.3425334205976 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘读取数据速率(字节/秒) + tool_configurations: {} + tool_label: 宿主机磁盘读取数据速率(字节/秒) + tool_name: 宿主机磁盘读取数据速率(字节/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328423453' + position: + x: 909.6690018199924 + y: 807.5848583297699 + positionAbsolute: + x: 909.6690018199924 + y: 807.5848583297699 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘写入数据速率(字节/秒) + tool_configurations: {} + tool_label: 宿主机磁盘写入数据速率(字节/秒) + tool_name: 宿主机磁盘写入数据速率(字节/秒) + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328466394' + position: + x: 922.0951827508213 + y: 890.0354967992098 + positionAbsolute: + x: 922.0951827508213 + y: 890.0354967992098 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机CPU繁忙率(百分比) + tool_configurations: {} + tool_label: 宿主机CPU繁忙率(百分比) + tool_name: 查询主机CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328692906' + position: + x: 1288.1326361010936 + y: 765.9218546549957 + positionAbsolute: + x: 1288.1326361010936 + y: 765.9218546549957 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘IO耗时速率 + tool_configurations: {} + tool_label: 宿主机磁盘IO耗时速率 + tool_name: 宿主机磁盘IO耗时速率 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328742817' + position: + x: 1320.3050732843196 + y: 838.8279382371494 + positionAbsolute: + x: 1320.3050732843196 + y: 838.8279382371494 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机IO等待CPU繁忙率 + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328773213' + position: + x: 1295.1943032554088 + y: 918.3967184410467 + positionAbsolute: + x: 1295.1943032554088 + y: 918.3967184410467 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机当前打开文件描述符数 + tool_configurations: {} + tool_label: 宿主机当前打开文件描述符数 + tool_name: host_cpu_fd_open + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + node: + type: mixed + value: '{{#1741161440242.node#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741328799030' + position: + x: 1300.5588170319227 + y: 999.2631864254831 + positionAbsolute: + x: 1300.5588170319227 + y: 999.2631864254831 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: 指定的服务名 + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified endpoint name + ja_JP: Specified endpoint name + pt_BR: Specified endpoint name + zh_Hans: 指定的服务端点名 + label: + en_US: content_key + ja_JP: content_key + pt_BR: content_key + zh_Hans: content_key + llm_description: 指定的服务端点名 + max: null + min: null + name: content_key + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + content_key: '' + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 服务请求成功率(按服务名和内容键统计,指定时间段内) + tool_configurations: {} + tool_label: 服务请求成功率(按服务名和内容键统计,指定时间段内) + tool_name: Originx 北极星指标 (服务层级) - RED指标 - 请求成功率 + tool_parameters: + content_key: + type: mixed + value: '{{#1741161440242.endpoint#}}' + endTime: + type: variable + value: + - '1741157526222' + - endTime + service_name: + type: mixed + value: '{{#1741161440242.service#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741329632798' + position: + x: 879.4543026140257 + y: 428.59818368333947 + positionAbsolute: + x: 879.4543026140257 + y: 428.59818368333947 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器内存使用量 + tool_parameters: + endTime: + type: variable + value: + - '1741157526222' + - endTime + namespace: + type: mixed + value: '{{#1741161440242.namespace#}}' + pod: + type: mixed + value: '{{#1741161440242.pod#}}' + startTime: + type: variable + value: + - '1741157526222' + - startTime + type: tool + height: 53 + id: '1741591590829' + position: + x: 1106.622658811791 + y: 1100.534952103478 + positionAbsolute: + x: 1106.622658811791 + y: 1100.534952103478 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 171.57866536216355 + y: 331.8252495324367 + zoom: 0.2578933989536625 diff --git a/api/workflows/zh/告警有效性确认_通过functionCalling实现.yml b/api/workflows/zh/告警有效性确认_通过functionCalling实现.yml new file mode 100644 index 0000000000..6227010598 --- /dev/null +++ b/api/workflows/zh/告警有效性确认_通过functionCalling实现.yml @@ -0,0 +1,805 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 告警有效性确认_通过functionCalling实现 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: agent + id: 1741157526222-source-1741159085487-target + source: '1741157526222' + sourceHandle: source + target: '1741159085487' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: agent + targetType: question-classifier + id: 1741159085487-source-1741240469445-target + source: '1741159085487' + sourceHandle: source + target: '1741240469445' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741240469445-1-1741240720274-target + source: '1741240469445' + sourceHandle: '1' + target: '1741240720274' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: question-classifier + targetType: code + id: 1741240469445-2-1741240720274-target + source: '1741240469445' + sourceHandle: '2' + target: '1741240720274' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: end + id: 1741240720274-source-1741157560922-target + source: '1741240720274' + sourceHandle: source + target: '1741157560922' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - allowed_file_extensions: [] + allowed_file_types: + - document + allowed_file_upload_methods: + - local_file + - remote_url + label: alert + max_length: 256 + options: [] + required: true + type: text-input + variable: alert + - label: params + max_length: 256 + options: [] + required: true + type: text-input + variable: params + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - allowed_file_extensions: + - .json + allowed_file_types: + - custom + allowed_file_upload_methods: + - local_file + - remote_url + label: input + max_length: 48 + options: [] + required: false + type: file + variable: input + height: 193 + id: '1741157526222' + position: + x: -61.80147086990212 + y: 342.4507007225618 + positionAbsolute: + x: -61.80147086990212 + y: 342.4507007225618 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741240720274' + - result + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741157560922' + position: + x: 1904.6754701143086 + y: 404.7851940902575 + positionAbsolute: + x: 1904.6754701143086 + y: 404.7851940902575 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + agent_parameters: + instruction: + type: constant + value: 根据告警事件的描述,选择工具查询数据,返回工具查询内容 + model: + type: constant + value: + completion_params: {} + mode: chat + model: deepseek-chat + model_type: llm + provider: langgenius/deepseek/deepseek + type: model-selector + query: + type: constant + value: '# 告警描述 + + {{#1741157526222.alert#}} + + # 数据参数 + + {{#1741157526222.params#}} + + # 开始时间 + + {{#1741157526222.startTime#}} + + # 结束时间 + + {{#1741157526222.endTime#}} + + 请判断指标数据是抖动还是持续升高,回答简短' + tools: + type: constant + value: + - enabled: true + extra: + description: '' + parameters: + cadvisor_job_name: + auto: 1 + value: null + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + namespace: + auto: 1 + value: null + pod: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机CPU繁忙率 + tool_name: 查询宿主机CPU繁忙率 + type: builtin + - enabled: true + extra: + description: '' + parameters: + endTime: + auto: 1 + value: null + job: + auto: 1 + value: null + node: + auto: 1 + value: null + startTime: + auto: 1 + value: null + provider_name: apo_select + schemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Prometheus job name for host metrics + ja_JP: Prometheus job name for host metrics + pt_BR: Prometheus job name for host metrics + zh_Hans: Prometheus任务名称(宿主机指标) + label: + en_US: Prometheus Job + ja_JP: Prometheus Job + pt_BR: Tarefa Prometheus + zh_Hans: Prometheus任务 + llm_description: Unique identifier for metrics scrape job + max: null + min: null + name: job + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Host node identifier + ja_JP: Host node identifier + pt_BR: Host node identifier + zh_Hans: 宿主机节点标识 + label: + en_US: Host Node + ja_JP: Host Node + pt_BR: Host Node + zh_Hans: 宿主机节点 + llm_description: Unique identifier for host node + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + settings: {} + tool_label: 查询宿主机RAM使用率 + tool_name: 查询宿主机RAM使用率 + type: builtin + agent_strategy_label: FunctionCalling + agent_strategy_name: function_calling + agent_strategy_provider_name: langgenius/agent/agent + desc: '' + output_schema: null + plugin_unique_identifier: langgenius/agent:0.0.9@f16916b704a20067317dbe9030f62aa28f0832021a3ef6d4ce699504074c5e13 + selected: false + title: Agent + type: agent + height: 197 + id: '1741159085487' + position: + x: 458.49132435051126 + y: 342.4507007225618 + positionAbsolute: + x: 458.49132435051126 + y: 342.4507007225618 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + classes: + - id: '1' + name: 抖动 + - id: '2' + name: 持续 + desc: '' + instruction: 判断输入的结论是抖动还是持续 + instructions: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741159085487' + - text + selected: false + title: 问题分类器 + topics: [] + type: question-classifier + vision: + enabled: false + height: 167 + id: '1741240469445' + position: + x: 1051.73807978915 + y: 342.4507007225618 + positionAbsolute: + x: 1051.73807978915 + y: 342.4507007225618 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg1: str) -> dict:\n res = \"true\"\n if arg1 ==\ + \ \"持续\":\n res = \"false\"\n return {\n \"result\": res,\n\ + \ }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: 代码执行 + type: code + variables: + - value_selector: + - '1741240469445' + - class_name + variable: arg1 + height: 53 + id: '1741240720274' + position: + x: 1416.4535710138914 + y: 404.7851940902575 + positionAbsolute: + x: 1416.4535710138914 + y: 404.7851940902575 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 238.9033199500173 + y: -10.101447204616534 + zoom: 0.6318418919921089 diff --git a/api/workflows/zh/告警简单根因分析.yml b/api/workflows/zh/告警简单根因分析.yml new file mode 100644 index 0000000000..c46e120093 --- /dev/null +++ b/api/workflows/zh/告警简单根因分析.yml @@ -0,0 +1,2961 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 告警简单根因分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: iteration-start + targetType: code + id: 1741497176064start-source-1741497181784-target + source: 1741497176064start + sourceHandle: source + target: '1741497181784' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: code + targetType: tool + id: 1741497181784-source-1741497216474-target + source: '1741497181784' + sourceHandle: source + target: '1741497216474' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: llm + id: 1741497216474-source-1741498390634-target + source: '1741497216474' + sourceHandle: source + target: '1741498390634' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: llm + targetType: question-classifier + id: 1741498390634-source-1741498403828-target + source: '1741498390634' + sourceHandle: source + target: '1741498403828' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1-1741498509378-target + source: '1741498403828' + sourceHandle: '1' + target: '1741498509378' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-2-1741498527215-target + source: '1741498403828' + sourceHandle: '2' + target: '1741498527215' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498415133-1741498907941-target + source: '1741498403828' + sourceHandle: '1741498415133' + target: '1741498907941' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741499376556-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741499376556' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498418311-1741501265259-target + source: '1741498403828' + sourceHandle: '1741498418311' + target: '1741501265259' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: template-transform + id: 1741498403828-1741498426874-1741502665376-target + source: '1741498403828' + sourceHandle: '1741498426874' + target: '1741502665376' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: question-classifier + targetType: tool + id: 1741498403828-1741498422694-1741502699500-target + source: '1741498403828' + sourceHandle: '1741498422694' + target: '1741502699500' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498509378-source-1741502729293-target + source: '1741498509378' + sourceHandle: source + target: '1741502729293' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498527215-source-1741506670648-target + source: '1741498527215' + sourceHandle: source + target: '1741506670648' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741498907941-source-1741506676593-target + source: '1741498907941' + sourceHandle: source + target: '1741506676593' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741501265259-source-1741506693125-target + source: '1741501265259' + sourceHandle: source + target: '1741506693125' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741499376556-source-1741506702729-target + source: '1741499376556' + sourceHandle: source + target: '1741506702729' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: tool + id: 1741502699500-source-1741506711511-target + source: '1741502699500' + sourceHandle: source + target: '1741506711511' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741502729293-source-1741506718903-target + source: '1741502729293' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506670648-source-1741506718903-target + source: '1741506670648' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506676593-source-1741506718903-target + source: '1741506676593' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506693125-source-1741506718903-target + source: '1741506693125' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506702729-source-1741506718903-target + source: '1741506702729' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: tool + targetType: variable-aggregator + id: 1741506711511-source-1741506718903-target + source: '1741506711511' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: variable-aggregator + targetType: llm + id: 1741506718903-source-1741506766037-target + source: '1741506718903' + sourceHandle: source + target: '1741506766037' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: code + targetType: iteration + id: 1741509454645-source-1741497176064-target + selected: false + source: '1741509454645' + sourceHandle: source + target: '1741497176064' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: iteration + targetType: llm + id: 1741497176064-source-1741512806512-target + source: '1741497176064' + sourceHandle: source + target: '1741512806512' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741512806512-source-1741502839759-target + source: '1741512806512' + sourceHandle: source + target: '1741502839759' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: true + iteration_id: '1741497176064' + sourceType: template-transform + targetType: variable-aggregator + id: 1741502665376-source-1741506718903-target + source: '1741502665376' + sourceHandle: source + target: '1741506718903' + targetHandle: target + type: custom + zIndex: 1002 + - data: + isInIteration: false + sourceType: if-else + targetType: template-transform + id: 1741592086921-false-1741592094819-target + source: '1741592086921' + sourceHandle: 'false' + target: '1741592094819' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-true-1741508508177-target + source: '1741592086921' + sourceHandle: 'true' + target: '1741508508177' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: template-transform + targetType: end + id: 1741592094819-source-1741592144815-target + source: '1741592094819' + sourceHandle: source + target: '1741592144815' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: code + id: 1741227526517-source-1741594373498-target + source: '1741227526517' + sourceHandle: source + target: '1741594373498' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: if-else + id: 1741594373498-source-1741592086921-target + source: '1741594373498' + sourceHandle: source + target: '1741592086921' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1741592086921-456042b9-6979-4f20-b255-14d1e41754df-1741597223833-target + source: '1741592086921' + sourceHandle: 456042b9-6979-4f20-b255-14d1e41754df + target: '1741597223833' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741508508177-source-1741597274153-target + source: '1741508508177' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: code + id: 1741597274153-source-1741509454645-target + source: '1741597274153' + sourceHandle: source + target: '1741509454645' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1741597223833-source-1741597274153-target + source: '1741597223833' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: code + id: 1741592086921-a687d810-ff81-4b8a-a2a4-b47b8c532039-1741599658821-target + source: '1741592086921' + sourceHandle: a687d810-ff81-4b8a-a2a4-b47b8c532039 + target: '1741599658821' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: code + targetType: variable-aggregator + id: 1741599658821-source-1741597274153-target + source: '1741599658821' + sourceHandle: source + target: '1741597274153' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: params + max_length: 9999999 + options: [] + required: false + type: paragraph + variable: params + - label: nodeName + max_length: 256 + options: [] + required: false + type: text-input + variable: nodeName + - label: nodeIp + max_length: 48 + options: [] + required: false + type: text-input + variable: nodeIp + height: 193 + id: '1741227526517' + position: + x: -1521.4169518287483 + y: 30.40374262430791 + positionAbsolute: + x: -1521.4169518287483 + y: 30.40374262430791 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + error_handle_mode: terminated + height: 1119 + is_parallel: false + iterator_selector: + - '1741509454645' + - monitor + output_selector: + - '1741506766037' + - text + output_type: array[string] + parallel_nums: 10 + selected: false + start_node_id: 1741497176064start + title: 迭代 + type: iteration + width: 1780 + height: 1119 + id: '1741497176064' + position: + x: 1394.3582849130557 + y: 189.47622250262157 + positionAbsolute: + x: 1394.3582849130557 + y: 189.47622250262157 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 1780 + zIndex: 1 + - data: + desc: '' + isInIteration: true + selected: false + title: '' + type: iteration-start + draggable: false + height: 48 + id: 1741497176064start + parentId: '1741497176064' + position: + x: 24 + y: 68 + positionAbsolute: + x: 1418.3582849130557 + y: 257.47622250262157 + selectable: false + sourcePosition: right + targetPosition: left + type: custom-iteration-start + width: 44 + zIndex: 1002 + - data: + code: "\ndef main(arg1: str) -> dict:\n data = json.loads(arg1)\n return\ + \ {\n \"pod\": data.get(\"pod\", \"\"),\n \"namespace\": data.get(\"\ + namespace\", \"\")\n }\n" + code_language: python3 + desc: '' + isInIteration: true + iteration_id: '1741497176064' + outputs: + namespace: + children: null + type: string + pod: + children: null + type: string + selected: false + title: 代码执行 2 + type: code + variables: + - value_selector: + - '1741497176064' + - item + variable: arg1 + height: 53 + id: '1741497181784' + parentId: '1741497176064' + position: + x: 16 + y: 65 + positionAbsolute: + x: 1410.3582849130557 + y: 254.47622250262157 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_configurations: {} + tool_label: Thread Polaris Metrics - 北极星指标(进程) - 各类型耗时折线图 - 所有类型列表 + tool_name: polar_process_all_resp + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741497216474' + parentId: '1741497176064' + position: + x: 428.6547554766032 + y: 67.98377959888398 + positionAbsolute: + x: 1823.013040389659 + y: 257.46000210150555 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: bf86aacb-6cf8-4ee0-85c6-ad591299624c + role: system + text: '' + - id: 53c48462-405a-4d2e-9ae4-ab0f54abc57a + role: user + text: '# 目的 + + 指标分析哪个类型变化最明显 + + # 过程 先确是否有剧烈波动,如果有波动,识别是引起延时波动分项,哪个分项导致的。分项的计算从波动之后的时间开始计算,分项要占比延时的10%以上,不要从一开始就计算。如果没有波动,识别哪个分项与延时曲线变化最相似。请仔细分析,同时验算数据是否符合超过10%的要求。 + + {{#1741497216474.text#}} + + # 注意 + + 请尽量不要考虑futex类型,试着分析cpu,net,epoll,file, runq + + 如果数据为空,直接返回无异常 + + ' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741498390634' + parentId: '1741497176064' + position: + x: 476.871648722647 + y: 176.3677865413374 + positionAbsolute: + x: 1871.2299336357028 + y: 365.844009043959 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + classes: + - id: '1' + name: cpu + - id: '2' + name: net + - id: '1741498415133' + name: file + - id: '1741498418311' + name: epoll + - id: '1741498422694' + name: runq + - id: '1741498426874' + name: futex + desc: '' + instruction: '请根据上文的结论分类出 + + 当前应用程序是哪一类变化导致的 + + 注意还可能存在无数据的情况' + instructions: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + query_variable_selector: + - '1741498390634' + - text + selected: false + title: 问题分类器 2 + topics: [] + type: question-classifier + vision: + enabled: false + height: 311 + id: '1741498403828' + parentId: '1741497176064' + position: + x: 66.65989952932614 + y: 458.53248979265527 + positionAbsolute: + x: 1461.0181844423819 + y: 648.0087122952768 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 查询容器CPU利用率 + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498509378' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 1805.0466456352087 + y: 540.3459546042255 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498527215' + parentId: '1741497176064' + position: + x: 410.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 1805.0466456352087 + y: 633.3459546042255 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) + tool_configurations: {} + tool_label: 容器磁盘读取耗时每秒(使用Containerd,按Pod和容器统计) + tool_name: select_container_cpu + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741498907941' + parentId: '1741497176064' + position: + x: 432.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 1827.322741478507 + y: 699.8930907903087 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机IO等待CPU繁忙率 + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741499376556' + parentId: '1741497176064' + position: + x: 453.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 1847.8596188084475 + y: 837.2179622031166 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机当前打开文件描述符数 + tool_configurations: {} + tool_label: 宿主机当前打开文件描述符数 + tool_name: host_cpu_fd_open + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741501265259' + parentId: '1741497176064' + position: + x: 454.9055541105341 + y: 582.0321151443305 + positionAbsolute: + x: 1849.2638390235898 + y: 771.5083376469521 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + selected: false + template: '当前类型为futex + + 程序可能发生gc或者lock。还可能处于睡眠状态' + title: 模板转换 2 + type: template-transform + variables: [] + height: 53 + id: '1741502665376' + parentId: '1741497176064' + position: + x: 594.3764406471525 + y: 826.6378781039763 + positionAbsolute: + x: 1988.7347255602083 + y: 1016.1141006065978 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU节流时长(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + namespace: + type: mixed + value: '{{#1741497181784.namespace#}}' + pod: + type: mixed + value: '{{#1741497181784.pod#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741502699500' + parentId: '1741497176064' + position: + x: 445.14779795415495 + y: 708.438700581942 + positionAbsolute: + x: 1839.5060828672108 + y: 897.9149230845636 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498509378.text#}}' + type: tool + height: 53 + id: '1741502729293' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 350.869732101604 + positionAbsolute: + x: 2109.0466456352087 + y: 540.3459546042255 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + outputs: + - value_selector: + - '1741512806512' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741502839759' + position: + x: 5453.136568447093 + y: 290.623155579663 + positionAbsolute: + x: 5453.136568447093 + y: 290.623155579663 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741498527215.text#}}' + type: tool + height: 53 + id: '1741506670648' + parentId: '1741497176064' + position: + x: 714.6883607221529 + y: 443.869732101604 + positionAbsolute: + x: 2109.0466456352087 + y: 633.3459546042255 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741497181784.pod#}}' + type: tool + height: 53 + id: '1741506676593' + parentId: '1741497176064' + position: + x: 736.9644565654511 + y: 510.4168682876872 + positionAbsolute: + x: 2131.322741478507 + y: 699.8930907903087 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741501265259.text#}}' + type: tool + height: 53 + id: '1741506693125' + parentId: '1741497176064' + position: + x: 736.9170936623195 + y: 579.6300240013376 + positionAbsolute: + x: 2131.2753785753753 + y: 769.1062465039591 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741499376556.text#}}' + type: tool + height: 53 + id: '1741506702729' + parentId: '1741497176064' + position: + x: 757.5013338953919 + y: 647.741739700495 + positionAbsolute: + x: 2151.8596188084475 + y: 837.2179622031166 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + is_team_authorization: true + iteration_id: '1741497176064' + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: time series metric data + ja_JP: time series metric data + pt_BR: time series metric data + zh_Hans: 时序指标数据 + label: + en_US: metricData + ja_JP: metricData + pt_BR: metricData + zh_Hans: metricData + llm_description: Time series indicator data + max: null + min: null + name: metricData + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: 趋势分析阈值 + label: + en_US: threshold + ja_JP: threshold + pt_BR: threshold + zh_Hans: threshold + llm_description: threshold + max: null + min: null + name: threshold + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + metricData: '' + threshold: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 趋势分析 + tool_configurations: {} + tool_label: 趋势分析 + tool_name: trend + tool_parameters: + metricData: + type: mixed + value: '{{#1741502699500.text#}}' + type: tool + height: 53 + id: '1741506711511' + parentId: '1741497176064' + position: + x: 731.553574904796 + y: 710.0381754046111 + positionAbsolute: + x: 2125.911859817852 + y: 899.5143979072327 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + isInIteration: true + iteration_id: '1741497176064' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1741502729293' + - text + - - '1741506670648' + - text + - - '1741506676593' + - text + - - '1741506693125' + - text + - - '1741506702729' + - text + - - '1741506711511' + - text + - - '1741502665376' + - output + height: 238 + id: '1741506718903' + parentId: '1741497176064' + position: + x: 1073.8586854551645 + y: 369.8785970965338 + positionAbsolute: + x: 2468.2169703682202 + y: 559.3548195991553 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + isInIteration: true + iteration_id: '1741497176064' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: cd35fff4-a037-4e72-af99-2ff8299fc5d2 + role: system + text: '' + - id: 2b2ad468-efcd-4bcc-aeb9-d53d2f2770ad + role: user + text: "# 当前程序信息\npod {{#1741497181784.pod#}}\n其发生类型{{#1741498403828.class_name#}}的变化\n\ + 变化趋势为{{#1741506718903.output#}}\n\n 注意变化趋势为true说明是抖动,为false说明剧烈变化,该类型不可忽略\n\ + # 目的\n请从变化趋势分析该服务是否有问题\n请接口指标数据和发生的异常类型,给出你认为最有课能发生问题的方向。\n如果类型,直接给出{{#1741497181784.pod#}}存在问题,\n\ + # 输出\n直接给出该服务是否出现问题的结论\n# 服务指标数据\n{{#1741497216474.text#}}\n" + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741506766037' + parentId: '1741497176064' + position: + x: 1419.0118583614708 + y: 389.9745550824946 + positionAbsolute: + x: 2813.3701432745265 + y: 579.4507775851162 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + zIndex: 1002 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified node name + ja_JP: Specified node name + pt_BR: Specified pod name + zh_Hans: 指定的主机名称 + label: + en_US: node_name + ja_JP: node_name + pt_BR: node_name + zh_Hans: node_name + llm_description: Specified pod name + max: null + min: null + name: node_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified Process ID + ja_JP: Specified Process ID + pt_BR: Specified Process ID + zh_Hans: 指定的进程ID + label: + en_US: pid + ja_JP: pid + pt_BR: pid + zh_Hans: pid + llm_description: Specified Process ID + max: null + min: null + name: pid + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node_name: '' + pid: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询节点上被监控的服务列表 + tool_configurations: {} + tool_label: 查询节点上被监控的服务列表 + tool_name: originx_service_monitor + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + node_name: + type: mixed + value: '{{#1741227526517.nodeName#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741508508177' + position: + x: -247.4257908482209 + y: 30.40374262430791 + positionAbsolute: + x: -247.4257908482209 + y: 30.40374262430791 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef main(arg: str) -> dict:\n data = json.loads(arg)\n \ + \ \n timeseries = data[\"data\"][\"timeseries\"]\n \n pod_info\ + \ = []\n \n for item in timeseries:\n labels = item[\"\ + labels\"]\n info = {\n \"namespace\": labels.get(\"namespace\"\ + , \"\"),\n \"pod\": labels.get(\"pod\", \"\")\n }\n \ + \ info_str = json.dumps(info)\n pod_info.append(info_str)\n\ + \ return {\n \"monitor\": pod_info,\n }\n" + code_language: python3 + desc: '' + outputs: + monitor: + children: null + type: array[string] + selected: false + title: 获取服务监控列表 + type: code + variables: + - value_selector: + - '1741597274153' + - output + variable: arg + height: 53 + id: '1741509454645' + position: + x: 685.1268015573559 + y: -116.29377758571027 + positionAbsolute: + x: 685.1268015573559 + y: -116.29377758571027 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 169877de-aa4a-44db-90ef-2cc8f68882c4 + role: system + text: 你是一个可观测性领域的智能助手 + - id: c9d29276-dfa5-4042-b1c6-562260f9cc7c + role: user + text: '汇总当前系统的情况 + + {{#1741497176064.output#}} + + # 目的 + + 从当前前怀疑的根因节点信息,同时提出怀疑的方向,根据方向给出建议 + + # 输出 + + 列出服务名,并给出相关建议' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741512806512' + position: + x: 4785.148170866247 + y: 229.4507825525987 + positionAbsolute: + x: 4785.148170866247 + y: 229.4507825525987 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: empty + id: 3a1b34fd-9d82-4b24-88a5-938bd0528a2b + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: not empty + id: 82010d67-eb3d-4b38-913d-cf16321398f1 + value: '' + varType: string + variable_selector: + - '1741227526517' + - nodeName + - comparison_operator: empty + id: 2e61c0d3-3104-41b2-b957-88f99ddab311 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 'true' + logical_operator: and + - case_id: 456042b9-6979-4f20-b255-14d1e41754df + conditions: + - comparison_operator: not empty + id: 751d0cc0-a1f7-4a1d-b188-e31380c4e3a3 + value: '' + varType: string + variable_selector: + - '1741594373498' + - service + - comparison_operator: empty + id: 0010de77-ddd1-4b14-be1d-b4755a0eb583 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + id: 456042b9-6979-4f20-b255-14d1e41754df + logical_operator: and + - case_id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + conditions: + - comparison_operator: not empty + id: ba128d4b-353d-4efa-833d-6ff468b246b5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - pod + - comparison_operator: not empty + id: 3d377325-fbe3-4629-bf95-37196a8a43a5 + value: '' + varType: string + variable_selector: + - '1741594373498' + - namespace + id: a687d810-ff81-4b8a-a2a4-b47b8c532039 + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 325 + id: '1741592086921' + position: + x: -774.8309098969905 + y: -4.710416810258039 + positionAbsolute: + x: -774.8309098969905 + y: -4.710416810258039 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + selected: false + template: 服务和节点信息均为空,目前暂时无法分析根因 + title: 模板转换 2 + type: template-transform + variables: [] + height: 53 + id: '1741592094819' + position: + x: -197.1978677863928 + y: 320.9672037476066 + positionAbsolute: + x: -197.1978677863928 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741592094819' + - output + variable: output + selected: false + title: 结束 2 + type: end + height: 89 + id: '1741592144815' + position: + x: 106.8021322136072 + y: 320.9672037476066 + positionAbsolute: + x: 106.8021322136072 + y: 320.9672037476066 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\ndef get_value(data, keys):\n for key in keys:\n value =\ + \ data.get(key)\n if value is not None:\n return value\n\ + \ return \"\"\n\nimport json\ndef main(arg: str) -> dict:\n data =\ + \ json.loads(arg)\n return {\n \"service\": get_value(data, [\"\ + svc_name\", \"service\"]),\n \"endpoint\": get_value(data,[\"endpoint\"\ + , \"content_key\"]),\n \"pod\": get_value(data, [\"pod\"]),\n \ + \ \"namespace\": get_value(data, [\"namespace\"])\n }\n" + code_language: python3 + desc: '' + outputs: + endpoint: + children: null + type: string + namespace: + children: null + type: string + pod: + children: null + type: string + service: + children: null + type: string + selected: false + title: 参数获取 + type: code + variables: + - value_selector: + - '1741227526517' + - params + variable: arg + height: 53 + id: '1741594373498' + position: + x: -1157.0364551459677 + y: 1.3437486094946962 + positionAbsolute: + x: -1157.0364551459677 + y: 1.3437486094946962 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified service name + ja_JP: Specified service name + pt_BR: Specified service name + zh_Hans: 指定的服务名 + label: + en_US: service_name + ja_JP: service_name + pt_BR: service_name + zh_Hans: service_name + llm_description: Specified service name + max: null + min: null + name: service_name + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + service_name: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 列出该服务下的所有实例 + tool_configurations: {} + tool_label: 列出该服务下的所有实例 + tool_name: originx_service_instance + tool_parameters: + endTime: + type: variable + value: + - '1741227526517' + - endTime + service_name: + type: mixed + value: '{{#1741594373498.service#}}' + startTime: + type: variable + value: + - '1741227526517' + - startTime + type: tool + height: 53 + id: '1741597223833' + position: + x: -294.32927017894997 + y: 157.59734137834707 + positionAbsolute: + x: -294.32927017894997 + y: 157.59734137834707 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 2 + type: variable-aggregator + variables: + - - '1741508508177' + - text + - - '1741597223833' + - text + - - '1741599658821' + - result + height: 150 + id: '1741597274153' + position: + x: 193.14802823419802 + y: -202.82454235582486 + positionAbsolute: + x: 193.14802823419802 + y: -202.82454235582486 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + code: "\nimport json\ndef main(arg1: str, arg2: str) -> dict:\n data =\ + \ {\n \"data\": {\n \"timeseries\": [\n \ + \ {\n \"labels\": {\n \"namespace\"\ + : arg2,\n \"pod\": arg1,\n }\n\ + \ }\n ]\n }\n }\n return {\n \ + \ \"result\": json.dumps(data),\n }\n" + code_language: python3 + desc: '' + outputs: + result: + children: null + type: string + selected: false + title: 代码执行 4 + type: code + variables: + - value_selector: + - '1741594373498' + - pod + variable: arg1 + - value_selector: + - '1741594373498' + - namespace + variable: arg2 + height: 53 + id: '1741599658821' + position: + x: -247.4257908482209 + y: 229.4507825525987 + positionAbsolute: + x: -247.4257908482209 + y: 229.4507825525987 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 728.0843922944858 + y: 258.48402054971007 + zoom: 0.3789291416275996 diff --git a/api/workflows/zh/复杂告警上下游根因分析.yml b/api/workflows/zh/复杂告警上下游根因分析.yml new file mode 100644 index 0000000000..ace6460fbf --- /dev/null +++ b/api/workflows/zh/复杂告警上下游根因分析.yml @@ -0,0 +1,1126 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 复杂告警上下游根因分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1740103457500-source-1740483937644-target + source: '1740103457500' + sourceHandle: source + target: '1740483937644' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1740483937644-source-1740620413020-target + source: '1740483937644' + sourceHandle: source + target: '1740620413020' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620413020-source-1740619353044-target + selected: false + source: '1740620413020' + sourceHandle: source + target: '1740619353044' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 1740619353044-source-1740620917572-target + source: '1740619353044' + sourceHandle: source + target: '1740620917572' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620917572-source-17406208202230-target + source: '1740620917572' + sourceHandle: source + target: '17406208202230' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406208202230-source-1740620994135-target + source: '17406208202230' + sourceHandle: source + target: '1740620994135' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740620994135-source-17406208182010-target + source: '1740620994135' + sourceHandle: source + target: '17406208182010' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406208182010-source-1740621003098-target + source: '17406208182010' + sourceHandle: source + target: '1740621003098' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1740621003098-source-17406213332120-target + source: '1740621003098' + sourceHandle: source + target: '17406213332120' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: llm + id: 17406213332120-source-17406213642580-target + source: '17406213332120' + sourceHandle: source + target: '17406213642580' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: tool + id: 17406213642580-source-1740991358287-target + source: '17406213642580' + sourceHandle: source + target: '1740991358287' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: end + id: 1740991358287-source-1740031015432-target + source: '1740991358287' + sourceHandle: source + target: '1740031015432' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740030989850-source-1741576377961-target + source: '1740030989850' + sourceHandle: source + target: '1741576377961' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: tool + id: 1741576377961-source-1740103457500-target + source: '1741576377961' + sourceHandle: source + target: '1740103457500' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: service + max_length: 48 + options: [] + required: true + type: text-input + variable: service + - label: endpoint + max_length: 48 + options: [] + required: true + type: text-input + variable: endpoint + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + height: 167 + id: '1740030989850' + position: + x: -159.73240548105082 + y: 247.96547962156 + positionAbsolute: + x: -159.73240548105082 + y: 247.96547962156 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740991358287' + - text + variable: text + - value_selector: + - '1740991358287' + - json + variable: json + selected: false + title: 结束 + type: end + height: 115 + id: '1740031015432' + position: + x: 2821.3783011999635 + y: 486.25205395404754 + positionAbsolute: + x: 2821.3783011999635 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 获取当前入口拓扑的告警事件 + tool_configurations: {} + tool_label: 获取当前入口拓扑的告警事件 + tool_name: alert + tool_parameters: + endTime: + type: variable + value: + - '1740030989850' + - endTime + end_time: + type: variable + value: + - '1740030989850' + - startTime + endpoint: + type: mixed + value: '{{#1740030989850.endpoint#}}' + service: + type: mixed + value: '{{#1740030989850.service#}}' + startTime: + type: variable + value: + - '1740030989850' + - startTime + start_time: + type: variable + value: + - '1740030989850' + - startTime + type: tool + height: 53 + id: '1740103457500' + position: + x: 181.23066933933768 + y: 381.7053247659096 + positionAbsolute: + x: 181.23066933933768 + y: 381.7053247659096 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + provider_id: apo_analysis + provider_name: apo_analysis + provider_type: builtin + selected: false + title: 关联拓扑和告警数据 + tool_configurations: {} + tool_label: 关联拓扑和告警数据 + tool_name: alert_associate + tool_parameters: + alertData: + type: mixed + value: '{{#1740103457500.text#}}' + alert_data: + type: mixed + value: '{{#1740103457500.text#}}' + topologyData: + type: mixed + value: '{{#1741576377961.text#}}' + topology_data: + type: mixed + value: '{{#1740832825737.text#}}' + type: tool + height: 53 + id: '1740483937644' + position: + x: 473.3676055728321 + y: 231.9640710593971 + positionAbsolute: + x: 473.3676055728321 + y: 231.9640710593971 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: 你是一个智能推理助手,你的任务是根据用户提供的数据和用户提供的规则,按照要求分析出根因节点 + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#背景#\n 这里有一个微服务拓扑图,每层有节点名。上层节点和下层节点构成上游与下游关系,且为上游调用下游。请根据数据内容记住上下游服务关系的拓扑结构。\n\ + \ #注意#\n 拓扑数据信息\n 1.每层节点名称最前面的数字为层数,如数字0代表该节点是入口服务节点。数字越大,层数越深,同时针对非入口节点,往上找到的第一个层级比它小1的节点为其上游节点。\n\ + \ 2.一个节点可能有多个下游节点,同时它还可能被多个上游节点调用,请不要遗漏任何节点\n 3.不要创造不存在的上下游调用关系,不要弄反上下游关系,也不要遗漏上下游调用关系,拓扑结构中不要出现环,不要联想到其他东西。\n\ + \ 4.所有节点按照名称标识,节点名称比较长,请不要压缩任何节点名称。(节点名称中不要带有层级信息,如1──开头的信息)\n 拓扑图数据会在之后给出。\n\ + \ #输出#\n 已记住拓扑数据信息格式,回答简洁简短。" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: 已记住拓扑数据信息格式。 + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#背景#\n 拓扑数据中每个节点后如果有告警事件,会在节点名称后面附带告警事件, 没有告警事件的节点名称后面是空的。\n \ + \ #注意#\n 告警事件为JSON格式数据,含义如下:\n 第一层的KEY为告警事件的类型,是数字,1接口层告警,2为容器异常,3为基础设施异常,4为网络程序异常,5为错误异常。\n\ + \ 第二层的KEY为该类型告警数据信息,含义如下\n - add新增告警事件数\n - duplicate重复告警事件数\n\ + \ - resolve已经解决告警事件数\n - keep 目前还存留告警事件数\n - firstTime该类型告警事件第一次发生时间\n\ + \ - lastTime该类型告警事件最后一次发生时间\n - resolveTime解决告警的时间(告警已解决才有)\n \ + \ #处理过程#\n 请仔细处理数据,如处理每行的节点(节点名称从层数后面的--符号后开始,节点名称中不要带有层级信息,如1──开头的信息),记录的节点名称一定要完整。回答记住数据,不用回答其他内容。\n\ + \ 有告警事件的节点定义是节点出现在JSON数据中,没有告警事件的节点定义是节点未出现在JSON数据中\n #输出#\n \ + \ 已记住这些告警事件,回答简洁简短。\n #拓扑图和告警事件#\n 拓扑图和告警事件数据如下\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: 已记住这些告警事件。 + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#目的#\n 请根据上文提供的微服务拓扑图和每个节点的告警事件, 之后会提供以一个个规则找出符合规则的根因节点。\n \ + \ #根因节点推导流程#\n - 根据告警事件中异常类型和发生次数,记录异常事件从下游往上游传递的顺序\n -\ + \ 每次给出一个规则后,从上一个规则中给出的疑似根因节点中继续排除符合规则的节点,不用从头开始推导。不用附带完整数据,总结数据即可\n \ + \ #注意#\n 在拓扑中,一个上游可能有多个下游节点,多个下游视为同级节点。如果同级节点中的服务都满足异常向上传递,那么这些下游节点都可认为是根因,且排除上游节点,不要遗漏节点。同时记得一定要排除入口节点。\n\ + \ 整个过程中一定要使用节点的完整名称!!!不要省略,同时节点名称中的符号不能省略,和原始数据保持一致,节点名称不要有0──之类的层数信息。\n\ + \ #输出#\n 记住推导流程,回答简洁简短。" + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: 已记住推导流程。 + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740619353044' + position: + x: 880.2421960154973 + y: 263.6222226962782 + positionAbsolute: + x: 880.2421960154973 + y: 263.6222226962782 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: 规则1 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: 告警规则执行 + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: "规则1\n 请从拓扑数据和告警事件数据中,列出没有告警事件的节点名称,将没有告警事件的节点排除,同时列出有告警事件的节点名称,将其标识为疑似节点。\n\ + \ '输出'\n 符合当前规则的节点列表,简洁而短,且节点名称需要完整,和源数据保持一致,不可以省略" + type: tool + height: 81 + id: '1740620413020' + position: + x: 880.2421960154973 + y: 72.16511471161112 + positionAbsolute: + x: 880.2421960154973 + y: 72.16511471161112 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: 你是一个智能推理助手,你的任务是根据用户提供的数据和用户提供的规则,按照要求分析出根因节点 + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#背景#\n 这里有一个微服务拓扑图,每层有节点名。上层节点和下层节点构成上游与下游关系,且为上游调用下游。请根据数据内容记住上下游服务关系的拓扑结构。\n\ + \ #注意#\n 拓扑数据信息\n 1.每层节点名称最前面的数字为层数,如数字0代表该节点是入口服务节点。数字越大,层数越深,同时针对非入口节点,往上找到的第一个层级比它小1的节点为其上游节点。\n\ + \ 2.一个节点可能有多个下游节点,同时它还可能被多个上游节点调用,请不要遗漏任何节点\n 3.不要创造不存在的上下游调用关系,不要弄反上下游关系,也不要遗漏上下游调用关系,拓扑结构中不要出现环,不要联想到其他东西。\n\ + \ 4.所有节点按照名称标识,节点名称比较长,请不要压缩任何节点名称。(节点名称中不要带有层级信息,如1──开头的信息)\n 拓扑图数据会在之后给出。\n\ + \ #输出#\n 已记住拓扑数据信息格式,回答简洁简短。" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: 已记住拓扑数据信息格式。 + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#背景#\n 拓扑数据中每个节点后如果有告警事件,会在节点名称后面附带告警事件, 没有告警事件的节点名称后面是空的。\n \ + \ #注意#\n 告警事件为JSON格式数据,含义如下:\n 第一层的KEY为告警事件的类型,是数字,1接口层告警,2为容器异常,3为基础设施异常,4为网络程序异常,5为错误异常。\n\ + \ 第二层的KEY为该类型告警数据信息,含义如下\n - add新增告警事件数\n - duplicate重复告警事件数\n\ + \ - resolve已经解决告警事件数\n - keep 目前还存留告警事件数\n - firstTime该类型告警事件第一次发生时间\n\ + \ - lastTime该类型告警事件最后一次发生时间\n - resolveTime解决告警的时间(告警已解决才有)\n \ + \ #处理过程#\n 请仔细处理数据,如处理每行的节点(节点名称从层数后面的--符号后开始,节点名称中不要带有层级信息,如1──开头的信息),记录的节点名称一定要完整。回答记住数据,不用回答其他内容。\n\ + \ 有告警事件的节点定义是节点出现在JSON数据中,没有告警事件的节点定义是节点未出现在JSON数据中\n #输出#\n \ + \ 已记住这些告警事件,回答简洁简短。\n #拓扑图和告警事件#\n 拓扑图和告警事件数据如下\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: 已记住这些告警事件。 + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#目的#\n 请根据上文提供的微服务拓扑图和每个节点的告警事件, 之后会提供以一个个规则找出符合规则的根因节点。\n \ + \ #根因节点推导流程#\n - 根据告警事件中异常类型和发生次数,记录异常事件从下游往上游传递的顺序\n -\ + \ 每次给出一个规则后,从上一个规则中给出的疑似根因节点中继续排除符合规则的节点,不用从头开始推导。不用附带完整数据,总结数据即可\n \ + \ #注意#\n 在拓扑中,一个上游可能有多个下游节点,多个下游视为同级节点。如果同级节点中的服务都满足异常向上传递,那么这些下游节点都可认为是根因,且排除上游节点,不要遗漏节点。同时记得一定要排除入口节点。\n\ + \ 整个过程中一定要使用节点的完整名称!!!不要省略,同时节点名称中的符号不能省略,和原始数据保持一致,节点名称不要有0──之类的层数信息。\n\ + \ #输出#\n 记住推导流程,回答简洁简短。" + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: 已记住推导流程。 + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + selected: false + title: LLM 3 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406208182010' + position: + x: 1629.523646097407 + y: 263.6222226962782 + positionAbsolute: + x: 1629.523646097407 + y: 263.6222226962782 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: 你是一个智能推理助手,你的任务是根据用户提供的数据和用户提供的规则,按照要求分析出根因节点 + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#背景#\n 这里有一个微服务拓扑图,每层有节点名。上层节点和下层节点构成上游与下游关系,且为上游调用下游。请根据数据内容记住上下游服务关系的拓扑结构。\n\ + \ #注意#\n 拓扑数据信息\n 1.每层节点名称最前面的数字为层数,如数字0代表该节点是入口服务节点。数字越大,层数越深,同时针对非入口节点,往上找到的第一个层级比它小1的节点为其上游节点。\n\ + \ 2.一个节点可能有多个下游节点,同时它还可能被多个上游节点调用,请不要遗漏任何节点\n 3.不要创造不存在的上下游调用关系,不要弄反上下游关系,也不要遗漏上下游调用关系,拓扑结构中不要出现环,不要联想到其他东西。\n\ + \ 4.所有节点按照名称标识,节点名称比较长,请不要压缩任何节点名称。(节点名称中不要带有层级信息,如1──开头的信息)\n 拓扑图数据会在之后给出。\n\ + \ #输出#\n 已记住拓扑数据信息格式,回答简洁简短。" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: 已记住拓扑数据信息格式。 + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#背景#\n 拓扑数据中每个节点后如果有告警事件,会在节点名称后面附带告警事件, 没有告警事件的节点名称后面是空的。\n \ + \ #注意#\n 告警事件为JSON格式数据,含义如下:\n 第一层的KEY为告警事件的类型,是数字,1接口层告警,2为容器异常,3为基础设施异常,4为网络程序异常,5为错误异常。\n\ + \ 第二层的KEY为该类型告警数据信息,含义如下\n - add新增告警事件数\n - duplicate重复告警事件数\n\ + \ - resolve已经解决告警事件数\n - keep 目前还存留告警事件数\n - firstTime该类型告警事件第一次发生时间\n\ + \ - lastTime该类型告警事件最后一次发生时间\n - resolveTime解决告警的时间(告警已解决才有)\n \ + \ #处理过程#\n 请仔细处理数据,如处理每行的节点(节点名称从层数后面的--符号后开始,节点名称中不要带有层级信息,如1──开头的信息),记录的节点名称一定要完整。回答记住数据,不用回答其他内容。\n\ + \ 有告警事件的节点定义是节点出现在JSON数据中,没有告警事件的节点定义是节点未出现在JSON数据中\n #输出#\n \ + \ 已记住这些告警事件,回答简洁简短。\n #拓扑图和告警事件#\n 拓扑图和告警事件数据如下\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: 已记住这些告警事件。 + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#目的#\n 请根据上文提供的微服务拓扑图和每个节点的告警事件, 之后会提供以一个个规则找出符合规则的根因节点。\n \ + \ #根因节点推导流程#\n - 根据告警事件中异常类型和发生次数,记录异常事件从下游往上游传递的顺序\n -\ + \ 每次给出一个规则后,从上一个规则中给出的疑似根因节点中继续排除符合规则的节点,不用从头开始推导。不用附带完整数据,总结数据即可\n \ + \ #注意#\n 在拓扑中,一个上游可能有多个下游节点,多个下游视为同级节点。如果同级节点中的服务都满足异常向上传递,那么这些下游节点都可认为是根因,且排除上游节点,不要遗漏节点。同时记得一定要排除入口节点。\n\ + \ 整个过程中一定要使用节点的完整名称!!!不要省略,同时节点名称中的符号不能省略,和原始数据保持一致,节点名称不要有0──之类的层数信息。\n\ + \ #输出#\n 记住推导流程,回答简洁简短。" + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: 已记住推导流程。 + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: 828c0968-487a-4a70-a647-b76ee59dd33a + role: assistant + text: '{{#1740619353044.text#}}' + - id: e0522816-d592-4951-a5b3-de0d390d9c9a + role: user + text: '{{#1740620917572.text#}}' + selected: false + title: LLM 2 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406208202230' + position: + x: 1222.2131696489557 + y: 268.2444553409973 + positionAbsolute: + x: 1222.2131696489557 + y: 268.2444553409973 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: 规则2 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: 告警规则执行2 + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: "规则2\n 从应用接口层告警出发,沿着业务入口的拓扑结构,从上游向下游每个节点依次追踪(使用拓扑图数据,不要搞错上下游)。\ + \ 请输出推理过程\n 分析下游节点的时候一定要比较与下游节点的数字大小。\n 在追踪过程中分析每个节点: \n \ + \ 如果存在接口层告警,继续向该节点前面数字到与它相同数字之间大于节点前面数字的节点追踪,\n 如果没有接口层告警,停止追踪,返回上一级节点,当前节点排除。\ + \ \n 该节点在以下情况下作为疑似根因节点:\n 1. 存在其它类型的告警\n 2. 该节点前面数字到与它相同数字之间大于节点前面数字的节点没有跟该节点相同类型的告警\n\ + \ 3. 如果节点是深度最深(节点前面数字最大)的节点,同时节点存在接口告警\n 4. 在追踪过程中,对于每个有1或者5类型类型接口告警的节点:{\ + \ \n 检查是否存在出了1或者5类型类型的其他类型的告警,如果存在,则该节点是疑似根因,记录并继续分析下游节点追踪。 \n\ + \ 如果不存在1或者5类型类型的其他告警,同时该节点前面数字到与它相同数字之间大于节点前面数字的节点告警没有1或者5类型类型接口告警,则该节点是疑似根因节点。\n\ + \ '注意'\n 在拓扑图中节点前面数字表示拓扑图中的深度,拓扑图中的深度与文本中节点的先后顺序没有关系,相同数字表示兄弟关系没有上下游关系\n\ + \ 下游节点定义:该节点前面数字到与它相同数字之间大于节点前面数字的节点,\n 最下游节点深度定义:疑似根因节点前面数字最大的数字。\ + \ 如果疑似根因的前面数字与最下游节点深度相同,是疑似根因的优先候选。\n '输出'\n 符合当前规则的节点列表,简洁而短,且节点名称需要完整,不可以省略" + type: tool + height: 81 + id: '1740620917572' + position: + x: 1252.6094398690695 + y: 72.16511471161112 + positionAbsolute: + x: 1252.6094398690695 + y: 72.16511471161112 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: 规则3 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: 告警规则执行3 + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: "规则3\n 根因节点需要满足异常从该节点开始向上游传递递,同时该类型异常告警事件是持续发生的,而不是偶发的。\n\ + \ '注意'\n 如果接口层类型的告警既有新增又有解决,且该已解决告警事件时间和告警事件第一次发生时间接近,该节点可认为是偶发。\n\ + \ 但是接口层类型告警存在存留告警,该节点应做为疑似根因节点。\n 节点的异常告警是偶发,那么它不应该被认定为根因节点\n\ + \ '输出'\n 符合当前规则的节点列表,简洁而短,且节点名称需要完整,和源数据保持一致,不可以省略" + type: tool + height: 81 + id: '1740620994135' + position: + x: 1629.523646097407 + y: 83.3551495522311 + positionAbsolute: + x: 1629.523646097407 + y: 83.3551495522311 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: 规则4 + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: 告警规则执行4 + tool_configurations: {} + tool_label: 告警规则执行 + tool_name: alert_rule + tool_parameters: + rule: + type: mixed + value: "规则4\n 如果某个节点发生异常,但是上游节点未发生接口异常告警,可以将这个节点及其分支全部排除。\n \ + \ '输出'\n 符合当前规则的节点列表,简洁而短,且节点名称需要完整,和源数据保持一致,不可以省略" + type: tool + height: 81 + id: '1740621003098' + position: + x: 1979.7459725445985 + y: 83.3551495522311 + positionAbsolute: + x: 1979.7459725445985 + y: 83.3551495522311 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: 你是一个智能推理助手,你的任务是根据用户提供的数据和用户提供的规则,按照要求分析出根因节点 + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#背景#\n 这里有一个微服务拓扑图,每层有节点名。上层节点和下层节点构成上游与下游关系,且为上游调用下游。请根据数据内容记住上下游服务关系的拓扑结构。\n\ + \ #注意#\n 拓扑数据信息\n 1.每层节点名称最前面的数字为层数,如数字0代表该节点是入口服务节点。数字越大,层数越深,同时针对非入口节点,往上找到的第一个层级比它小1的节点为其上游节点。\n\ + \ 2.一个节点可能有多个下游节点,同时它还可能被多个上游节点调用,请不要遗漏任何节点\n 3.不要创造不存在的上下游调用关系,不要弄反上下游关系,也不要遗漏上下游调用关系,拓扑结构中不要出现环,不要联想到其他东西。\n\ + \ 4.所有节点按照名称标识,节点名称比较长,请不要压缩任何节点名称。(节点名称中不要带有层级信息,如1──开头的信息)\n 拓扑图数据会在之后给出。\n\ + \ #输出#\n 已记住拓扑数据信息格式,回答简洁简短。" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: 已记住拓扑数据信息格式。 + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#背景#\n 拓扑数据中每个节点后如果有告警事件,会在节点名称后面附带告警事件, 没有告警事件的节点名称后面是空的。\n \ + \ #注意#\n 告警事件为JSON格式数据,含义如下:\n 第一层的KEY为告警事件的类型,是数字,1接口层告警,2为容器异常,3为基础设施异常,4为网络程序异常,5为错误异常。\n\ + \ 第二层的KEY为该类型告警数据信息,含义如下\n - add新增告警事件数\n - duplicate重复告警事件数\n\ + \ - resolve已经解决告警事件数\n - keep 目前还存留告警事件数\n - firstTime该类型告警事件第一次发生时间\n\ + \ - lastTime该类型告警事件最后一次发生时间\n - resolveTime解决告警的时间(告警已解决才有)\n \ + \ #处理过程#\n 请仔细处理数据,如处理每行的节点(节点名称从层数后面的--符号后开始,节点名称中不要带有层级信息,如1──开头的信息),记录的节点名称一定要完整。回答记住数据,不用回答其他内容。\n\ + \ 有告警事件的节点定义是节点出现在JSON数据中,没有告警事件的节点定义是节点未出现在JSON数据中\n #输出#\n \ + \ 已记住这些告警事件,回答简洁简短。\n #拓扑图和告警事件#\n 拓扑图和告警事件数据如下\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: 已记住这些告警事件。 + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#目的#\n 请根据上文提供的微服务拓扑图和每个节点的告警事件, 之后会提供以一个个规则找出符合规则的根因节点。\n \ + \ #根因节点推导流程#\n - 根据告警事件中异常类型和发生次数,记录异常事件从下游往上游传递的顺序\n -\ + \ 每次给出一个规则后,从上一个规则中给出的疑似根因节点中继续排除符合规则的节点,不用从头开始推导。不用附带完整数据,总结数据即可\n \ + \ #注意#\n 在拓扑中,一个上游可能有多个下游节点,多个下游视为同级节点。如果同级节点中的服务都满足异常向上传递,那么这些下游节点都可认为是根因,且排除上游节点,不要遗漏节点。同时记得一定要排除入口节点。\n\ + \ 整个过程中一定要使用节点的完整名称!!!不要省略,同时节点名称中的符号不能省略,和原始数据保持一致,节点名称不要有0──之类的层数信息。\n\ + \ #输出#\n 记住推导流程,回答简洁简短。" + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: 已记住推导流程。 + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + - id: 6793984b-1ebd-4440-9d85-56846eb3f0b2 + role: assistant + text: '{{#17406208182010.text#}}' + - id: b38b8c24-c325-4c67-9f25-18f00869da81 + role: user + text: '{{#1740621003098.text#}}' + selected: false + title: LLM 4 + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '17406213332120' + position: + x: 1979.7459725445985 + y: 268.2444553409973 + positionAbsolute: + x: 1979.7459725445985 + y: 268.2444553409973 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: 汇总 + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: fd6c6155-9b33-4e8e-880f-0f536f4f4537 + role: system + text: 你是一个智能推理助手,你的任务是根据用户提供的数据和用户提供的规则,按照要求分析出根因节点 + - id: b48ad458-e31b-4a35-9dae-535df50f3e54 + role: user + text: "#背景#\n 这里有一个微服务拓扑图,每层有节点名。上层节点和下层节点构成上游与下游关系,且为上游调用下游。请根据数据内容记住上下游服务关系的拓扑结构。\n\ + \ #注意#\n 拓扑数据信息\n 1.每层节点名称最前面的数字为层数,如数字0代表该节点是入口服务节点。数字越大,层数越深,同时针对非入口节点,往上找到的第一个层级比它小1的节点为其上游节点。\n\ + \ 2.一个节点可能有多个下游节点,同时它还可能被多个上游节点调用,请不要遗漏任何节点\n 3.不要创造不存在的上下游调用关系,不要弄反上下游关系,也不要遗漏上下游调用关系,拓扑结构中不要出现环,不要联想到其他东西。\n\ + \ 4.所有节点按照名称标识,节点名称比较长,请不要压缩任何节点名称。(节点名称中不要带有层级信息,如1──开头的信息)\n 拓扑图数据会在之后给出。\n\ + \ #输出#\n 已记住拓扑数据信息格式,回答简洁简短。" + - id: e60ae457-5f3b-4f5b-a8dc-7ac6198a4c14 + role: assistant + text: 已记住拓扑数据信息格式。 + - id: 8ecd0c9e-b236-461c-a711-86904171e6af + role: user + text: "#背景#\n 拓扑数据中每个节点后如果有告警事件,会在节点名称后面附带告警事件, 没有告警事件的节点名称后面是空的。\n \ + \ #注意#\n 告警事件为JSON格式数据,含义如下:\n 第一层的KEY为告警事件的类型,是数字,1接口层告警,2为容器异常,3为基础设施异常,4为网络程序异常,5为错误异常。\n\ + \ 第二层的KEY为该类型告警数据信息,含义如下\n - add新增告警事件数\n - duplicate重复告警事件数\n\ + \ - resolve已经解决告警事件数\n - keep 目前还存留告警事件数\n - firstTime该类型告警事件第一次发生时间\n\ + \ - lastTime该类型告警事件最后一次发生时间\n - resolveTime解决告警的时间(告警已解决才有)\n \ + \ #处理过程#\n 请仔细处理数据,如处理每行的节点(节点名称从层数后面的--符号后开始,节点名称中不要带有层级信息,如1──开头的信息),记录的节点名称一定要完整。回答记住数据,不用回答其他内容。\n\ + \ 有告警事件的节点定义是节点出现在JSON数据中,没有告警事件的节点定义是节点未出现在JSON数据中\n #输出#\n \ + \ 已记住这些告警事件,回答简洁简短。\n #拓扑图和告警事件#\n 拓扑图和告警事件数据如下\n{{#1740483937644.text#}}" + - id: 83e3d53e-a468-49eb-a624-1c01ea0d8660 + role: assistant + text: 已记住这些告警事件。 + - id: 321dad3d-8100-43ef-9192-83678743bfec + role: user + text: "#目的#\n 请根据上文提供的微服务拓扑图和每个节点的告警事件, 之后会提供以一个个规则找出符合规则的根因节点。\n \ + \ #根因节点推导流程#\n - 根据告警事件中异常类型和发生次数,记录异常事件从下游往上游传递的顺序\n -\ + \ 每次给出一个规则后,从上一个规则中给出的疑似根因节点中继续排除符合规则的节点,不用从头开始推导。不用附带完整数据,总结数据即可\n \ + \ #注意#\n 在拓扑中,一个上游可能有多个下游节点,多个下游视为同级节点。如果同级节点中的服务都满足异常向上传递,那么这些下游节点都可认为是根因,且排除上游节点,不要遗漏节点。同时记得一定要排除入口节点。\n\ + \ 整个过程中一定要使用节点的完整名称!!!不要省略,同时节点名称中的符号不能省略,和原始数据保持一致,节点名称不要有0──之类的层数信息。\n\ + \ #输出#\n 记住推导流程,回答简洁简短。" + - id: 47201076-79d5-494a-b292-4abb6c7b0255 + role: assistant + text: 已记住推导流程。 + - id: 0a47ba60-f808-4aee-baf8-6eb335075005 + role: user + text: '{{#1740620413020.text#}}' + - id: c0312b56-3ec7-40d4-a632-3a61641b397b + role: assistant + text: '{{#1740619353044.text#}}' + - id: 5684cffc-6b73-4c54-b1ea-5f1a0706ec4d + role: user + text: '{{#1740620917572.text#}}' + - id: 3a13fc17-2615-4150-8157-82d63c3dc7ee + role: assistant + text: '{{#17406208202230.text#}}' + - id: 878332b7-a064-4a71-abfd-f5e4b94e3b4e + role: user + text: '{{#1740620994135.text#}}' + - id: 4537a3f2-85b5-4156-8db1-c8533dabc80f + role: assistant + text: '{{#17406208182010.text#}}' + - id: 5f5edef3-3bd1-46d6-ab82-f8e4561efb91 + role: user + text: '{{#1740621003098.text#}}' + - id: f0d72fb5-747d-405a-8769-0ba96f5aa710 + role: assistant + text: '{{#17406213332120.text#}}' + - id: 6785fe4d-1f47-4938-b50d-1d5b65bb26d1 + role: user + text: "#目的#\n 汇总之前的节点信息,返回一个满足最多规则的根因的节点和最多三个疑似根因节点。\n #注意#\n 不需要其他任何额外信息,且节点名称一定完整,和源数据保持一致。\n\ + \ 最终的根因节点一定不能是入口节点(拓扑图中最上层的节点)。\n 节点名称必须完整,和拓扑数据保持一致,且节点名称前后不要用任何特殊符号,如空格,\ + \ *, `等符号。\n xxx后面必须跟着节点两个字,不要直接给出xxx.\n #输出#\n 输出为JSON格式,仅有包含字段nodeName和otherNodeName,josn内的节点名必须完整,保留原有的任何符号,不可省略\n\ + \ nodeName给出造成根因的节点。(不要给出无,必须有一个节点如造成根因的是A节点)\n otherNodeName给出疑似根因节点的列表。(列表内可以有多个节点,但是不能和造成根因节点相同)" + selected: false + title: LLM 5 + type: llm + variables: [] + vision: + enabled: false + height: 117 + id: '17406213642580' + position: + x: 1957.0410005791687 + y: 486.25205395404754 + positionAbsolute: + x: 1957.0410005791687 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: llm text + ja_JP: llm text + pt_BR: llm text + zh_Hans: 大模型返回文本结果 + label: + en_US: text + ja_JP: text + pt_BR: text + zh_Hans: text + llm_description: rule + max: null + min: null + name: text + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + params: + text: '' + provider_id: apo_rule + provider_name: apo_rule + provider_type: builtin + selected: false + title: 提取根因节点 + tool_configurations: {} + tool_label: 提取根因节点 + tool_name: root_cause + tool_parameters: + text: + type: mixed + value: '{{#17406213642580.text#}}' + type: tool + height: 53 + id: '1740991358287' + position: + x: 2388.1123042552454 + y: 486.25205395404754 + positionAbsolute: + x: 2388.1123042552454 + y: 486.25205395404754 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: entry service + ja_JP: entry service + pt_BR: entry service + zh_Hans: 拓扑入口服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: toplogy service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: toplogy endpoint + ja_JP: toplogy endpoint + pt_BR: toplogy endpoint + zh_Hans: 拓扑入口服务端点 + label: + en_US: endpoint + ja_JP: endpoint + pt_BR: endpoint + zh_Hans: endpoint + llm_description: toplogy endpoint + max: null + min: null + name: endpoint + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + endpoint: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询入口服务拓扑结构 + tool_configurations: {} + tool_label: 查询入口服务拓扑结构 + tool_name: 查询入口服务拓扑结构 + tool_parameters: + endTime: + type: variable + value: + - '1740030989850' + - endTime + endpoint: + type: mixed + value: '{{#1740030989850.endpoint#}}' + service: + type: mixed + value: '{{#1740030989850.service#}}' + startTime: + type: variable + value: + - '1740030989850' + - startTime + type: tool + height: 53 + id: '1741576377961' + position: + x: 152.2095509987039 + y: 100.4720021403999 + positionAbsolute: + x: 152.2095509987039 + y: 100.4720021403999 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 315.9066237900074 + y: 209.8848334522369 + zoom: 0.44320613412228055 diff --git a/api/workflows/zh/容器CPU使用率分析.yml b/api/workflows/zh/容器CPU使用率分析.yml new file mode 100644 index 0000000000..21790b813f --- /dev/null +++ b/api/workflows/zh/容器CPU使用率分析.yml @@ -0,0 +1,693 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 容器CPU使用率分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1742544447442-source-1742544615331-target + selected: false + source: '1742544447442' + sourceHandle: source + target: '1742544615331' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742544615331-false-1742544602116-target + selected: false + source: '1742544615331' + sourceHandle: 'false' + target: '1742544602116' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742544615331-true-1742544596775-target + selected: false + source: '1742544615331' + sourceHandle: 'true' + target: '1742544596775' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742544596775-source-1742544844516-target + selected: false + source: '1742544596775' + sourceHandle: source + target: '1742544844516' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742544602116-source-1742544844516-target + selected: false + source: '1742544602116' + sourceHandle: source + target: '1742544844516' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742544844516-source-1742548125977-target + selected: false + source: '1742544844516' + sourceHandle: source + target: '1742548125977' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742548125977-source-1742545032360-target + source: '1742548125977' + sourceHandle: source + target: '1742545032360' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: 容器运行时类型(containered或docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + - label: cAdvisor Job名 + max_length: 48 + options: [] + required: false + type: text-input + variable: cadvisor_job + - label: 命名空间 + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: Pod名 + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: 查询开始时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: 查询结束时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: 阈值 + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 245 + id: '1742544447442' + position: + x: 42.8575698426215 + y: 287.52904760035375 + positionAbsolute: + x: 42.8575698426215 + y: 287.52904760035375 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器CPU使用率(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1742544447442.cadvisor_job#}}' + endTime: + type: variable + value: + - '1742544447442' + - end_time + namespace: + type: mixed + value: '{{#1742544447442.namespace#}}' + pod: + type: mixed + value: '{{#1742544447442.pod#}}' + startTime: + type: variable + value: + - '1742544447442' + - start_time + type: tool + height: 53 + id: '1742544596775' + position: + x: 645.511423939121 + y: 271.4731107508206 + positionAbsolute: + x: 645.511423939121 + y: 271.4731107508206 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_name: 容器CPU使用率(使用Docker容器运行时,按Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1742544447442.cadvisor_job#}}' + endTime: + type: variable + value: + - '1742544447442' + - end_time + namespace: + type: mixed + value: '{{#1742544447442.namespace#}}' + pod: + type: mixed + value: '{{#1742544447442.pod#}}' + startTime: + type: variable + value: + - '1742544447442' + - start_time + type: tool + height: 53 + id: '1742544602116' + position: + x: 645.511423939121 + y: 358.78247478209 + positionAbsolute: + x: 645.511423939121 + y: 358.78247478209 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: 0d7b487d-778b-4456-a523-911ec27789ec + value: containered + varType: string + variable_selector: + - '1742544447442' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742544615331' + position: + x: 333.78563786147083 + y: 287.52904760035375 + positionAbsolute: + x: 333.78563786147083 + y: 287.52904760035375 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742544602116' + - text + - - '1742544596775' + - text + height: 128 + id: '1742544844516' + position: + x: 972.4274666755517 + y: 312.5996979050388 + positionAbsolute: + x: 972.4274666755517 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742548125977' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742545032360' + position: + x: 1733.7835311915119 + y: 312.5996979050388 + positionAbsolute: + x: 1733.7835311915119 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: c8f8941d-d686-4e61-9b53-ad2501b008f5 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: 22c763a6-b080-4ac7-b2fa-3c10a8df5a93 + role: user + text: '# 目的 + + 根据指标数据分析容器{{#1742544447442.pod#}}CPU使用率是否存在异常。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据{{#1742544844516.output#}},获取容器CPU使用率。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了阈值{{#1742544447442.threshold#}},请与指标数据中的值进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx容器在xx-xx时间内CPU使用率存在异常,从xx突变到xx。 + + # 输出 + + 容器{{#1742544447442.pod#}}的CPU异常分析结果 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742548125977' + position: + x: 1328.5577845817636 + y: 312.5996979050388 + positionAbsolute: + x: 1328.5577845817636 + y: 312.5996979050388 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 105.12546337703543 + y: 83.89903433733394 + zoom: 0.6597539553864473 diff --git a/api/workflows/zh/容器内存异常分析.yml b/api/workflows/zh/容器内存异常分析.yml new file mode 100644 index 0000000000..43ee0544d4 --- /dev/null +++ b/api/workflows/zh/容器内存异常分析.yml @@ -0,0 +1,688 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 容器内存异常分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + selected: false + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: if-else + id: 1741075107082-source-1742545677987-target + source: '1741075107082' + sourceHandle: source + target: '1742545677987' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742545677987-true-1742545657374-target + source: '1742545677987' + sourceHandle: 'true' + target: '1742545657374' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: if-else + targetType: tool + id: 1742545677987-false-1742545659582-target + source: '1742545677987' + sourceHandle: 'false' + target: '1742545659582' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742545657374-source-1742545685376-target + source: '1742545657374' + sourceHandle: source + target: '1742545685376' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: variable-aggregator + id: 1742545659582-source-1742545685376-target + source: '1742545659582' + sourceHandle: source + target: '1742545685376' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: variable-aggregator + targetType: llm + id: 1742545685376-source-1741075304942-target + source: '1742545685376' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: 内存阈值 + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + - label: cAdvisor Job名 + max_length: 48 + options: [] + required: false + type: text-input + variable: cadvisor_job + - label: 容器运行时类型(containered或docker) + max_length: 48 + options: [] + required: true + type: text-input + variable: runtime_type + height: 245 + id: '1741075107082' + position: + x: 78.57939773674809 + y: 282 + positionAbsolute: + x: 78.57939773674809 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: 6b60b170-dd6b-4915-afe7-bf701e6350ba + role: user + text: '# 目的 + + 根据指标数据分析内存是否存在异常。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据{{#1742545685376.output#}},获取容器内存变化情况。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了阈值{{#1741075107082.threshold#}},请与指标数据进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx Pod在xx-xx时间内内存存在异常,从xx突变到xx。 + + # 输出 + + 容器{{#1741075107082.pod#}}的内存异常分析结果 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 1406.8158608695485 + y: 273.4763864204887 + positionAbsolute: + x: 1406.8158608695485 + y: 273.4763864204887 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 1763.3781446098683 + y: 273.4763864204887 + positionAbsolute: + x: 1763.3781446098683 + y: 273.4763864204887 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_name: 容器内存使用字节数(使用Containerd容器运行时,按容器和Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1741075107082.cadvisor_job#}}' + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742545657374' + position: + x: 720.4273753696995 + y: 267.79397736748115 + positionAbsolute: + x: 720.4273753696995 + y: 267.79397736748115 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + label: + en_US: cAdvisor job name + ja_JP: cAdvisor job name + pt_BR: cAdvisor job name + zh_Hans: cAdvisor任务名称 + llm_description: cAdvisor job name + max: null + min: null + name: cadvisor_job_name + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + label: + en_US: Namespace + ja_JP: Namespace + pt_BR: Namespace + zh_Hans: 命名空间 + llm_description: Namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + label: + en_US: Pod name + ja_JP: Pod name + pt_BR: Pod name + zh_Hans: Pod名称 + llm_description: Pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + cadvisor_job_name: '' + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_configurations: {} + tool_label: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_name: 容器内存使用字节数(使用Docker容器运行时,按Pod统计) + tool_parameters: + cadvisor_job_name: + type: mixed + value: '{{#1741075107082.cadvisor_job#}}' + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742545659582' + position: + x: 720.4273753696995 + y: 361.96197062628374 + positionAbsolute: + x: 720.4273753696995 + y: 361.96197062628374 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + cases: + - case_id: 'true' + conditions: + - comparison_operator: contains + id: acbc342a-eaa1-483e-8cd8-e6ba03a3815e + value: containered + varType: string + variable_selector: + - '1741075107082' + - runtime_type + id: 'true' + logical_operator: and + desc: '' + selected: false + title: 条件分支 + type: if-else + height: 125 + id: '1742545677987' + position: + x: 405.0536729277826 + y: 282 + positionAbsolute: + x: 405.0536729277826 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + output_type: string + selected: false + title: 变量聚合器 + type: variable-aggregator + variables: + - - '1742545659582' + - text + - - '1742545657374' + - text + height: 128 + id: '1742545685376' + position: + x: 1055.6895094971433 + y: 282 + positionAbsolute: + x: 1055.6895094971433 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 210.89828324127885 + y: 77.21920272571316 + zoom: 0.5743491774985183 diff --git a/api/workflows/zh/宿主机CPU IO Wait情况.yml b/api/workflows/zh/宿主机CPU IO Wait情况.yml new file mode 100644 index 0000000000..2316dd7355 --- /dev/null +++ b/api/workflows/zh/宿主机CPU IO Wait情况.yml @@ -0,0 +1,336 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 宿主机CPU IO Wait情况 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742548374719-source-1742548431447-target + source: '1742548374719' + sourceHandle: source + target: '1742548431447' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742548431447-source-1742548501572-target + source: '1742548431447' + sourceHandle: source + target: '1742548501572' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742548501572-source-1742548523246-target + source: '1742548501572' + sourceHandle: source + target: '1742548523246' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: 查询开始时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: 查询结束时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + - label: 主机名 + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + height: 141 + id: '1742548374719' + position: + x: 76.04147626768133 + y: 289 + positionAbsolute: + x: 76.04147626768133 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机IO等待CPU繁忙率 + tool_configurations: {} + tool_label: 宿主机IO等待CPU繁忙率 + tool_name: host_cpu_iowait + tool_parameters: + endTime: + type: variable + value: + - '1742548374719' + - end_time + node: + type: mixed + value: '{{#1742548374719.node_name#}}' + startTime: + type: variable + value: + - '1742548374719' + - start_time + type: tool + height: 53 + id: '1742548431447' + position: + x: 411.9416519259926 + y: 289 + positionAbsolute: + x: 411.9416519259926 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 55d3d7b6-b59d-4bc2-a9b6-9fa7da663781 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: facc911f-4cc8-42fb-91b3-e0e3b4d9f062 + role: user + text: '# 目的 + + 根据指标数据分析{{#1742548374719.node_name#}}主机的CPU IO Wait情况是否存在异常。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据{{#1742548431447.text#}}。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了网络RTT阈值,请与指标数据中的RTT时间进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx 主机在xx-xx时间内CPU IO Wait存在异常,从xx突变到xx。 + + # 输出 + + {{#1742548374719.node_name#}}主机的CPU IO Wait异常分析结果 + + ' + selected: true + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742548501572' + position: + x: 744.4313155830969 + y: 289 + positionAbsolute: + x: 744.4313155830969 + y: 289 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742548501572' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742548523246' + position: + x: 1076.947309097866 + y: 289 + positionAbsolute: + x: 1076.947309097866 + y: 289 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 62.90967382663706 + y: 124.46417141852612 + zoom: 0.5743491774985179 diff --git a/api/workflows/zh/宿主机磁盘使用情况.yml b/api/workflows/zh/宿主机磁盘使用情况.yml new file mode 100644 index 0000000000..6a84ce3d63 --- /dev/null +++ b/api/workflows/zh/宿主机磁盘使用情况.yml @@ -0,0 +1,336 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 宿主机磁盘使用情况 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1742548736120-source-1742548763699-target + source: '1742548736120' + sourceHandle: source + target: '1742548763699' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742548763699-source-1742549014473-target + source: '1742548763699' + sourceHandle: source + target: '1742549014473' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1742549014473-source-1742549028365-target + source: '1742549014473' + sourceHandle: source + target: '1742549028365' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: true + title: 开始 + type: start + variables: + - label: 主机名 + max_length: 48 + options: [] + required: true + type: text-input + variable: node_name + - label: 查询开始时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: start_time + - label: 查询结束时间(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: end_time + height: 141 + id: '1742548736120' + position: + x: 72.08295253536267 + y: 282 + positionAbsolute: + x: 72.08295253536267 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified host name + ja_JP: Specified host name + pt_BR: Specified host name + zh_Hans: 指定的主机名 + label: + en_US: node + ja_JP: node + pt_BR: node + zh_Hans: node + llm_description: Specified host name + max: null + min: null + name: node + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + node: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 宿主机磁盘使用率(百分比,不含rootfs) + tool_configurations: {} + tool_label: 宿主机磁盘使用率(百分比,不含rootfs) + tool_name: 宿主机磁盘使用率(百分比,不含rootfs) + tool_parameters: + endTime: + type: variable + value: + - '1742548736120' + - end_time + node: + type: mixed + value: '{{#1742548736120.node_name#}}' + startTime: + type: variable + value: + - '1742548736120' + - start_time + type: tool + height: 53 + id: '1742548763699' + position: + x: 387 + y: 282 + positionAbsolute: + x: 387 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 3dee2638-1569-47be-a5ac-db155a932893 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: d7721625-d3dc-4c04-97f1-dbd59b9bff9a + role: user + text: '# 目的 + + 根据指标数据分析宿主机{{#1742548736120.node_name#}}磁盘使用情况,并给出建议。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据{{#1742548763699.text#}}。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了网络RTT阈值,请与指标数据中的RTT时间进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx主机在xx-xx时间内存在异常,从xx突变到xx。 + + # 输出 + + 主机{{#1742548736120.node_name#}}的磁盘异常分析结果 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1742549014473' + position: + x: 693.279103229957 + y: 282 + positionAbsolute: + x: 693.279103229957 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1742549014473' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1742549028365' + position: + x: 1009.9610018154515 + y: 282 + positionAbsolute: + x: 1009.9610018154515 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 80.31268252787203 + y: 123.95956188985468 + zoom: 0.49999999999999994 diff --git a/api/workflows/zh/日志分析.yml b/api/workflows/zh/日志分析.yml new file mode 100644 index 0000000000..0da13eeefc --- /dev/null +++ b/api/workflows/zh/日志分析.yml @@ -0,0 +1,316 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 日志分析 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1740647123944-source-1740550714241-target + source: '1740647123944' + sourceHandle: source + target: '1740550714241' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1740548057126-source-1741576642510-target + source: '1740548057126' + sourceHandle: source + target: '1741576642510' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1741576642510-source-1740647123944-target + source: '1741576642510' + sourceHandle: source + target: '1740647123944' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: service + max_length: 48 + options: [] + required: true + type: text-input + variable: service + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + height: 141 + id: '1740548057126' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1740647123944' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1740550714241' + position: + x: 988 + y: 282 + positionAbsolute: + x: 988 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 0174ee2d-822e-42af-a8e6-a70c2742ef87 + role: system + text: 你是一个智能助手,请帮助用户分析日志内是否有发生问题 + - id: 288b0c83-5288-42fb-9ca8-ad35e37f08c0 + role: user + text: '这是某一时间段的日志,请帮忙汇总日志exception的情况 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1740647123944' + position: + x: 687.0472902605677 + y: 282 + positionAbsolute: + x: 687.0472902605677 + y: 282 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: service name + ja_JP: service name + pt_BR: service name + zh_Hans: 查询的日志服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time + ja_JP: Data query start time + pt_BR: Data query start time + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time + ja_JP: Data query end time + pt_BR: Data query end time + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query start time + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询服务日志数据 + tool_configurations: {} + tool_label: 查询服务日志数据 + tool_name: 查询服务日志数据 + tool_parameters: + endTime: + type: variable + value: + - '1740548057126' + - endTime + service: + type: mixed + value: '{{#1740548057126.service#}}' + startTime: + type: variable + value: + - '1740548057126' + - startTime + type: tool + height: 53 + id: '1741576642510' + position: + x: 384 + y: 282 + positionAbsolute: + x: 384 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -14.521013469618424 + y: -51.41093641424487 + zoom: 0.9137626364719462 diff --git a/api/workflows/zh/服务告警事件确认.yml b/api/workflows/zh/服务告警事件确认.yml new file mode 100644 index 0000000000..3ddc742474 --- /dev/null +++ b/api/workflows/zh/服务告警事件确认.yml @@ -0,0 +1,368 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 服务告警事件确认 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741075107082-source-1742537242313-target + source: '1741075107082' + sourceHandle: source + target: '1742537242313' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742537242313-source-1741075304942-target + source: '1742537242313' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: 服务名 + max_length: 48 + options: [] + required: false + type: text-input + variable: service + - label: 服务端点 + max_length: 48 + options: [] + required: false + type: text-input + variable: endpoint + height: 167 + id: '1741075107082' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: 924b8b02-39cd-4dfc-bcbc-f97752d75ac4 + role: user + text: '# 目的 + + 根据指标数据分析网络是否存在异常。 + + # 分析过程 + + 1. 查看原始数据 + + 查看指标数据,获取Pod的下游网络RTT时间。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了网络RTT阈值,请与指标数据中的RTT时间进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx Pod在xx-xx时间内网络存在异常,RTT从xx突变到xx。 + + # 输出 + + 容器 + + 的网络异常分析结果 + + ' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 906.7638642048873 + y: 282 + positionAbsolute: + x: 906.7638642048873 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 1286.0557841572368 + y: 282 + positionAbsolute: + x: 1286.0557841572368 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: entry service + ja_JP: entry service + pt_BR: entry service + zh_Hans: 拓扑入口服务名 + label: + en_US: service + ja_JP: service + pt_BR: service + zh_Hans: service + llm_description: toplogy service name + max: null + min: null + name: service + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: toplogy endpoint + ja_JP: toplogy endpoint + pt_BR: toplogy endpoint + zh_Hans: 拓扑入口服务端点 + label: + en_US: endpoint + ja_JP: endpoint + pt_BR: endpoint + zh_Hans: endpoint + llm_description: toplogy endpoint + max: null + min: null + name: endpoint + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + endpoint: '' + service: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 查询入口服务告警事件 + tool_configurations: {} + tool_label: 查询入口服务告警事件 + tool_name: alert + tool_parameters: + endTime: + type: constant + value: 1742537133321000 + endpoint: + type: mixed + value: '{{#1741075107082.endpoint#}}' + service: + type: mixed + value: '{{#1741075107082.service#}}' + startTime: + type: constant + value: 1742535932000000 + type: tool + height: 53 + id: '1742537242313' + position: + x: 467.4980580862814 + y: 282 + positionAbsolute: + x: 467.4980580862814 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: 77.82408418093883 + y: 14.458691182194116 + zoom: 0.7039267963088531 diff --git a/api/workflows/zh/网络异常分析确认.yml b/api/workflows/zh/网络异常分析确认.yml new file mode 100644 index 0000000000..cfb5ef984a --- /dev/null +++ b/api/workflows/zh/网络异常分析确认.yml @@ -0,0 +1,375 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: workflow + name: 网络异常分析确认 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: package + value: + plugin_unique_identifier: langgenius/deepseek:0.0.5@fd6efd37c2a931911de8ab9ca3ba2da303bef146d45ee87ad896b04b36d09403 +kind: app +version: 0.1.5 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + image_file_size_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInIteration: false + sourceType: llm + targetType: end + id: 1741075304942-source-1741075309105-target + selected: false + source: '1741075304942' + sourceHandle: source + target: '1741075309105' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: start + targetType: tool + id: 1741075107082-source-1742526484280-target + source: '1741075107082' + sourceHandle: source + target: '1742526484280' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + sourceType: tool + targetType: llm + id: 1742526484280-source-1741075304942-target + source: '1742526484280' + sourceHandle: source + target: '1741075304942' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + desc: '' + selected: false + title: 开始 + type: start + variables: + - label: pod + max_length: 48 + options: [] + required: true + type: text-input + variable: pod + - label: namespace + max_length: 48 + options: [] + required: true + type: text-input + variable: namespace + - label: startTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: startTime + - label: endTime(微秒) + max_length: 48 + options: [] + required: true + type: number + variable: endTime + - label: 网络RTT阈值 + max_length: 48 + options: [] + required: true + type: text-input + variable: threshold + height: 193 + id: '1741075107082' + position: + x: 80 + y: 282 + positionAbsolute: + x: 80 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + temperature: 0.7 + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + prompt_template: + - id: 04b40dd5-a59a-4747-a425-1d214b49d6f1 + role: system + text: 你是一个智能助手和可观测领域专家,帮助用户分析是否存在问题。 + - id: 4afae74e-f76e-40df-aa51-e0b73ea5cc7c + role: user + text: '# 目的 + + 根据指标数据分析{{#1741075107082.pod#}}网络是否存在异常。 + + # 分析过程 + + 1. 查看原始数据{{#1742526484280.text#}} + + 查看指标数据,获取Pod的下游网络RTT时间。 + + 2. 查看相关指标变化趋势 + + 如果用户提供了网络RTT阈值{{#1741075107082.threshold#}},请与指标数据{{#1742526484280.text#}}中的RTT时间进行比对,如果没有请选择一个合适的值进行比对。 + + 3. 给出结论 + + 根据你的比对结果将异常时间段的突变值变化展示出来。如xx Pod在xx-xx时间内网络存在异常,RTT从xx突变到xx。 + + # 输出 + + 容器{{#1741075107082.pod#}}的网络异常分析结果' + selected: false + title: LLM + type: llm + variables: [] + vision: + enabled: false + height: 89 + id: '1741075304942' + position: + x: 680.1938546436463 + y: 282 + positionAbsolute: + x: 680.1938546436463 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + outputs: + - value_selector: + - '1741075304942' + - text + variable: text + selected: false + title: 结束 + type: end + height: 89 + id: '1741075309105' + position: + x: 992.4771121801355 + y: 282 + positionAbsolute: + x: 992.4771121801355 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + - data: + desc: '' + is_team_authorization: true + output_schema: null + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified pod name + ja_JP: Specified pod name + pt_BR: Specified pod name + zh_Hans: 指定的容器POD名称 + label: + en_US: pod + ja_JP: pod + pt_BR: pod + zh_Hans: pod + llm_description: Specified pod name + max: null + min: null + name: pod + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Specified namespace + ja_JP: Specified namespace + pt_BR: Specified namespace + zh_Hans: 指定的容器所在Namespace + label: + en_US: namespace + ja_JP: namespace + pt_BR: namespace + zh_Hans: namespace + llm_description: Specified namespace + max: null + min: null + name: namespace + options: [] + placeholder: null + precision: null + required: false + scope: null + template: null + type: string + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query start time(Microsecond) + ja_JP: Data query start time(Microsecond) + pt_BR: Data query start time(Microsecond) + zh_Hans: 开始时间 (微秒) + label: + en_US: startTime + ja_JP: startTime + pt_BR: startTime + zh_Hans: startTime + llm_description: Data query start time(Microsecond) + max: null + min: null + name: startTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + - auto_generate: null + default: null + form: llm + human_description: + en_US: Data query end time(Microsecond) + ja_JP: Data query end time(Microsecond) + pt_BR: Data query end time(Microsecond) + zh_Hans: 结束时间 (微秒) + label: + en_US: endTime + ja_JP: endTime + pt_BR: endTime + zh_Hans: endTime + llm_description: Data query end time(Microsecond) + max: null + min: null + name: endTime + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: number + params: + endTime: '' + namespace: '' + pod: '' + startTime: '' + provider_id: apo_select + provider_name: apo_select + provider_type: builtin + selected: false + title: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_configurations: {} + tool_label: 容器与下游服务的网络往返时间(RTT,按命名空间和Pod统计) + tool_name: 查询容器网络与下游RTT + tool_parameters: + endTime: + type: variable + value: + - '1741075107082' + - endTime + namespace: + type: mixed + value: '{{#1741075107082.namespace#}}' + pod: + type: mixed + value: '{{#1741075107082.pod#}}' + startTime: + type: variable + value: + - '1741075107082' + - startTime + type: tool + height: 53 + id: '1742526484280' + position: + x: 381.76254987897516 + y: 282 + positionAbsolute: + x: 381.76254987897516 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 243 + viewport: + x: -162.65771266224817 + y: 91.11959428262674 + zoom: 0.7039267963088532