antony@notes:~/openshift$ cat "透過-VMware-Aria-Operations-監控-openshift.md"
透過 VMware Aria Operations 監控 openshift
1. 先決條件
在使用 VMware Aria Operations Management Pack for Kubernetes 來監控 Kubernetes 叢集之前,您必須先準備好您的 VMware Aria Operations 環境。您必須確保 VMware Aria Operations 符合下列一般需求。
- 確保您已安裝 VMware Aria Operations (SaaS) 或 VMware Aria Operations 8.1 或更高版本。
- 確認您已安裝 VMware Aria Operations Management Pack for Kubernetes。
- 確保您的環境中已部署一個 Openshift 叢集。
2. 環境準備
2.1. 在 Kubernetes 中安裝 VMware Aria Operations Management Pack
2.1.1. 先決條件
- 已安裝 Kubernetes
- 已安裝 VMware Aria Operations
- 確認擁有最新版本的管理套件,且該管理套件與您的 VMware Aria Operations 版本相容。
- 確保擁有安裝管理套件的權限。
2.1.2. 開始安裝
從 VMware Marketplace 下載該管理套件的 PAK 檔案。
使用管理員權限登入 VMware Aria Operations。
從左側選單中,點擊 Data Sources > Integrations。前往右側窗格中的 Repository 索引標籤。
在 Repository 索引標籤上,點擊 Add。

此時會出現「Add Solutions Wizard Options」(新增解決方案精靈選項)。該精靈包含三個頁面,您可以在此尋找並上傳 PAK 檔案、接受 EULA (使用者授權合約) 並進行安裝,以及檢視安裝過程。點擊 Browse (瀏覽) 以找到您的暫存資料夾並選取 PAK 檔案。
- 在升級至最新版本時,您可以勾選 Install the PAK file even if it is already installed (即使已安裝也要安裝 PAK 檔案) 和 Reset Default Content (重設預設內容) 這兩個選項。
點擊 Upload (上傳)。上傳過程可能需要幾分鐘。

閱讀並接受 EULA,然後點擊 Next (下一步)。

當 VMware Aria Operations Management Pack for Kubernetes 安裝完成後,點擊 Finish (完成)。
從 Data Sources -> Integrations -> ADD → Kubernetes 索引標籤設定此項整合。
先在 openshift 建立一個 read only 的 serviceAccount
# 建立 ServiceAccount oc create serviceaccount vrops-mp-read-only-user -n openshift-logging # 賦予必要讀取權限 oc adm policy add-cluster-role-to-user cluster-monitoring-view -z vrops-mp-read-only-user -n openshift-logging oc adm policy add-cluster-role-to-user cluster-reader -z vrops-mp-read-only-user -n openshift-logging # 建立長期 Token (Secret) cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret type: kubernetes.io/service-account-token metadata: name: vrops-mp-read-only-user-token namespace: openshift-logging annotations: kubernetes.io/service-account.name: "vrops-mp-read-only-user" EOF獲取 sa 的 token
echo $(oc get secret vrops-mp-read-only-user-token -n openshift-logging -o jsonpath='{.data.token}' | base64 -d)執行結果:
eyJhbGciOiJSUzI1NiIsImtpZCI6Ijk5Vi1DZlc5M1Y0eUh5UEtBYTA4bG9OaC1jMFFTT0s1cElCa0lOZ3NuaTAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InZyb3BzLW1wLXJlYWQtb25seS11c2VyLXRva2VuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6InZyb3BzLW1wLXJlYWQtb25seS11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNDI2MmJmNTctMzA5OC00ZjYxLWFlMDAtNDE3M2UzMmYzZGJjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRlZmF1bHQ6dnJvcHMtbXAtcmVhZC1vbmx5LXVzZXIifQ.lpM7IEWiiB4sbrCLYB-Re_R4d7-g3sELisU4npjJyp_pwzJB0LehOo-pwnlwWH33FtTOqrsD26hYlYO5POmEpGjAUt49DoL9-SkoOfCjcQy82lGKbj_F6kMVqyddVEcHBIUWIuHAckvekSerLxH1M4dIztBnTFXulKJ_GIY72VA6aQOt0kGX35-dCH8GK-nHUJIu5cKcbrWV1NAfkzLBpFqlkVnjcOgHpf2jXJ3-3ozGQ4wMvCeZlG9YA86rY8Xn1XrlbztQx2klURLuy4b2RgEt7sfZuilrZScrFoPI68a7Av5prb8EQeRnzEZSsagNP5RfH5PG1qmRW64R_BrAlg依序輸入以下欄位內容:
- Cloud Account Information
- Name:
openshift
- Name:
- Connection Information
- Control Plane URL:
https://api.topgun.kubeantony.com:6443- 執行
oc config view找到clusters.cluster.server的值
- 執行
- Collector Service:
Prometheus Server - Credential:
<點選右邊的 + 按鈕>- Credential Kind:
Token Auth - Credential name:
ocp-prometheus - Bearer Token:
將步驟 11 得到的 token 複製貼上 - Prometheus Server:
https://prometheus-k8s-openshift-monitoring.apps.topgun.kubeantony.com/- 執行以下命令獲取:命令執行結果:
echo https://$(oc get routes -n openshift-monitoring prometheus-k8s -o jsonpath='{.status.ingress[0].host}')/https://prometheus-k8s-openshift-monitoring.apps.topgun.kubeantony.com/
- 執行以下命令獲取:
- Prometheus endpoint token:
執行以下命令獲取:
oc create sa monitor-reader -n default oc adm policy add-cluster-role-to-user cluster-monitoring-view -z monitor-reader -n default oc adm policy add-cluster-role-to-user cluster-reader -z monitor-reader -n default # 建立長期 Token (Secret) cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret type: kubernetes.io/service-account-token metadata: name: monitor-reader-token namespace: default annotations: kubernetes.io/service-account.name: "monitor-reader" EOF echo $(oc get secret monitor-reader-token -n default -o jsonpath='{.data.token}' | base64 -d)命令執行結果:
eyJhbGciOiJSUzI1NiIsImtpZCI6Ild2Y3ZIRzk4cEhGSlJFeGt0dk1lS1hQQzlldDNIQkdnbXhFd0NLTmRLNVEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im1vbml0b3ItcmVhZGVyLXRva2VuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1vbml0b3ItcmVhZGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiYTE2ZTNhYTYtOWI3NC00NjQ3LTlkZjctZDE5MWJjM2RiNTcxIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRlZmF1bHQ6bW9uaXRvci1yZWFkZXIifQ.wo6tD4uW-4dXgJ2hy92MnIim0V2ZLu2Yzt9ZyCZ3Y9qcZ29brh9JV6fNgNarK1eY7qIcDQKNr5IFxOHL3dZzZUI5ZlfW-rI9HYpZHbbUKDqr1b7yf6_ZtW-kTAiSdehn0DGXynPCNDpfW7MpwrsD_HUGzuYmXB2U3uTZe2soeI4zQsFSgWNjmna12oXsQ59k7uvXevjcyC4_SVI3g5BryDUhrdeAKBcZpYs5udOPgw1-j0Th0BS25xOOG4sQO3weP2CiRtYwm2RLXpct_zJXTlAMyxo05UG7vwpHOfh8nsSP0TdXuRNA4Z4-A6WmI9VGCQdohsC6kOQgeVTcZ7yL0KMrz8TE3i6_V9Uo9tiH0Mc-fBM68Tb6r6VlNgGfHM4iGeuC4gBrYM2Nn0EC2GqOlRcZ_odifGZbkIpe0LO07kAF-OwEVRra2qlcPdvD5dEOnXYf3Nh2LyuupNKAspZ1sORw3pfix8C6lwBIFqo3OdmkNZCJHfr4BaDqBaA5Gl4Z8uSCUn5Gn2_F1kcq9iECZheQNhD4pFyMebNZyrKDbu1s67N8rjDR79urOzuIriB1FbElVoG1AHP2aNcX1bDOcNgtOptpRGdxgB1gkdgRpkVbq8PAu-W6dwU2NPEjljUaIe4Myf8vzhhJVq_DzYKOOhFTMKAPAyEzrFC3jABcXYQ
- Credential Kind:
- Collector / Group: 選
CloudProxy-xx-xx-xx-xx-xxx
- Control Plane URL:
- Advanced Settings
- Java Process Monitoring:
Activatied - Delete nonexistent object older than:
2 hours - cAdvisor Install Check:
Deactivated
- Java Process Monitoring:
- 點選左下角 SAVE 按鈕

- 確認連接成功
