Esta página descreve o processo de criação e gestão de painéis de controlo na sua instância do Grafana, também denominada instância de monitorização do sistema. instância de monitorização do sistema. Use painéis de controlo para realizar operações de monitorização no seu projeto, como a monitorização de rede e a monitorização de servidores.
Depois de a plataforma de observabilidade recolher as métricas produzidas por cargas de trabalho implementadas no seu projeto do GDC, a configuração guarda as etiquetas de métricas associadas e agrega ficheiros de todas as origens de dados. Em seguida, pode criar painéis de controlo personalizados para consultar e visualizar métricas específicas a partir da interface do utilizador (IU) da instância de monitorização.
Um painel de controlo é uma disposição visual dinâmica de um ou mais painéis personalizáveis que interagem com as métricas do Prometheus configuradas nas origens de dados. Ao fazer consultas, pode usar cada um destes painéis para visualizar e expor métricas específicas dos seus componentes do GDC.
A plataforma de observabilidade expõe uma API que lhe permite configurar personalizações para a disposição visual das suas métricas. Por exemplo, estabeleça limites de aceitação, apresente os sinais adequados, etiquete os gráficos e escolha uma resolução de tempo consistente.
Painéis de controlo disponíveis
Partindo do princípio de que o seu ambiente está em funcionamento, vê imediatamente alguns painéis de controlo de métricas na página inicial da instância de monitorização. Por exemplo, pode observar o estado de comutação e o estado dos componentes do sistema.
Use os painéis de controlo de comutação e cluster para monitorizar clusters e métricas de nós. Aceda aos painéis de controlo de registo e monitorização para observar os clusters de administrador.
As métricas de administrador da plataforma (PA) mais relevantes são as seguintes:
- Kubernetes / servidor da API: mostra o estado de funcionamento do servidor da API por cluster na organização.
- Kubernetes / Recursos de computação / Vários clusters: mostra a utilização de recursos em toda a organização.
- Kubernetes / Recursos de computação / Cluster: mostra a utilização de recursos por cluster.
- Kubernetes / Volumes persistentes: mostra a utilização de volumes persistentes do Kubernetes em cada cluster.
- Estado do nó: mostra a utilização de recursos em cada nó de cada cluster.
- Estado do agrupamento: mostra o consumo de recursos de cada agrupamento em cada cluster.
A imagem seguinte mostra um exemplo do painel de controlo Kubernetes / Recursos de computação / Vários clusters.
Aceda à instância de monitorização do seu projeto
Tem de obter autorização para aceder aos painéis de controlo de monitorização. Para receber as autorizações necessárias para iniciar sessão e ver métricas na instância de monitorização do seu projeto, peça ao administrador de IAM da organização para lhe conceder a função de visualizador do Grafana da organização (organization-grafana-viewer
). O administrador de IAM da organização pode conceder-lhe acesso criando uma associação de funções:
kubectl --kubeconfig ADMIN_KUBECONFIG create rolebinding pa-grafana-viewer-binding -n platform-obs --user=USER_NAME --clusterrole=organization-grafana-viewer
Substitua o seguinte:
- ADMIN_KUBECONFIG: o caminho do ficheiro kubeconfig para o cluster de administrador.
- USER_NAME: o nome da conta do utilizador que requer a associação de funções.
Consulte os seguintes recursos para mais informações sobre as atribuições de funções:
- Para uma descrição da função de visualizador do Grafana da organização, consulte Descrições de funções predefinidas.
- Para obter instruções sobre como adicionar e remover funções na IU, consulte o artigo Conceda acesso a recursos.
Crie painéis de controlo do Grafana
Esta secção descreve o processo de criação e gestão de painéis de controlo na sua instância do Grafana.
Siga os passos seguintes para criar um painel de controlo no GDC:
- Conclua os pré-requisitos da secção Antes de começar.
- Abra o ponto final do Grafana do seu projeto.
- Crie um objeto
ConfigMap
para o seu painel de controlo. - Crie um
Dashboard
recurso personalizado (CR).
Antes de começar
Antes de criar painéis de controlo, tem de obter acesso à instância de monitorização. Para mais informações, consulte o artigo Aceda aos painéis de controlo.
- Recolha métricas do seu projeto do GDC antes de criar painéis de controlo.
- Para iniciar sessão, criar painéis de controlo e visualizar métricas, peça ao administrador do IAM do projeto para lhe conceder a função de visualizador do Grafana do projeto (
project-grafana-viewer
). Defina o caminho do ficheiro kubeconfig como uma variável de ambiente:
export KUBECONFIG=KUBECONFIG_FILE
Substitua KUBECONFIG_FILE pelo caminho do ficheiro kubeconfig no cluster de administrador onde quer criar o painel de controlo.
Ponto final de monitorização
Abra o seguinte URL para aceder ao ponto final do seu projeto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Substitua o seguinte:
- GDC_URL: o URL da sua organização no GDC.
- PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
Crie um objeto ConfigMap
para o seu painel de controlo
Siga estes passos para criar um objeto ConfigMap
que contenha o modelo JSON do painel de controlo:
- Aceda ao ponto final do seu projeto.
- No menu de navegação, clique no botão Adicionar.
- No menu pendente apresentado, clique em Painel de controlo. A instância cria um painel de controlo vazio.
No painel de controlo vazio, adicione todos os painéis que quiser. Pode personalizar os detalhes e editar os painéis para fornecer as suas consultas ou fazer outras atualizações.
Na barra de menu, clique no botão
Definições do painel de controlo para abrir a página Definições.No menu de navegação, clique na opção Modelo JSON.
Copie o modelo JSON do painel de controlo e cole-o num ficheiro de texto simples para o manter disponível.
Substitua os campos
id
euid
de nível superior pelo valornull
no modelo JSON.Crie um objeto
ConfigMap
a partir da linha de comandos. Na secçãodata
do objetoConfigMap
, cole o modelo JSON que copiou anteriormente num ficheiro.json
:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { <JSON model of the dashboard> } EOF
Substitua o seguinte:
- PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
- DASHBOARD_CONFIGMAP_NAME: o nome que quer dar ao seu objeto
ConfigMap
. - JSON_FILE_NAME: o nome que quer dar ao ficheiro onde cola o modelo JSON do painel de controlo.
Para ver um exemplo do aspeto que este objeto deve ter, consulte o exemplo
ConfigMap
para um painel de controlo.Implemente o objeto
ConfigMap
do seu painel de controlo no cluster de administração.
ConfigMap
exemplo para um painel de controlo
O ficheiro YAML seguinte mostra um exemplo do objeto ConfigMap
de um painel de controlo para métricas no espaço de nomes platform-obs
:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: platform-obs
name: my-project-dashboard-configmap
data:
my-project-dashboard.json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Sample dashboard",
"uid": null,
"version": 0
}
Crie um Dashboard
recurso personalizado
Siga estes passos para criar um Dashboard
recurso personalizado (CR) e ativar o painel de controlo no projeto indicado:
Crie um
Dashboard
CR a partir da linha de comandos e configure o ficheiro com o nome que atribuiu ao objetoConfigMap
do seu painel de controlo:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: observability.gdc.goog/v1alpha1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: CUSTOM_RESOURCE_NAME spec: configMapRef: name: DASHBOARD_CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Default EOF
Substitua o seguinte:
- PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
- CUSTOM_RESOURCE_NAME: o nome que quer dar ao seu recurso personalizado
Dashboard
. - DASHBOARD_CONFIGMAP_NAME: o nome que atribuiu ao objeto
ConfigMap
para o seu painel de controlo. - JSON_FILE_NAME: o nome que deu ao ficheiro que contém o modelo JSON do painel de controlo no objeto
ConfigMap
.
Implemente o CR
Dashboard
no espaço de nomes do projeto. Esta ação configura o serviço de observabilidade para importar o painel de controlo predefinido para a instância de monitorização do seu projeto.
Os painéis de controlo estão isolados de outros projetos, tal como as métricas e os registos. Consequentemente, se quiser usar o mesmo painel de controlo em vários projetos, implemente um Dashboard
CR em cada um deles. Além disso, os dados de registo e monitorização aos quais o painel de controlo acede têm de estar disponíveis em todos esses projetos.
O processo que processa os painéis de controlo deteta alterações ao Dashboard
CR e ao objeto ConfigMap
. Se modificar um ou outro, o programa reflete a alteração na instância de monitorização. Para atualizar ou eliminar um painel de controlo, tem de aplicar as alterações no CR e implementá-lo novamente. Não pode guardar atualizações feitas diretamente na IU de monitorização.
Para criar um painel de controlo numa pasta ou alterar as pastas, modifique o valor foldername
na secção spec
do CR.Dashboard
Caso contrário, deixe como Default
. O processo cria automaticamente pastas se não existirem.