Grafana: [κΈ°λŠ₯ μš”μ²­] ν˜„μž¬ μ‚¬μš©μžλ₯Ό ν…œν”Œλ¦Ώ λ³€μˆ˜λ‘œ μΆ”κ°€

에 λ§Œλ“  2016λ…„ 05μ›” 05일  Β·  45μ½”λ©˜νŠΈ  Β·  좜처: grafana/grafana

이메일 μ£Όμ†Œ λ“  μ‚¬μš©μž 이름이든 influxdb λ°±μ—”λ“œμ— λŒ€ν•œ μΏΌλ¦¬μ—μ„œ "ν˜„μž¬ grafana μ‚¬μš©μž"에 λŒ€ν•œ μ„ΈλΆ€ 정보λ₯Ό μ‚¬μš©ν•  μˆ˜μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

μš”κ΅¬ 사항 : λ§Žμ€ (μ•„λ§ˆλ„ 수천) μ‚¬μš©μžμ˜ 개인 데이터λ₯Ό μ €μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ‚΄ ν˜„μž¬ κ΅¬ν˜„ 선택은 단일 influxdb λ°μ΄ν„°λ² μ΄μŠ€μ™€ 각 츑정이 μ†ν•œ μ‚¬μš©μžλ₯Ό μ‹λ³„ν•˜λŠ” νƒœκ·Έκ°€μžˆλŠ” 단일 μΈ‘μ •μž…λ‹ˆλ‹€. 이메일, μ‚¬μš©μž 이름 λ˜λŠ” ν•΄λ‹Ή νƒœκ·Έμ—μ„œ μ‹€μ œ μ‚¬μš©μž ID둜 μž‘λ™ν•˜λŠ” λͺ¨λ“  것을 자유둭게 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄μƒμ μœΌλ‘œλŠ” grafanaκ°€ "where user = fred '와 같은 μ ˆμ„ μ‚½μž…ν•˜μ—¬ λ°±μ—”λ“œκ°€ 항상 ν•΄λ‹Ή νŠΉμ • μ‚¬μš©μžμ™€ κ΄€λ ¨λœ 데이터 만 λ°˜ν™˜ν•˜λ„λ‘ν•©λ‹ˆλ‹€.

λ³΄μ•ˆ : λ‚˜λŠ” λ³΄μ•ˆ λ…ΈμΆœμ„ μ΄ν•΄ν•˜κ³  있으며 지식이 ν’λΆ€ν•œ μ•…μ˜μ  인 μ‚¬μš©μžκ°€ http 도ꡬλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€λ₯Έ μ‚¬μš©μž 데이터λ₯Ό 쑰사 ν•  수 μžˆμŒμ„ μ΄ν•΄ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ grafana에 λŒ€ν•œ μ—­λ°©ν–₯ ν”„λ‘μ‹œ μ—­ν• μ„ν•˜λŠ” nginx ν”„λŸ°νŠΈ μ—”λ“œμ—μ„œ 이에 λŒ€ν•œ 검사λ₯Ό μΆ”κ°€ν•˜λ €κ³ ν•©λ‹ˆλ‹€. λ‚΄ κ³„νšμ€ nginxκ°€ GET / api / datasources / proxy / : datasourceId / *에 λŒ€ν•œ μˆ˜μ‹  API ν˜ΈμΆœμ„ κ²€μ‚¬ν•˜κ³  ν˜„μž¬ 둜그인 ν•œ μ‚¬μš©μžμ™€ μΌμΉ˜ν•˜λŠ” where 절이 ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 케이크 ν•œ 쑰각 μ†Œλ¦¬ :)

aredashboartemplating help wanted prioritnice-to-have typfeature-request

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κΈ°λ³Έ λ³€μˆ˜λ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ—¬μ „νžˆ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

λͺ¨λ“  45 λŒ“κΈ€

ν˜„μž¬λ‘œμ„œλŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

grafana λ°±μ—”λ“œμ— λŒ€ν•œ "/ api / datasources / proxy / : datasourceId / *"API ν˜ΈμΆœμ„ κ°€λ‘œ 채고 where μ ˆμ„ μ‚½μž…ν•˜λŠ” μ—­λ°©ν–₯ ν”„λ‘μ‹œλ‘œμ΄ 문제λ₯Ό μ„±κ³΅μ μœΌλ‘œ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. grafana의 멋진 인증 ν”„λ‘μ‹œ λ™μž‘κ³Ό ν•¨κ»˜ μ΄μ œλŠ”μ΄ κΈ°λŠ₯이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 사싀, Torkeloκ°€ 이전에 μ–ΈκΈ‰ ν•œ λ³΄μ•ˆμ— λŒ€ν•œ 견해 쀑 일뢀와 λ°±μ—”λ“œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ˜ν•œ μ‚¬μš©μž μˆ˜μ€€μ˜ μ‹œν–‰ 뢀쑱을 기반으둜이 행동은 μ•„λ§ˆλ„ ν˜„μž¬ Grafana에 μ†ν•˜μ§€ μ•Šμ„ 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

@abraae 이 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 방법을 μžμ„Ένžˆ μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

@abraae +1
당신이 ν•œ 일을 μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

μ£„μ†‘ν•©λ‹ˆλ‹€. λ‚΄κ°€ ν•œ 일을 λ¬Έμ„œν™” ν•  μ‹œκ°„μ΄ μ—†μ§€λ§Œ κΈ°μ–΅μ—μ„œ :

  • grafana μ„œλ²„ μ•žμ—μ„œ nginxλ₯Ό μ—­λ°©ν–₯ ν”„λ‘μ‹œλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€. 즉, grafana μ„œλ²„λ‘œ λ“€μ–΄μ˜€λŠ” λͺ¨λ“  νŠΈλž˜ν”½μ΄ nginxλ₯Ό ν†΅κ³Όν•©λ‹ˆλ‹€.
  • nginx confλ₯Ό μ„€μ •ν•˜μ‹­μ‹œμ˜€. / api / datasources / proxy / : datasourceId / *에 λŒ€ν•œ ν˜ΈμΆœμ„ μΊ‘μ²˜ν•˜λ €λ©΄
  • μ „λ‹¬ν•˜λŠ” λŒ€μ‹  nginxλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€μ‹œ μž‘μ„±ν•˜μ—¬ where μ ˆμ„ μΆ”κ°€ν•˜μ‹­μ‹œμ˜€.

λ”°λΌμ„œ 기본적으둜 μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ€ 항상 grafana λ°±μ—”λ“œλ‘œ λŒμ•„κ°€λŠ” λͺ¨λ“  API ν˜ΈμΆœμ— μΆ”κ°€ where μ ˆμ„ κ°•μ œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ©”λͺ¨λ¦¬μ—μ„œ μž‘λ™ν•˜λ„λ‘ν•˜κΈ° μœ„ν•΄ν•΄μ•Ό ​​할 일이 λ§Žμ•˜μŠ΅λ‹ˆλ‹€. :) μ£„μ†‘ν•©λ‹ˆλ‹€. 더 이상 도움이 될 수 μ—†μŠ΅λ‹ˆλ‹€.

    -

κ·€ν•˜μ˜ 닡변에 λŒ€ν•œ @abraae Thx.
nginx.confμ—μ„œ λ¬΄μ—‡μ„ν–ˆλŠ”μ§€ λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ¬Όλ‘ μž…λ‹ˆλ‹€. μ—¬κΈ° nginx.confκ°€ μžˆμŠ΅λ‹ˆλ‹€.

[잘λͺ»λœ νŒŒμΌμž…λ‹ˆλ‹€-μ•„λž˜ μ°Έμ‘°]

νŒŒμΌμ—μ„œ / api / datasources / proxy / : datasourceId / * 캑처 방법을 λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.
뭐 ν–ˆμ–΄ ? 재 μž‘μ„± κ·œμΉ™μ€ 어디에 μžˆμŠ΅λ‹ˆκΉŒ? :-)

μ•„ μ£„μ†‘ν•©λ‹ˆλ‹€, 잘λͺ»λœ νŒŒμΌμž…λ‹ˆλ‹€. https://gist.github.com/abraae/c209b537350b2b2d9703ba126872cc3f

κΈ°λ³Έ λ³€μˆ˜λ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ—¬μ „νžˆ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

μ‚¬μš©μž 이름을 쿼리의 λ³€μˆ˜λ‘œ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

이 κΈ°λŠ₯κ³Ό κ·Έ 이유λ₯Ό λ‹€μŒκ³Ό 같이 μ›ν•©λ‹ˆλ‹€.

ITSM λ„κ΅¬μ˜ μš”μ²­μ„ λ‚˜μ—΄ν•˜λŠ” λŒ€μ‹œ λ³΄λ“œκ°€ 있고 κ·Έλž˜ν”„μ— 둜그인 ν•œ μ‚¬μš©μžμ—κ²Œ ν• λ‹Ή 된 μš”μ²­ 만 ν‘œμ‹œλ˜λ„λ‘ν•œλ‹€κ³  κ°€μ • ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.
둜그인 ν•œ μ‚¬μš©μž 이름을 κ°€λ¦¬ν‚€λŠ” λŒ€μ‹œ λ³΄λ“œμ—μ„œ λ³€μˆ˜λ₯Ό μ„€μ •ν•˜λŠ” κΈ°λŠ₯은 λ‚΄κ°€ μΌν•˜λŠ” νšŒμ‚¬ (International BIG Company)의 문제λ₯Ό ν•΄κ²°ν•  κ²ƒμž…λ‹ˆλ‹€.

또 λ‹€λ₯Έ μ˜ˆλŠ” 둜그인 ν•œ μ‚¬μš©μž 이름을 μ‚¬μš©ν•˜μ—¬ λΆ€μ„œλ‘œ μ΄λ™ν•˜κ³ μ΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή λΆ€μ„œμ™€ κ΄€λ ¨λœ 데이터 만 ν‘œμ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

둜그인 ν•œ μ‚¬μš©μžλ₯Ό κ°€λ¦¬ν‚€λŠ” λŒ€μ‹œ λ³΄λ“œμ—μ„œ μ‚¬μš©ν•  μ „μ—­ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” 것은 κ·Έλ ‡κ²Œ 어렡지 μ•ŠμŠ΅λ‹ˆλ‹€.

의 λ§μ„ν•˜μž:
$ Grafana.User.Email = [email protected]
$ Grafana.User.Name = Gandolf
$ Grafana.User.Surname = TheWize
$ Grafana.User.Username = GDog

이것은 μ‚¬λžŒλ“€μ΄ Grafana에 λŒ€ν•΄ κ°€μ§€κ³ μžˆλŠ” λ§Žμ€ λ¬Έμ œμ™€ ν•œκ³„λ₯Ό ν•΄κ²°ν•  κ²ƒμž…λ‹ˆλ‹€. 그리고 이것을 κ΅¬ν˜„ν•˜λŠ” 것을 κ°•λ ₯히 ꢌμž₯ν•©λ‹ˆλ‹€.

이것에 λŒ€ν•œ μ†Œμ‹μ΄ μžˆμŠ΅λ‹ˆκΉŒ?

이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

이 κΈ°λŠ₯도 맀우 μœ μš©ν•©λ‹ˆλ‹€.

이 κΈ°λŠ₯ atm도 정말 ν•„μš”ν•©λ‹ˆλ‹€. 각 μ‚¬μš©μž 데이터 만 ν‘œμ‹œν•΄μ•Όν•˜λŠ” 재무 μ •λ³΄κ°€μžˆλŠ” μ‚¬μš©μž 별 λŒ€μ‹œ λ³΄λ“œλ₯Ό λ°°ν¬ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€. 이 λͺ©μ μ„ μœ„ν•΄ λ™μΌν•œ λŒ€μ‹œ λ³΄λ“œλ₯Ό 25 개 λ³΅μ‚¬ν•˜λ©΄ λΆˆν•„μš”ν•˜κ²Œ μ§€λ£¨ν•˜κ²Œ λŠκ»΄μ§‘λ‹ˆλ‹€.

+1

+1

이 값을 μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜μ— λŒ€ν•œ μ•‘μ„ΈμŠ€λ₯Ό μ œν•œν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€ (κΆŒν•œ λΆ€μ—¬).
이것에 λŒ€ν•œ μ΅œμ„ μ˜ 해결책이 될 κ²ƒμž…λ‹ˆλ‹€

+1
μ‚¬μš© μ‚¬λ‘€λŠ” ν•œ μ‚¬μš©μžκ°€ μžμ‹ μ˜ λΆ€μ„œ 정보 만 λ³Ό 수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
각 λΆ€μ„œμ— λŒ€ν•œ μƒˆ 볡사본 λŒ€μ‹œ λ³΄λ“œλ₯Ό λ§Œλ“œλŠ” λŒ€μ‹  ACL둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

+1

μ•ˆλ…•ν•˜μ„Έμš”, μ €λŠ” Grafanaλ₯Ό 인증 μ½”λ“œ 흐름 [1]을 μ‚¬μš©ν•˜μ—¬ OIDC ID κ³΅κΈ‰μžμ™€ ν†΅ν•©ν•˜μ—¬ ν”Œλž«νΌμ—μ„œ μ œκ³΅ν•˜λŠ” μ„œλ‘œ λ‹€λ₯Έ UI간에 SSOλ₯Ό μ‚¬μš©ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μ£Όμš” μš”κ΅¬ μ‚¬ν•­μœΌλ‘œ λ©€ν‹° ν…Œλ„Œμ‹œλ₯Ό 보μž₯ν•΄μ•Όν•˜λ―€λ‘œ μ΅œμƒμ˜ μ†”λ£¨μ…˜μ€ JWT의 IdPκ°€ λ°˜ν™˜ν•˜λŠ” μ‚¬μš©μž ν΄λ ˆμž„ 쀑 ν•˜λ‚˜λ₯Ό grafanaκ°€ dbμ—μ„œ 데이터λ₯Ό κ²€μƒ‰ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” 쿼리 맀개 λ³€μˆ˜λ‘œ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‘œκΉ… 된 μ‚¬μš©μžκ°€ μ†ν•œ tenantIdλ₯Ό ν¬ν•¨ν•˜λŠ” ν΄λ ˆμž„.

[1] https://grafana.com/docs/auth/generic-oauth/

λˆ„κ΅°κ°€ λΉ„μŠ·ν•œ 것을 κ΅¬ν˜„ν–ˆκ±°λ‚˜ κ·Έλ ‡κ²Œν•˜κΈ°μœ„ν•œ μ œμ•ˆμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€

+1

λ‚΄ νŠΉμ • μ‚¬μš© μ‚¬λ‘€λŠ” 둜그인 ν•œ μ‚¬μš©μžμ— 따라 λ‹€λ₯Έ 필터링 (Prometheus λ ˆμ΄λΈ” κ°’)을 μ μš©ν•˜λŠ” ν…œν”Œλ¦Ώ λ³€μˆ˜λ₯Ό λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€.

즉, ν…œν”Œλ¦Ώ λ³€μˆ˜μ˜ "regex"ν•„λ“œ λ‚΄μš©μ€ 동적이며 둜그인 ν•œ μ‚¬μš©μžμ— 따라 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό μœ„ν•΄ Grafana의 각 μ‚¬μš©μžλŠ” μ‚¬μš©μž μƒμ„±μ‹œ κ΄€λ¦¬μžκ°€ μ„€μ • ν•œ 일뢀 선택적 메타 데이터 ν•„λ“œλ₯Ό κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 선택적 메타 데이터 ν•„λ“œλŠ” ν…œν”Œλ¦Ώ λ³€μˆ˜μ˜ "regex"ν•„λ“œμ—μ„œ μ°Έμ‘° ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œν•˜λ©΄ μƒμœ„ κ΄€λ¦¬μžκ°€ κ°’ 섀정을 μ œμ–΄ν•˜λŠ”μ΄ "동적"필터링을 적용 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€!

+1

$__currentUserEmail 이 (κ°€) λ©‹μ§ˆ κ²ƒμž…λ‹ˆλ‹€.

+1

+1

+1 λŒ€ν•™ μ‚¬μš©μžλ₯Όμœ„ν•œ λŒ€μ‹œ λ³΄λ“œλ₯Ό λ§Œλ“€μ–΄ μ‚¬μš©μž 이름을 기반으둜 WiFi 및 VPN 톡계λ₯Ό λ³Ό 수 μžˆλ„λ‘ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. ν—¬ν”„ λ°μŠ€ν¬μ— μ „ν™”ν•˜κΈ° 전에 μ—°κ²° 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 도움이 될 수 μžˆμŠ΅λ‹ˆλ‹€!

+1

λ‚˜μ—κ²ŒλŠ” μ§„μ „μ΄μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€ :( 맀우 유용 ν•  κ²ƒμž…λ‹ˆλ‹€.

++

μ•ˆλ…•ν•˜μ„Έμš”!

λˆ„κ΅¬λ“ μ§€ @abraae μ½”λ“œλ‘œμ΄ μ†”λ£¨μ…˜μ„ κ΅¬ν˜„ν•˜λŠ” 데 성곡 ν–ˆμŠ΅λ‹ˆκΉŒ?
grafana-azure-data-explorer (Kusto DB)와 ν•¨κ»˜ μ‚¬μš©ν•˜λ €κ³ ν•©λ‹ˆλ‹€.

감사!!

+1

μ•ˆλ…•ν•˜μ„Έμš”,

λ‚΄ ν•΄κ²° 방법은 SimpleJSON 데이터 μ†ŒμŠ€ (https://github.com/grafana/simple-json-datasource)λ₯Ό κΈ°λ°˜μœΌλ‘œν•©λ‹ˆλ‹€.

μ£Όμš” μ•„μ΄λ””μ–΄λŠ” X-Grafana-User 헀더λ₯Ό ν™œμ„±ν™”ν•˜κ³  DSμ—μ„œ λ‹€μ‹œ λ°˜ν™˜ν•˜μ—¬ ν…œν”Œλ¦Ώ λ³€μˆ˜λ₯Ό μ±„μš°λŠ” κ²ƒμž…λ‹ˆλ‹€.

κ΅¬ν˜„ : https://github.com/rlklaser/grafana-logged-user

@rlklaser λŠ” Express JS에 λŒ€ν•œ λͺ‡ 가지 μ˜ˆμž…λ‹ˆλ‹€.
λ˜λŠ” .war νŒŒμΌμ„ 곡유 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?
이것은 Express JS (((

app.get('/query', function (req, res) {
  res.status(200);
  res.json({ username: req.header('X-Grafana-User') })
});

app.get('/search', function (req, res) {
  res.status(200);
  res.json({ username: req.header('X-Grafana-User') })
});

https://github.com/simPod/grafana-json-datasource λ₯Ό DS둜 μ‚¬μš©ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

@baur λŠ” grafana defaults.iniλ₯Ό λ‹€μŒκ³Ό 같이 λ³€κ²½ν•΄μ•Όν•©λ‹ˆλ‹€.

[데이터 ν”„λ‘μ‹œ]

λ‘œκΉ… = μ°Έ
send_user_header = true

이 μš”μ²­μ€ 2 λ…„ 전에 μž‘μ„±λ˜μ—ˆμœΌλ©° 이에 λŒ€ν•œ μ—…λ°μ΄νŠΈλ₯Ό 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” 이것이 μ €λ₯Ό ν¬ν•¨ν•œ λ§Žμ€ μ‚¬λžŒλ“€μ—κ²Œ 맀우 μœ μš©ν•œ 도ꡬ가 될 것이라고 λ―ΏμŠ΅λ‹ˆλ‹€.

이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

SimpleJson GRAFANAμ—μ„œ / api / user / teams의 κ²°κ³Όλ₯Ό μ–»λŠ” 방법과 λ³€μˆ˜μ—μ„œ "name"의 값을 κ°€μ Έ μ˜€λŠ” μΏΌλ¦¬λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?
https://www.logiserv.re/api/user/teams 의 Grafana http api 결과의 예

κ°œμΈν™” 된 λŒ€μ‹œ λ³΄λ“œμ—λ„μ΄ κΈ°λŠ₯이 ν•„μš”ν•©λ‹ˆλ‹€.

+1

ν…œν”Œλ¦Ώμ— __org에 λŒ€ν•œ μ „μ—­ λ³€μˆ˜ 지원이 μΆ”κ°€λ˜μ—ˆμœΌλ―€λ‘œ 이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? https://github.com/grafana/grafana/pull/21790

__user λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λ©΄ λ™μΌν•œ λ©”μ»€λ‹ˆμ¦˜μ„ μ‚¬μš©ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

Β Β Β Β templateSrv.setGlobalVariable('__user',Β {
Β Β Β Β Β Β value:Β {
Β Β Β Β Β Β Β Β name:Β contextSrv.user.login,
Β Β Β Β Β Β Β Β id:Β contextSrv.user.id,
Β Β Β Β Β Β Β Β toString:Β function()Β {
Β Β Β Β Β Β Β Β Β Β returnΒ this.id;
Β Β Β Β Β Β Β Β },
Β Β Β Β Β Β },
Β Β Β Β });

++ 1
Grafana κ°œλ°œνŒ€,
이것은 맀우 μœ μš©ν•œ κΈ°λŠ₯이 될 것이며 데이터 κΆŒν•œ λΆ€μ—¬ μž‘μ—…μ„ 훨씬 μ‰½κ²Œ λ§Œλ“€ κ²ƒμž…λ‹ˆλ‹€. μ—¬λŸ¬ 데이터 μ†ŒμŠ€μ™€μ˜ 연결을 ν¬ν•¨ν•˜λŠ” Grafana 기반보고 μ„œλΉ„μŠ€λ₯Ό 더 큰 규λͺ¨λ‘œ ν‰κ°€ν•˜κ³  κ΅¬ν˜„ν•˜λŠ” 과정에 μžˆμŠ΅λ‹ˆλ‹€.
이 νŠΉμ • κΈ°λŠ₯은 닀쀑 ν…Œλ„ŒνŠΈ 배포의 데이터 λ³΄μ•ˆμ— μ€‘μš”ν•©λ‹ˆλ‹€.

++ 1, Grafana 개발 νŒ€,
이것은 μš°λ¦¬μ—κ²Œ 맀우 μœ μš©ν•œ κΈ°λŠ₯μž…λ‹ˆλ‹€. νŠΉμ • 쿼리에 λŒ€ν•΄ μ‚¬μš©μžλ₯Ό 기반으둜 데이터 μ•‘μ„ΈμŠ€ μ œμ–΄λ₯Ό μˆ˜ν–‰ν•˜λ €κ³ ν•©λ‹ˆλ‹€. λ‹€λ₯Έ μ‚¬μš©μžλŠ” λ‹€λ₯Έ λ²”μœ„λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

Grafana Dev Team, 맀우 μœ μš©ν•œ κΈ°λŠ₯에 λŒ€ν•΄ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€ !!!

λŒ€μ‹œ λ³΄λ“œ λ³€μˆ˜ μ •μ˜ λ‚΄μ—μ„œ 쿼리에 μ‚¬μš©ν•  λ•Œ λ³€μˆ˜κ°€ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰