第 5 章 定制可观察性
使用 OpenShift 上的 Red Hat OpenStack Services (RHOSO)的可观察性,深入了解您的部署的指标、日志和警报。
RHOSO 中的可观察性架构由 Red Hat OpenShift Container Platform (RHOCP)中的服务组成,以及在您的 Compute 节点上公开指标、日志和警报的服务。您可以使用 Red Hat OpenShift Observability 深入了解 RHOSO 环境。另外,您还可以访问日志基础架构,以便收集、存储和搜索日志。RHOSO 服务(如 ceilometer 和 sg-core)使计算节点的指标和相关的虚拟基础架构可供 OpenShift 观察框架使用。
Red Hat OpenStack Services on OpenShift (RHOSO)、Red Hat OpenShift Container Platform (RHOCP)和 Service Telemetry Framework (STF)中的可观察性通常是不适合的(如按请求的账单)。
5.1. 在 control plane 中配置可观察性 复制链接链接已复制到粘贴板!
在 OpenShift (RHOSO)部署的 Red Hat OpenStack Services (RHOSO)部署中默认启用 Telemetry 服务(ceilometer、prometheus)。您可以通过编辑 OpenStackControlPlane 自定义资源(CR)文件中的 Telemetry 服务来配置可观察性。
先决条件
-
control plane 包括 Telemetry 服务的初始配置。如需更多信息,请参阅在 OpenShift 上部署 Red Hat OpenStack Services 中的 创建 control plane 中的
遥测配置。
流程
-
在工作站上打开
OpenStackControlPlaneCR 文件openstack_control_plane.yaml。 根据您的环境配置 Telemetry 服务:
telemetry: enabled: true template: metricStorage: enabled: true dashboardsEnabled: true dataplaneNetwork: ctlplane networkAttachments: - ctlplane monitoringStack: alertingEnabled: true scrapeInterval: 30s storage: strategy: persistent retention: 24h persistent: pvcStorageRequest: 20G autoscaling: enabled: false aodh: databaseAccount: aodh databaseInstance: openstack secret: osp-secret heatInstance: heat ceilometer: enabled: true secret: osp-secret logging: enabled: false annotations: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/allow-shared-ip: internalapi metallb.universe.tf/loadBalancerIPs: 172.17.0.80-
metricStorage.monitoringStack.scrapeInterval: 指定收集新指标的时间间隔。更改此间隔可能会影响性能。 -
metricStorage.monitoringStack.storage.retention: 指定遥测指标存储的时间长度。持续时间会影响所需的存储量。 -
storage.persistent.pvcStorageRequest:指定分配给 Prometheus 时间序列数据库的存储量。 -
autoscaling.enabled: 设置为true以启用自动扩展。即使禁用了自动扩展,也必须存在autoscaling字段。有关自动扩展的更多信息,请参阅实例自动扩展。 -
ceilometer.enabled:设置为false以禁用ceilometer服务。如果不禁用 ceilometer,则会通过以下 URL 从集群内部创建并公开 Prometheus 指标导出器 :http://ceilometer-internal.openstack.svc:3000/metrics -
logging.enabled: 设置为true以启用可观察性日志记录。有关配置可观察日志记录的更多信息,请参阅启用 RHOSO 可观察性日志。
-
更新 control plane:
$ oc apply -f openstack_control_plane.yaml -n openstack等待 RHOCP 创建与
OpenStackControlPlaneCR 相关的资源。运行以下命令来检查状态:$ oc get openstackcontrolplane -n openstack NAME STATUS MESSAGE openstack-control-plane Unknown Setup started当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。
提示将
-w选项附加到get命令的末尾,以跟踪部署进度。可选:通过查看
openstack命名空间中的 pod 来查看每个单元,确认部署了 control plane:$ oc get pods -n openstack当所有 pod 都已完成或运行时,会部署 control plane。
验证
从您的工作站访问
OpenStackClientpod 的远程 shell:$ oc rsh -n openstack openstackclient确认您可以查询
prometheus,并且提取端点处于活跃状态:$ openstack metric query up --disable-rbac -c container -c instance -c value输出示例:
+-----------------+------------------------+-------+ | container | instance | value | +-----------------+------------------------+-------+ | alertmanager | 10.217.1.112:9093 | 1 | | prometheus | 10.217.1.63:9090 | 0 | | proxy-httpd | 10.217.1.52:3000 | 1 | | | 192.168.122.100:9100 | 1 | | | 192.168.122.101:9100 | 1 | +-----------------+------------------------+-------+注意当集群中调度活跃工作负载时,value 字段中的每个条目都应该为 "1",但
prometheus容器除外。因为 TLS,prometheus容器会报告一个 "0" 的值,它会被默认启用。-
您可以通过点 RHOCP 控制台中的
Observe,找到openstack-telemetry-operator仪表板。有关 RHOCP 仪表板的更多信息,请参阅 RHOCP Monitoring Guide 中的 以集群管理员身份查看监控仪表板。