grafana-wtf - grep ผ่านเอนทิตี Grafana ทั้งหมดด้วยจิตวิญญาณของ git-wtf
ความสนใจ!
โปรแกรมนี้สามารถสร้างภาระงานจำนวนมากให้กับอินสแตนซ์ Grafana ของคุณและกลไกฐานข้อมูลพื้นฐาน จัดการด้วยความระมัดระวัง!
ค้นหา Grafana (แดชบอร์ดและแหล่งข้อมูล) เพื่อหาสตริง "weatherbase"
grafana-wtf ค้นหาฐานสภาพอากาศ
แสดงการเปลี่ยนแปลงล่าสุด 50 รายการในทุกแดชบอร์ด
บันทึก grafana-wtf --number=50
สำรวจแดชบอร์ดและแหล่งข้อมูลโดยละเอียดยิ่งขึ้น
grafana-wtf สำรวจแดชบอร์ด Grafana-wtf สำรวจแหล่งข้อมูล
สำรวจปลั๊กอิน
รายการปลั๊กอิน grafana-wtf สถานะปลั๊กอิน grafana-wtf
รันด้วยนักเทียบท่า:
# เข้าถึงอินสแตนซ์ Grafana บน localhost โดยไม่ต้องมีการตรวจสอบสิทธิ์ นักเทียบท่าทำงาน --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf ข้อมูล grafana-wtf # เข้าถึงอินสแตนซ์ Grafana ด้วยการตรวจสอบสิทธิ์ นักเทียบท่าทำงาน --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
โปรดทำตามขั้นตอนเหล่านี้เพื่อสร้างคีย์ API ด้วยอินสแตนซ์ Grafana ของคุณ:
https://daq.example.org/grafana/org/apikeys
curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
โปรดจดบันทึกโทเค็น Bearer นี่คือคีย์ Grafana API ของคุณ หากต้องการกำหนดค่าอินสแตนซ์ Grafana ที่จะเชื่อมต่อ และวิธีการตรวจสอบสิทธิ์ ให้ใช้ตัวเลือกบรรทัดคำสั่ง --grafana-url
และ --grafana-token
อีกทางหนึ่ง ก่อนที่จะรัน grafana-wtf
คุณสามารถกำหนด URL และโทเค็นการเข้าถึงของอินสแตนซ์ Grafana ของคุณได้โดยใช้ตัวแปรสภาพแวดล้อม:
ส่งออก GRAFANA_URL=https://daq.example.org/grafana/ ส่งออก GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0=
ในการยอมรับใบรับรอง SSL ที่ไม่น่าเชื่อถือ ให้เพิ่ม ?verify=no
สตริงการสืบค้นต่อท้าย GRAFANA_URL
:
ส่งออก GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
จะแคชการตอบสนอง HTTP เป็นเวลา 60 นาทีตามค่าเริ่มต้น เพื่อประหยัดทรัพยากร โดยไม่กระทบเซิร์ฟเวอร์แต่ละเซิร์ฟเวอร์ คุณสามารถกำหนดการตั้งค่านั้นได้โดยใช้ตัวเลือก --cache-ttl
หรือตัวแปรสภาพแวดล้อม CACHE_TTL
เมื่อเรียกใช้โปรแกรมด้วยตัวเลือก --drop-cache
โปรแกรมจะปล่อยแคชไว้ล่วงหน้า
# แสดงข้อมูลเมตาและสถิติมากมาย ข้อมูล grafana-wtf --format=yaml # แสดงเวอร์ชัน Grafana ข้อมูล grafana-wtf --format=json | jq -r '.grafana.รุ่น'
จะค้นหาแหล่งข้อมูลที่ไม่ได้ใช้ได้อย่างไร?
# แสดงแหล่งข้อมูลและแดชบอร์ดทั้งหมดที่ใช้งาน รวมถึงแหล่งข้อมูลที่ไม่ได้ใช้ 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 '.[] | เลือก(.แหล่งข้อมูล | .[].type=="<datasource_name>")' # แสดงแดชบอร์ดทั้งหมดโดยใช้แหล่งข้อมูลที่มีประเภทเฉพาะ ที่นี่: InfluxDB grafana-wtf สำรวจแดชบอร์ด --format=json | jq '.[] | เลือก (.แหล่งข้อมูล | .[].type=="influxdb")'
จะแสดงรายการคำค้นหาทั้งหมดที่ใช้ในแดชบอร์ดทั้งหมดได้อย่างไร
grafana-wtf สำรวจแดชบอร์ด --data-details --queries-only --format=json | - jq '.[].รายละเอียด | ค่า[] | - .expr,.jql,.query,.rawSql | เลือก( . != null และ . != "" )'
ค้นหา weatherbase
แบบสตริงในแดชบอร์ดและแหล่งข้อมูลทั้งหมด:
grafana-wtf ค้นหาฐานสภาพอากาศ
แทนที่ ldi_v2
ทั้งหมดด้วย ldi_v3
ภายในแดชบอร์ดด้วย UID _JJ22OZZk
:
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 --number=50
หากต้องการค้นหาพารามิเตอร์บรรทัดคำสั่งเพิ่มเติมและอาร์กิวเมนต์ โปรดเรียกใช้ grafana-wtf --help
และดูตัวอย่าง grafana-wtf
โคลนคอมไพล์ https://github.com/grafana-toolbox/grafana-wtf ซีดี grafana-wtf #ทำการทดสอบทั้งหมด ทำการทดสอบ # เรียกใช้การทดสอบที่เลือก pytest --keepalive -vvv -k test_find_textual