apiVersion: observability.openshift.io/v1alpha1
kind: UIPlugin
metadata:
name: troubleshooting-panel
spec:
type: TroubleshootingPanel
集群可观测性操作符仅为技术预览功能。技术预览功能不受Red Hat生产服务等级协议(SLA)的支持,并且可能功能不完整。Red Hat不建议在生产环境中使用它们。这些功能可让客户提前访问即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。 有关Red Hat技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。 |
OpenShift Container Platform 4.16+版本的故障排除UI插件提供了由开源Korrel8r项目支持的可观测性信号关联。使用可在观察→警报下访问的故障排除面板,您可以轻松地跨不同数据存储关联指标、日志、警报、网络流量和其他可观测性信号和资源。OpenShift Container Platform 4.17+的用户还可以从应用程序启动器访问故障排除UI面板。
安装故障排除UI插件后,会在同一命名空间中部署一个名为korrel8r
的Korrel8r服务,该服务能够从其关联引擎中定位相关的可观察性信号和Kubernetes资源。
Korrel8r的输出以OpenShift Container Platform Web控制台中交互式节点图的形式显示。图中的节点表示一种资源或信号类型,而边表示关系。单击节点时,您将自动重定向到相应的Web控制台页面,其中包含该节点的特定信息,例如指标、日志、Pod。
您作为具有cluster-admin
集群角色的用户可以访问集群。
您已登录到OpenShift Container Platform Web控制台。
您已安装集群可观察性操作员。
在OpenShift Container Platform Web控制台中,单击**操作符** → **已安装的操作符**,然后选择集群可观察性操作员。
选择**UI插件**选项卡(位于选项卡列表的最右侧),然后按**创建UIPlugin**。
选择**YAML视图**,输入以下内容,然后按**创建**。
apiVersion: observability.openshift.io/v1alpha1
kind: UIPlugin
metadata:
name: troubleshooting-panel
spec:
type: TroubleshootingPanel
您作为具有cluster-admin
集群角色的用户可以访问OpenShift Container Platform集群。如果您的集群版本为4.17或更高版本,您可以从应用程序启动器访问故障排除UI面板。
您已登录到OpenShift Container Platform Web控制台。
如果您想可视化关联日志,则已安装OpenShift Container Platform日志记录。
如果您想可视化关联网络流,则已安装OpenShift Container Platform网络可观察性。
您已安装集群可观察性操作员。
您已安装集群可观察性操作员故障排除UI插件。
故障排除面板依赖于在您的集群中安装的可观察性信号存储。Kubernetes资源、警报和指标在OpenShift Container Platform集群中始终默认可用。其他信号类型需要安装可选组件。
|
在Web控制台的管理员视角中,导航到**观察** → **警报**,然后选择一个警报。如果警报有相关项目,则警报详细信息页面上的图表上方会出现**故障排除面板**链接。
单击**故障排除面板**链接以显示面板。
该面板包含查询详细信息和查询结果的拓扑图。所选警报将转换为Korrel8r查询字符串并发送到korrel8r
服务。结果显示为连接返回信号和资源的图形网络。这是一个邻域图,从当前资源开始,包括距起点最多3步远的相关对象。单击图中的节点将带您到这些资源的相应Web控制台页面。
您可以使用故障排除面板查找与所选警报相关的资源。
单击节点有时显示的结果可能少于图中所示。这是一个已知问题,将在未来的版本中解决。 |
警报 (1):此节点是图中的起点,表示在Web控制台中显示的KubeContainerWaiting
警报。
Pod (1):此节点表示与此警报关联的单个Pod
资源。单击此节点将打开一个控制台搜索,直接显示相关的Pod。
事件 (2):与Pod关联有两个Kubernetes事件。单击此节点以查看事件。
日志 (74):此Pod有74行日志,您可以单击此节点访问这些日志。
指标 (105):与Pod关联许多指标。
网络 (6):存在网络事件,这意味着Pod已通过网络进行通信。图中的其余节点表示Pod已与其通信的Service
、Deployment
和DaemonSet
资源。
焦点:单击此按钮将更新图表。默认情况下,当您单击图表中的节点时,图表本身不会更改。相反,主Web控制台页面会更改,然后您可以使用页面上的链接导航到其他资源,而故障排除面板本身保持打开且不变。要强制更新故障排除面板中的图表,请单击**焦点**。这将绘制一个新图表,使用Web控制台中的当前资源作为起点。
显示查询:单击此按钮启用一些实验性功能。
隐藏查询隐藏实验性功能。
标识图表起点的查询。用于创建图表的Korrel8r关联引擎的一部分查询语言是实验性的,将来可能会更改。查询将通过**焦点**按钮更新,以对应于主Web控制台窗口中的资源。
邻域深度用于显示较小或较大的邻域。
如果结果数量太大,则在大型集群中设置较大的值可能会导致查询失败。 |
目标类导致进行目标导向搜索而不是邻域搜索。目标导向搜索显示从起点到目标类(指示资源或信号类型)的所有路径。目标类的格式是实验性的,可能会更改。当前,以下目标有效:
k8s:RESOURCE[VERSION.[GROUP]]
标识一种Kubernetes资源。例如k8s:Pod
或k8s:Deployment.apps.v1
。
alert:alert
表示任何警报。
metric:metric
表示任何指标。
netflow:network
表示任何网络可观察性网络事件。
log:LOG_TYPE
表示存储的日志,其中LOG_TYPE
必须是application
、infrastructure
或audit
之一。
要触发警报作为故障排除UI面板中使用的起点,您可以部署故意配置错误的容器。
使用以下YAML(通过命令行或在Web控制台中)在系统命名空间中创建一个损坏的部署。
apiVersion: apps/v1
kind: Deployment
metadata:
name: bad-deployment
namespace: default (1)
spec:
selector:
matchLabels:
app: bad-deployment
template:
metadata:
labels:
app: bad-deployment
spec:
containers: (2)
- name: bad-deployment
image: quay.io/openshift-logging/vector:5.8
1 | 部署必须位于系统命名空间(例如default )中才能导致所需的警报。 |
2 | 此容器故意尝试启动没有配置文件的vector 服务器。服务器记录几条消息,然后以错误退出。或者,您可以部署任何您喜欢的配置错误的容器,使其触发警报。 |
查看警报
转到**观察** → **警报**并单击**清除所有筛选器**。查看待处理
警报。
告警最初显示为 |
选择一个KubeContainerWaiting
、KubePodCrashLooping
或KubePodNotReady
告警,然后点击链接打开故障排除面板。或者,如果面板已经打开,请点击“关注”按钮以更新图表。