antony@notes:~/openshift$ cat "透過-VMware-Aria-Operations-監控-openshift.md"
透過 VMware Aria Operations 監控 openshift
透過 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 按鈕

- 確認連接成功
