grafana-wtf - percorre todas as entidades Grafana no espírito do git-wtf.
Atenção!
Este programa pode colocar uma carga significativa em sua instância do Grafana e no maquinário do banco de dados subjacente. Manuseie com cuidado!
Pesquise no Grafana (painéis e fontes de dados) a string "weatherbase".
grafana-wtf encontrar base meteorológica
Exiba as 50 alterações mais recentes em todos os painéis.
log grafana-wtf --número=50
Explore painéis e fontes de dados com mais detalhes.
grafana-wtf explorar painéis grafana-wtf explorar fontes de dados
Explore plug-ins.
lista de plug-ins grafana-wtf status dos plug-ins grafana-wtf
Execute com Docker:
# Acesse a instância do Grafana no localhost, sem autenticação. janela de encaixe execute --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf informações sobre grafana-wtf # Acesse a instância do Grafana com autenticação. janela de encaixe execute --rm -it --env GRAFANA_URL="https://grafana.example.org/grafana" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/grafana-toolbox/grafana-wtf informações sobre grafana-wtf
grafana-wtf find
grafana-wtf log
grafana-wtf
pip instalar grafana-wtf
Siga estas etapas para criar uma chave de API com sua instância do Grafana:
https://daq.example.org/grafana/org/apikeys
.curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
, anote o token do Bearer. Esta é a sua chave API Grafana. Para configurar a qual instância do Grafana conectar-se e como autenticar, use as opções de linha de comando --grafana-url
e --grafana-token
.
Alternativamente, antes de executar grafana-wtf
, você pode definir o URL e o token de acesso da sua instância do Grafana usando variáveis de ambiente:
exportar GRAFANA_URL=https://daq.example.org/grafana/ exportar GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0=
Para aceitar certificados SSL não confiáveis, anexe a string de consulta ?verify=no
ao GRAFANA_URL
:
exportar GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
irá armazenar em cache as respostas HTTP por 60 minutos por padrão, a fim de economizar recursos, não atingindo o servidor de cada servidor. Você pode definir essa configuração usando a opção --cache-ttl
ou a variável de ambiente CACHE_TTL
.
Ao invocar o programa com a opção --drop-cache
, ele descartará seu cache antecipadamente.
# Exiba um monte de meta informações e estatísticas. informações grafana-wtf --format=yaml # Exibe a versão do Grafana. informações grafana-wtf --format=json | jq -r '.grafana.versão'
Como encontrar fontes de dados não utilizadas?
# Exiba todas as fontes de dados e os painéis que as utilizam, bem como fontes de dados não utilizadas. grafana-wtf explorar fontes de dados --format=yaml # Exibe nomes de fontes de dados não utilizadas como uma lista simples. grafana-wtf explorar fontes de dados --format=json | jq -r '.unused[].datasource.name'
Como encontrar painéis que usam fontes de dados inexistentes?
# Exibe alguns detalhes de todos os painéis, incluindo nomes de fontes de dados ausentes. grafana-wtf explorar painéis --format=yaml # Exibe apenas painéis que possuem fontes de dados ausentes, junto com seus nomes. grafana-wtf explorar painéis --format=json | jq '.[] | selecione(.datasources_missing) | .dashboard + {ds_missing: .datasources_missing[] | [.nome]}'
Como encontrar dashboards usando fontes de dados específicas?
# Exibe todos os painéis que usam uma fonte de dados específica, filtrados pelo nome da fonte de dados. grafana-wtf explorar painéis --format=json | jq '.[] | select(.datasources | .[].type=="<datasource_name>")' # Exiba todos os painéis usando fontes de dados com um tipo específico. Aqui: InfluxDB. grafana-wtf explorar painéis --format=json | jq '.[] | select(.datasources | .[].type=="influxdb")'
Como listar todas as consultas utilizadas em todos os dashboards?
grafana-wtf explorar painéis --data-details --queries-only --format=json | jq '.[].detalhes | valores[] | .[] | .expr,.jql,.query,.rawSql | select( . != nulo e . != "" )'
Encontre a string weatherbase
em todos os painéis e fontes de dados:
grafana-wtf encontrar base meteorológica
Substitua todas as ocorrências de ldi_v2
por ldi_v3
no painel com UID _JJ22OZZk
:
grafana-wtf --select-dashboard=_JJ22OZZk substituir ldi_v2 ldi_v3
Para visualizar as alterações, você deve usar a opção --dry-run
antecipadamente:
grafana-wtf --select-dashboard=_JJ22OZZk substituir ldi_v2 ldi_v3 --execução a seco
Está atento às atividades de edição recentes em algum painel?
# Exiba as 50 alterações mais recentes em todos os painéis. log grafana-wtf --número=50
Para descobrir mais parâmetros de linha de comando e seus argumentos, invoque grafana-wtf --help
e dê uma olhada nos exemplos de grafana-wtf.
clone do git https://github.com/grafana-toolbox/grafana-wtf cd grafana-wtf # Execute todos os testes. fazer teste # Execute testes selecionados. pytest --keepalive -vvv -k test_find_textual