Grafanaμμ MySQL Data Source μ°κ²° ν μλ 쿼리λ₯Ό ν¨λμ λΆμ¬λ£μΌμΈμ.
Time series ν¨λμμλ 첫 λ²μ§Έ 컬λΌμ΄ DATETIME, λλ¨Έμ§κ° μμΉμ¬μΌ ν©λλ€.
mfg_sensor.values_json μμ νΉμ μΌμκ°μ μΆμΆνλ λ°©λ²
SELECT ts -- Grafana Time μ»¬λΌ , JSON_EXTRACT(values_json, '$.temperature_c') AS temperature_c , JSON_EXTRACT(values_json, '$.pressure_bar') AS pressure_bar , JSON_EXTRACT(values_json, '$.vibration_mm_s') AS vibration_mm_s FROM mfg_sensor WHERE ts BETWEEN $__timeFrom() AND $__timeTo() AND factory_id = 'F01' -- 곡μ₯ νν° (μ ν) ORDER BY ts
SELECT process_status AS status , COUNT(*) AS count FROM mfg_sensor WHERE ts BETWEEN $__timeFrom() AND $__timeTo() GROUP BY process_status
SELECT DATE_FORMAT(ts, '%Y-%m-%d %H:%i:00') AS ts , AVG(JSON_EXTRACT(values_json, '$.temperature_c')) AS avg_temp , AVG(JSON_EXTRACT(values_json, '$.pressure_bar')) AS avg_pressure FROM mfg_sensor WHERE ts BETWEEN $__timeFrom() AND $__timeTo() GROUP BY DATE_FORMAT(ts, '%Y-%m-%d %H:%i:00') ORDER BY ts
SELECT ts , CASE severity WHEN 'CRITICAL' THEN 3 WHEN 'WARNING' THEN 2 ELSE 1 END AS severity_level , value FROM mfg_alarm WHERE ts BETWEEN $__timeFrom() AND $__timeTo() ORDER BY ts
SELECT alarm_type , COUNT(*) AS cnt , SUM(CASE WHEN severity = 'CRITICAL' THEN 1 ELSE 0 END) AS critical FROM mfg_alarm WHERE ts BETWEEN $__timeFrom() AND $__timeTo() GROUP BY alarm_type ORDER BY cnt DESC
SELECT DATE_FORMAT(ts, '%Y-%m-%d %H:%i:00') AS ts , ROUND(AVG(CASE WHEN result = 'NG' THEN 100.0 ELSE 0 END), 2) AS defect_rate_pct , COUNT(*) AS total FROM mfg_quality WHERE ts BETWEEN $__timeFrom() AND $__timeTo() GROUP BY DATE_FORMAT(ts, '%Y-%m-%d %H:%i:00') ORDER BY ts
SELECT ts , power_kw , voltage_v , pf , frequency_hz FROM mfg_energy WHERE ts BETWEEN $__timeFrom() AND $__timeTo() ORDER BY ts
SELECT meter_id , ROUND(AVG(power_kw), 2) AS avg_power_kw , ROUND(MAX(power_kw), 2) AS max_power_kw FROM mfg_energy WHERE ts BETWEEN $__timeFrom() AND $__timeTo() GROUP BY meter_id
Grafana μ€μ ν:
β’ Time series ν¨λ: 첫 컬λΌμ $__timeFrom()/$__timeTo() νν° μ¬μ©
β’ Grafanaμ $__timeGroup(ts, '1m') λ§€ν¬λ‘λ‘ μλ μ§κ³ κ°λ₯
β’ λ³μ(Variable) κΈ°λ₯μΌλ‘ factory_id, equipment_idλ₯Ό λλ‘λ€μ΄μΌλ‘ λ§λ€ μ μμ