grafana-wtf - git-wtf 정신으로 모든 Grafana 엔터티를 grep합니다.
주목!
이 프로그램은 Grafana 인스턴스와 기본 데이터베이스 기계에 상당한 부하를 줄 수 있습니다. 조심해서 다루세요!
문자열 "weatherbase"에 대해 Grafana(대시보드 및 데이터 소스)를 검색합니다.
grafana-wtf 웨더베이스 찾기
모든 대시보드에서 가장 최근 변경 사항 50개를 표시합니다.
grafana-wtf 로그 --번호=50
대시보드와 데이터 소스를 더 자세히 살펴보세요.
grafana-wtf 대시보드 탐색 grafana-wtf 데이터 소스 탐색
플러그인을 살펴보세요.
grafana-wtf 플러그인 목록 grafana-wtf 플러그인 상태
Docker로 실행:
# 인증 없이 localhost에서 Grafana 인스턴스에 액세스합니다. docker run --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf grafana-wtf 정보 # 인증을 통해 Grafana 인스턴스에 액세스합니다. docker run --rm -it --env GRAFANA_URL="https://grafana.example.org/grafana" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/grafana-toolbox/grafana-wtf grafana-wtf 정보
grafana-wtf find
grafana-wtf log
grafana-wtf
설치pip 설치 grafana-wtf
Grafana 인스턴스로 API 키를 생성하려면 다음 단계를 따르세요.
https://daq.example.org/grafana/org/apikeys
로 이동합니다.curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
에서 Bearer 토큰을 기록해 두십시오. 이것이 Grafana API 키입니다. 연결할 Grafana 인스턴스와 인증 방법을 구성하려면 --grafana-url
및 --grafana-token
명령줄 옵션을 사용하세요.
또는 grafana-wtf
실행하기 전에 환경 변수를 사용하여 Grafana 인스턴스의 URL 및 액세스 토큰을 정의할 수 있습니다.
GRAFANA_URL=https://daq.example.org/grafana/ 내보내기 GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0= 내보내기
신뢰할 수 없는 SSL 인증서를 수락하려면 GRAFANA_URL
에 ?verify=no
쿼리 문자열을 추가하세요.
내보내기 GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
리소스를 절약하기 위해 각 서버에 도달하지 않고 기본적으로 60분 동안 HTTP 응답을 캐시합니다. --cache-ttl
옵션 또는 CACHE_TTL
환경 변수를 사용하여 해당 설정을 구성할 수 있습니다.
--drop-cache
옵션을 사용하여 프로그램을 호출하면 캐시가 미리 삭제됩니다.
# 다양한 메타 정보와 통계를 표시합니다. grafana-wtf 정보 --format=yaml # Grafana 버전을 표시합니다. grafana-wtf 정보 --format=json | jq -r '.grafana.version'
사용되지 않는 데이터 소스를 찾는 방법은 무엇입니까?
# 모든 데이터 소스와 이를 사용하는 대시보드는 물론 사용되지 않는 데이터 소스도 표시합니다. grafana-wtf 데이터 소스 탐색 --format=yaml # 사용되지 않는 데이터 소스의 이름을 단순 목록으로 표시합니다. grafana-wtf 데이터 소스 탐색 --format=json | jq -r '.unused[].datasource.name'
존재하지 않는 데이터 소스를 사용하는 대시보드를 찾는 방법은 무엇입니까?
# 누락된 데이터 소스의 이름을 포함하여 모든 대시보드의 일부 세부 정보를 표시합니다. grafana-wtf 대시보드 탐색 --format=yaml # 데이터 소스가 누락된 대시보드만 이름과 함께 표시합니다. grafana-wtf 대시보드 탐색 --format=json | jq '.[] | 선택(.datasources_missing) | .dashboard + {ds_missing: .datasources_missing[] | [.이름]}'
특정 데이터 소스를 사용하여 대시보드를 찾는 방법은 무엇입니까?
# 특정 데이터 소스를 사용하는 모든 대시보드를 데이터 소스 이름으로 필터링하여 표시합니다. grafana-wtf 대시보드 탐색 --format=json | jq '.[] | select(.datasources | .[].type=="<datasource_name>")' # 특정 유형의 데이터 소스를 사용하는 모든 대시보드를 표시합니다. 여기: InfluxDB. grafana-wtf 대시보드 탐색 --format=json | jq '.[] | 선택(.datasources | .[].type=="influxdb")'
모든 대시보드에 사용된 모든 쿼리를 나열하는 방법은 무엇입니까?
grafana-wtf 대시보드 탐색 --data-details --queries-only --format=json | jq '.[].details | 값[] | .[] | .expr,.jql,.query,.rawSql | 선택( . != null 및 . != "" )'
모든 대시보드 및 데이터 소스에서 문자열 weatherbase
찾으십시오.
grafana-wtf 웨더베이스 찾기
UID가 _JJ22OZZk
인 대시보드 내에서 모든 ldi_v2
항목을 ldi_v3
으로 바꿉니다.
grafana-wtf --select-dashboard=_JJ22OZZk ldi_v2 ldi_v3 교체
변경 사항을 미리 보려면 --dry-run
옵션을 미리 사용해야 합니다.
grafana-wtf --select-dashboard=_JJ22OZZk 교체 ldi_v2 ldi_v3 --dry-run
대시보드의 최근 편집 활동을 살펴보고 계십니까?
# 모든 대시보드에서 가장 최근 변경사항 50개를 표시합니다. grafana-wtf 로그 --번호=50
더 많은 명령줄 매개변수와 해당 인수를 찾으려면 grafana-wtf --help
호출하고 grafana-wtf 예제를 살펴보세요.
자식 클론 https://github.com/grafana-toolbox/grafana-wtf CD 그라파나-wtf # 모든 테스트를 실행합니다. 테스트하다 # 선택한 테스트를 실행합니다. pytest --keepalive -vvv -k test_find_textual