Esta página descreve o processo de criação e gerenciamento de painéis na instância do Grafana, usada para visualizações de registros e métricas do projeto isolado do Google Distributed Cloud (GDC).
Um painel oferece uma representação visual dinâmica do desempenho do sistema. Ele consiste em um ou mais painéis personalizáveis, cada um configurado para consultar e mostrar métricas específicas dos componentes do GDC. Esses painéis permitem que você faça o seguinte:
- Visualize métricas em vários tipos de gráficos.
- Defina limites de alerta para acionar notificações com base nos valores das métricas.
- Personalize as propriedades de exibição, como rótulos, unidades e intervalos de tempo.
- Defina resoluções de tempo consistentes para comparações precisas.
Ao usar os painéis do Grafana de maneira eficaz, você pode ter insights valiosos sobre o desempenho e a integridade do ambiente do GDC.
Antes de começar
Para receber as permissões necessárias para trabalhar com painéis em uma organização, peça ao administrador do IAM da organização para conceder a você os seguintes papéis:
- Criar um painel personalizado: criador de PA do painel (
dashboard-pa-creator) - Editar e excluir um painel personalizado: editor de PA do painel (
dashboard-pa-editor) - Acessar um painel personalizado: leitor de PA do painel (
dashboard-pa-viewer)
Para receber as permissões necessárias para trabalhar com painéis de um projeto, peça ao administrador do IAM do projeto para conceder a você os seguintes papéis no namespace do projeto:
- Criar, editar e excluir um painel personalizado: editor de painel (
dashboard-editor) - Acessar um painel personalizado: leitor de painel (
dashboard-viewer) - Criar e editar um ConfigMap: editor de ConfigMap (
observabilitypipeline-configmap-editor)
Depois de receber os papéis correspondentes, siga estas etapas antes de criar painéis:
- Colete métricas das cargas de trabalho.
Defina o caminho do arquivo kubeconfig como uma variável de ambiente:
export KUBECONFIG=KUBECONFIG_PATHSubstitua
KUBECONFIG_PATHpelo caminho do arquivo kubeconfig do servidor da API Management em que você quer criar o painel.
Identificar o endpoint do Grafana
O URL a seguir é o endpoint da instância do Grafana do seu projeto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Substitua:
GDC_URL: o URL da sua organização no GDC.PROJECT_NAMESPACE: o namespace do projeto.
Por exemplo, o endpoint do Grafana para o projeto platform-obs na organização org-1
é https://org-1/platform-obs/grafana.
Criar um painel personalizado
Siga estas etapas para criar um painel do Grafana e personalizar as configurações:
- Abra o endpoint do Grafana para mostrar a interface do usuário.
- No menu de navegação, clique em Adicionar.
- No menu suspenso, clique em Painel. O Grafana cria um painel vazio.
No painel vazio, adicione todos os painéis que você quer.
No menu Fonte de dados de cada painel, selecione a fonte de dados que você quer para o painel, incluindo métricas (
prometheus), registros de auditoria (auditloki) e registros operacionais (oploki).Para universos multizona, o Grafana tem fontes de dados com rótulos de zona que podem ser usadas para criar visualizações de painéis com métricas e registros de várias zonas. Essas fontes de dados são nomeadas com o formato
DATA_SOURCE-ZONE_ID, em que:DATA_SOURCEpode assumir um dos seguintes valores:- Prometheus (
prometheusoumetrics) para mostrar métricas. - Registros de auditoria (
auditloki) para mostrar registros de auditoria. - Registros operacionais (
oploki) para mostrar registros operacionais.
- Prometheus (
ZONE_IDé o ID da zona em que você quer mostrar os dados no painel.
Além disso, para criar um painel de visualização para recursos entre zonas, o nome da fonte de dados é
--Mixed--. Essa fonte de dados permite adicionar várias consultas por zona e ter visualizações de dados entre zonas em um único painel. Você pode usar esse recurso para fazer comparações de comportamento entre, por exemplo, uma única métrica ou consulta de registro em várias zonas do seu universo.Personalize os detalhes e edite os painéis para fornecer suas consultas ou fazer outras atualizações.
Na barra de menus, clique em Configurações do painel para abrir a página Configurações.
No menu de navegação, selecione Modelo JSON.
Copie o modelo JSON do painel e cole-o em um arquivo de texto simples para uso futuro.
Criar um objeto ConfigMap
Siga estas etapas para criar um objeto ConfigMap que contenha o modelo JSON do painel:
- Abra uma janela do terminal.
Crie um objeto
ConfigMap. Na seçãodatado objetoConfigMap, cole o modelo JSON que você copiou anteriormente:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }Substitua:
PROJECT_NAMESPACE: o namespace do projeto.CONFIGMAP_NAME: o nome que você quer dar ao objetoConfigMap.JSON_FILE_NAME: o nome que você quer dar ao arquivo do modelo JSON do painel.JSON_MODEL: o modelo JSON do seu painel personalizado.
Para um exemplo de como esse objeto precisa ser, consulte um
ConfigMapexemplo.Aplique o objeto
ConfigMapao servidor da API Management:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Um exemplo de ConfigMap
O arquivo YAML a seguir mostra um exemplo do objeto ConfigMap de um painel no namespace 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": "--",
"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
}
Criar um recurso personalizado Dashboard
Siga estas etapas para criar um recurso personalizado Dashboard e importar seu painel personalizado para a instância do Grafana do seu projeto:
- Abra uma janela do terminal.
Crie um recurso personalizado
Dashboarde configure o arquivo com o nome que você deu ao objetoConfigMap:apiVersion: observability.gdc.goog/v1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_NAME spec: configMapRef: name: CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: DefaultSubstitua:
PROJECT_NAMESPACE: o namespace do projeto.DASHBOARD_NAME: o nome que você quer dar ao recurso personalizadoDashboard.CONFIGMAP_NAME: o nome que você deu aoConfigMapobjeto.JSON_FILE_NAME: o nome que você deu ao arquivo que contém o modelo JSON do painel no objetoConfigMap.
Aplique o recurso personalizado
Dashboardao servidor da API Management:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
O sistema monitora as mudanças no recurso personalizado Dashboard e no objeto ConfigMap associado. Para atualizar ou excluir um painel, modifique esses recursos. Todas as modificações acionam uma atualização do Grafana. Não é possível salvar atualizações feitas diretamente na interface do usuário do Grafana.