grafana-wtf: recorre todas las entidades de Grafana en el espíritu de git-wtf.
¡Atención!
Este programa puede suponer una carga significativa para su instancia de Grafana y la maquinaria de base de datos subyacente. ¡Tratar con cuidado!
Busque en Grafana (paneles de control y fuentes de datos) la cadena "weatherbase".
grafana-wtf encontrar base meteorológica
Muestra los 50 cambios más recientes en todos los paneles.
registro de grafana-wtf --número = 50
Explore paneles y fuentes de datos con más detalle.
grafana-wtf explorar paneles grafana-wtf explorar fuentes de datos
Explora complementos.
Lista de complementos de grafana-wtf Estado de los complementos de grafana-wtf
Ejecutar con Docker:
# Acceda a la instancia de Grafana en localhost, sin autenticación. ventana acoplable ejecutar --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf información de grafana-wtf # Acceda a la instancia de Grafana con autenticación. ventana acoplable ejecutar --rm -it --env GRAFANA_URL="https://grafana.example.org/grafana" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/grafana-toolbox/grafana-wtf información de grafana-wtf
grafana-wtf find
grafana-wtf log
grafana-wtf
instalación de pip grafana-wtf
Siga estos pasos para crear una clave API con su instancia de Grafana:
https://daq.example.org/grafana/org/apikeys
.curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
, tome nota del token de portador. Esta es su clave API de Grafana. Para configurar a qué instancia de Grafana conectarse y cómo autenticarse, use las opciones de línea de comando --grafana-url
y --grafana-token
.
Alternativamente, antes de ejecutar grafana-wtf
, puedes definir la URL y el token de acceso de tu instancia de Grafana usando variables de entorno:
exportar GRAFANA_URL=https://daq.example.org/grafana/ exportar GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0=
Para aceptar certificados SSL que no sean de confianza, agregue la cadena de consulta ?verify=no
a GRAFANA_URL
:
exportar GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
almacenará en caché las respuestas HTTP durante 60 minutos de forma predeterminada, para ahorrar recursos, al no acceder al servidor de cada servidor. Puede configurar esa configuración utilizando la opción --cache-ttl
o la variable de entorno CACHE_TTL
.
Al invocar el programa con la opción --drop-cache
, eliminará su caché por adelantado.
# Muestra una gran cantidad de metainformación y estadísticas. información de grafana-wtf --format=yaml # Mostrar la versión de Grafana. información de grafana-wtf --format=json | jq -r '.grafana.versión'
¿Cómo encontrar fuentes de datos no utilizadas?
# Muestre todas las fuentes de datos y los paneles que las utilizan, así como las fuentes de datos no utilizadas. grafana-wtf explora fuentes de datos --format=yaml # Mostrar nombres de fuentes de datos no utilizadas como una lista plana. grafana-wtf explora fuentes de datos --format=json | jq -r '.no utilizado[].fuente.de.datos.nombre'
¿Cómo encontrar paneles que utilicen fuentes de datos inexistentes?
# Mostrar algunos detalles de todos los paneles, incluidos los nombres de las fuentes de datos faltantes. grafana-wtf explorar paneles --format=yaml # Mostrar solo paneles a los que les faltan fuentes de datos, junto con sus nombres. grafana-wtf explorar paneles --format=json | jq'.[] | seleccionar(.datasources_missing) | .dashboard + {ds_missing: .datasources_missing[] | [.nombre]}'
¿Cómo encontrar paneles utilizando fuentes de datos específicas?
# Mostrar todos los paneles que utilizan una fuente de datos específica, filtrados por nombre de fuente de datos. grafana-wtf explorar paneles --format=json | jq'.[] | seleccionar(.fuentes de datos | .[].type=="<nombre_fuente_datos>")' # Mostrar todos los paneles utilizando fuentes de datos con un tipo específico. Aquí: InfluxDB. grafana-wtf explorar paneles --format=json | jq'.[] | seleccionar(.datasources | .[].type=="influxdb")'
¿Cómo enumerar todas las consultas utilizadas en todos los paneles?
grafana-wtf explorar paneles --data-details --queries-only --format=json | jq '.[].detalles | valores[] | .[] | .expr,.jql,.query,.rawSql | seleccionar(. != nulo y . != "" )'
Encuentre la weatherbase
de cadenas en todos los paneles y fuentes de datos:
grafana-wtf encontrar base meteorológica
Reemplace todas las apariciones de ldi_v2
con ldi_v3
dentro del tablero con UID _JJ22OZZk
:
grafana-wtf --select-dashboard=_JJ22OZZk reemplaza ldi_v2 ldi_v3
Para obtener una vista previa de los cambios, debe usar la opción --dry-run
de antemano:
grafana-wtf --select-dashboard=_JJ22OZZk reemplaza ldi_v2 ldi_v3 --dry-run
¿Está atento a la actividad de edición reciente en algún panel?
# Muestra los 50 cambios más recientes en todos los paneles. registro de grafana-wtf --número = 50
Para descubrir más parámetros de línea de comando y sus argumentos, invoque grafana-wtf --help
y eche un vistazo a los ejemplos de grafana-wtf.
clon de git https://github.com/grafana-toolbox/grafana-wtf cd grafana-wtf # Ejecute todas las pruebas. hacer prueba # Ejecutar pruebas seleccionadas. pytest --keepalive -vvv -k prueba_find_textual