Depurando métricas do Block Storage for VPC
Quando você tenta visualizar métricas do Block Storage for VPC no painel de monitoramento, as métricas não são preenchidas.
O preenchimento das métricas pode falhar no painel por uma das razões a seguir:
- O PVC que você deseja monitorar pode não estar montado. As métricas são preenchidas somente para PVCs montadas em um pod.
- Pode haver um problema relacionado ao console, que pode ser verificado com a visualização manual das métricas de armazenamento na CLI.
Verifique se a PVC está montada. Se o problema persistir, visualize manualmente as métricas na CLI para determinar se a causa está relacionada a problemas com o console.
-
Descreva o PVC. Se a linha Usado por da saída for preenchida com o nome de um pod, a PVC será montada.
oc describe pvc <pvc_name>Exemplo de saída
Name: my-pvc Namespace: default StorageClass: ibmc-vpc-block-5iops-tier Status: Bound Volume: pvc-a11a11a1-111a-111a-a1a1-aaa111aa1a1a Labels: <none> Annotations: pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.beta.kubernetes.io/storage-provisioner: vpc.block.csi.ibm.io Finalizers: [kubernetes.io/pvc-protection] Capacity: 10Gi Access Modes: RWO VolumeMode: Filesystem Used By: my-pod-11a1a1a1a1-1a11a Events: <none> -
Se a PVC não for montada em um pod, revise as etapas para configurar o Block Storage for VPC e monte a PVC em um pod. Em seguida, tente visualizar as métricas novamente.
-
Se o PVC for montado, siga as etapas para verificar manualmente as métricas do Block Storage for VPC e, em seguida, [abra um problema de suporte](/docs/openshift?topic=openshift-get-help. As etapas para verificação manual na CLI permitem visualizar as métricas, mas não são uma solução para métricas que não são preenchidas no console. No entanto, se você conseguir verificar manualmente as métricas, isso indica que há um problema de console para o qual deve ser aberto um problema.
Visualizando manualmente as métricas de armazenamento na CLI
Se as métricas de armazenamento não estiverem visíveis no painel de monitoramento, será possível visualizar manualmente na CLI. Note que a verificação manual das métricas de armazenamento é uma solução alternativa provisória e não uma solução de monitoramento permanente para visualização de métricas. Após concluir as etapas a seguir, se você conseguir visualizar manualmente as métricas na CLI e não no painel, isso indica que há um problema no console para o qual você deve [abrir um problema de suporte] (/docs/openshift?topic=openshift-get-help.
Depois de concluir as etapas a seguir, certifique-se de remover os recursos criados durante a depuração.
-
Crie e implemente uma configuração
clusterRolecustomizada. Neste exemplo, oclusterRoleé denominadotest-metrics-reader.apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: test-metrics-reader rules: - nonResourceURLs: - "/metrics" verbs: - get - apiGroups: - "" resources: - nodes/metrics verbs: - getoc apply -f <file_name> -
Crie uma conta do serviço. Neste exemplo, a conta do serviço é denominada
test-sa.oc create sa test-sa -
Inclua um
clusterRoleBindingnoclusterRole.oc create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
Liste os nós e observe o nome e o IP do nó para o qual você deseja reunir métricas.
oc get nodesExemplo de saída
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.35+IKS -
Crie um arquivo yaml para implementar um pod no nó. Certifique-se de especificar a conta do serviço criada e o endereço IP do nó.
apiVersion: v1 kind: Pod metadata: name: testpod spec: nodeName: 10.111.1.111 containers: - image: nginx name: nginx serviceAccountName: test-saoc apply -f <file_name> -
Recupere o token da conta do serviço de dentro do pod.
-
Efetue login no pod.
kubectl exec testpod -it -- bash -
Execute o comando a seguir para obter o token. Note que não há saída.
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
-
-
Enquanto você ainda estiver com login efetuado no pod, execute o comando para visualizar as métricas de armazenamento. Certifique-se de especificar o endereço IP do nó.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
Visualize as métricas na saída do terminal. Talvez seja necessário aguardar vários minutos para que as métricas sejam exibidas. Se você ainda não conseguir visualizar as métricas, [abra um problema de suporte](/docs/openshift?topic=openshift-get-help.
-
Depois de concluir a visualização das métricas e determinar se o problema está relacionado ao painel ou ao agente de métricas, exclua as configurações e os recursos criados nas etapas anteriores.
Não ignore esta etapa.
- Saia do pod.
exit - Exclua o pod.
oc delete pod testpod - Exclua o
clusterRoleBinding.oc delete clusterrolebinding test-metrics-reader - Exclua a conta do serviço.
oc delete sa test-sa - Exclua a função de cluster.
oc delete clusterrole test-metrics-reader