- 概述
- 要求
- 部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 2:为离线安装配置符合 OCI 的注册表
- 步骤 3:配置外部对象存储
- 步骤 4:配置 High Availability Add-on
- 步骤 5:配置 SQL 数据库
- 步骤 6:配置负载均衡器
- 步骤 7:配置 DNS
- 步骤 8:配置磁盘
- 步骤 9:配置内核和操作系统级别设置
- 步骤 10:配置节点端口
- 步骤 11:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- Kerberos 身份验证配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- install-uipath.sh 参数
- 添加具有 GPU 支持的专用代理节点
- 为 Task Mining 添加专用代理节点
- 连接 Task Mining 应用程序
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何禁用 TX 校验和卸载
- 如何从 Automation Suite 2022.10.10 和 2022.4.11 升级到 2023.10.2
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何扩展 AI Center 存储
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 如何使用证书
- 如何将应用程序日志转发到 Splunk
- 如何从注册表 Pod 中清理未使用的 Docker 映像
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何在离线环境中安装 RKE2 SELinux
- 如何清理 NFS 服务器上的旧差异备份
- 升级 Automation Suite 后重新安装或升级 Insights 时丢失数据
- 单节点升级在结构阶段失败
- 从 2021.10 自动升级后,集群运行状况不佳
- 由于 Ceph 运行状况不佳,升级失败
- 由于空间问题,RKE2 未启动
- 卷无法装载,且仍处于附加/分离循环状态
- 由于 Orchestrator 数据库中的传统对象,升级失败
- 并行升级后,发现 Ceph 集群处于降级状态
- Insights 组件运行状况不佳导致迁移失败
- Apps 服务升级失败
- 就地升级超时
- Docker 注册表迁移卡在 PVC 删除阶段
- 升级到 2023.10 或更高版本后 AI Center 配置失败
- 在离线环境中升级失败
- 升级期间 SQL 验证失败
- 快照-控制器-crds Pod 在升级后处于 CrashLoopBackOff 状态
- Longhorn REST API 端点升级/重新安装错误
- 由于 Insights PVC 大小被覆盖,升级失败
- 预服务脚本执行期间服务升级失败
- 使用 Process Mining 运行高可用性
- 使用 Kerberos 登录时 Process Mining 挖掘失败
- 在 Disaster Recovery 后,DAPR 无法正常用于 Process Mining
- 在集群模式下使用 Redis 配置 Dapr
- 无法使用 pyodbc 格式连接字符串连接到 AutomationSuite_ProcessMining_Warehouse 数据库
- Airflow 安装失败,并显示 sqlalchemy.exc.ArgumentError:无法从字符串“”中解析 rfc1738 URL
- 如何添加 IP 表格规则以使用 SQL Server 端口 1433
- 运行 CData Sync 的服务器不信任 Automation Suite 证书
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
将 Automation Suite 2023.10.6 版及更早版本的应用程序日志转发到 Splunk。
- 本节仅适用于 Automation Suite 2023.10.6 版及更早版本。对于较新的 Automation Suite 版本,请参阅 “将应用程序日志转发到外部工具”。
- 本节介绍导出 POD 日志。有关导出机器人日志的信息,请参阅“Orchestrator - 关于日志” 。
- Splunk 是外部工具,UiPath™ 不会对应如何配置 Splunk 设置提供建议。有关 HTTP 事件收集器的更多详细信息,请参阅Splunk 官方文档。
Splunk-Fluentd 堆栈是一个集中式日志记录解决方案,可用于搜索、分析和可视化日志数据。Fluentd 收集日志并将其发送到 Splunk。Splunk 会检索日志,并让您可视化和分析数据。
要配置 Splunk,请执行以下步骤:
-
Select Settings in the top navigation bar, and then select Indexes.
-
Select New Index and then Create an index.
-
Select Settings in the top navigation bar, and then select Data inputs.
-
选择“HTTP 事件收集器” 。
-
To enable the new token creation, select Global Settings.
-
启用并保存“全局设置”。
-
To create the token, select New Token.
-
Enter a name for the HTTP Event Collector and select Next.
-
Select New and enter Source Type details.
-
Scroll down and select Index from the available list of indexes, and select Next in the top navigation bar.
-
Verify the data and select Submit.
-
创建后,获取令牌 ID、索引、来源和来源类型的详细信息。您需要这些值来设置“集群输出”。
使用令牌创建密码
使用 Splunk 用户界面中生成的 HTTP 事件收集器 (HEC) 令牌创建 Kubernetes 密码。此令牌用于 Automation Suite 和 Splunk 之间的身份验证。
kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
集群输出到 Splunk
ClusterOutput 定义日志的接收方,并描述配置和身份验证详细信息。
要为 Splunk 配置集群输出,请运行以下命令:
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
将尖括号< >之间的属性替换为 Splunk 配置中使用的相应值。 有关详细信息,请参见下表:
| 属性 | 描述 |
|---|---|
splunk_hec_host | Splunk 实例的网络主机。 这通常是 Splunk 的 IP 地址或 FQDN。 |
splunk_hec_port | 用于客户端通信的 Splunk 端口。 此端口通常与启动 Splunk 仪表板的端口不同。 Splunk 的传统 HEC 端口为8088 。 |
secret_key | Splunk 令牌的密钥。这是您在上一步中创建的密码中密钥的名称,用于保存 Splunk HEC 令牌。提供的清单已包含以下密钥: splunk_hec_token 。如果尚未更改创建密码的命令,则无需更改此值。 |
splunk_hec_timekey 中的值 splunkHec.buffer | 输出频率,或您希望推送日志的频率。 我们建议使用 30 秒 ( 30s ) 间隔。 |
protocol | URL 协议。 有效值为http和https 。 如果在 Splunk 上启用了 SSL 通信,则必须使用 HTTPS 协议。 |
splunk_hec_index | Splunk 索引的标识符。 用于为事件编制索引。 |
splunk_hec_source | 事件的来源字段。 |
splunk_hec_source_type | 事件的来源类型字段。 |
以下示例基于此页面上显示的配置。
FluentD 中的集群流程
使用ClusterFlow定义:
- 要收集和筛选的日志;
- 用于接收日志的
ClusterOutput。
要在 Fluentd 中配置“集群流程” ,请运行以下命令:
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: cattle-logging-system
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- fleet-system
- cattle-gatekeeper-system
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: cattle-logging-system
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- fleet-system
- cattle-gatekeeper-system
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
在 Splunk 中搜索
-
选择“搜索和报告” 。
-
按照来源、索引和来源类型进行搜索。
故障排除
如果由于某种原因未将应用程序日志推送到 Splunk,请执行以下步骤:
- 将 Fluentd 日志级别更改为“调试”。
- 查询 Fluentd Pod:
kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/outkubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/out备注:Fluentd 日志应指明数据未推送到 Splunk 的原因。
- 修复问题后,恢复 Fluentd 日志
级别:
kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'