0. What is Monitoring
μ€λλ μ μ΅μ μμ€ν μμλ λ°©λν μμ λ©νΈλ¦μ΄ μμ± λ° μμ§λ μ μμ΄ λ¬Έμ λ₯Ό ν¨κ³Όμ μΌλ‘ μ§λ¨νλ λ° μ΄λ €μμ΄ μμ΅λλ€. λ°μ΄ν°μ μμ΄ λ무 λ§μΌλ©΄ μ΄λμλΆν° μ‘°μ¬λ₯Ό μμν΄μΌ ν μ§ κ²°μ νκΈ° μ΄λ €μΈ μ μμ΅λλ€. μ κ·Ήμ μΌλ‘ μ§λ¨νμ§ μλ κ²½μ°μλ μ¬μ© κ°λ₯ν λ°μ΄ν°μ μμ΄ μλμ μΌλ‘ λ§κΈ° λλ¬Έμ λ¬Έμ κ° μ‘΄μ¬νλμ§ μ¬λΆλ₯Ό νμ νλ κ² μμ λ§μ°¬κ°μ§λ‘ μ΄λ €μΈ μ μμ΅λλ€.
λ€μ λ°©λ²μ μλν΄ λ³΄μΈμ.
USE
RED
Four Golden Signals
USE
λΈλ λ κ·Έλ κ·Έμ μ¬μ© μ μ
"μ€μν λΆλΆμ κ°κ³Όνμ§ μκ³ μΌλ°μ μΈ μ±λ₯ λ¬Έμ λ₯Ό μ μνκ² ν΄κ²°νλ λ°©λ²μ λ€λ₯Έ μ¬λλ€μκ² κ°λ₯΄μΉκΈ° μν΄ USE λ°©λ²μ κ°λ°νμ΅λλ€. λΉν 맀λ΄μΌμ λΉμ 체ν¬λ¦¬μ€νΈμ²λΌ κ°λ¨νκ³ , κ°λ¨νλ©°, μμ νκ³ , λΉ λ₯΄λλ‘ κ³ μλμμ΅λλ€."
Utilization (νμ©λ): μ¬μ©λ₯ μ 리μμ€(μ: CPU, λ©λͺ¨λ¦¬, λμ€ν¬ λλ λ€νΈμν¬)κ° μ¬μ©λλ μ λλ₯Ό μΈ‘μ ν©λλ€. νμ¬ μ¬μ© μ€μΈ μ¬μ© κ°λ₯ν 리μμ€μ λΉμ¨ λλ λ°±λΆμ¨μ λνλ λλ€. μ¬μ©λ₯ μ΄ λμΌλ©΄ 리μμ€ λ³λͺ© νμ λ° μ μ¬μ μΈ μ±λ₯ λ¬Έμ λ₯Ό λνλΌ μ μμ΅λλ€.
Saturation(ν¬νλ): ν¬νλλ μμ€ν λ΄μμ λ°μνλ 리μμ€ νΌμ‘ λλ λκΈ°μ΄μ μμ€μ λνλ λλ€. 리μμ€κ° μ΅λ μ©λκΉμ§ νμ©λκ³ μλ μ λλ₯Ό λνλ λλ€. ν¬ν μμ€μ΄ λμΌλ©΄ 리μμ€μ λΆνκ° λ§μ΄ κ±Έλ € μλ΅ μκ°μ΄ μ§μ°λκ±°λ λμ΄λ μ μμ΅λλ€.
Errors(μ€λ₯): μ€λ₯λ μμ€ν λ΄μμ λ°μν μ€λ₯ λλ μ₯μ μ μλ₯Ό λνλ λλ€. μ¬κΈ°μλ μ ν리μΌμ΄μ μ€λ₯, μμ€ν μΆ©λ λλ λ€νΈμν¬ μ₯μ μ κ°μ λΉμ μμ μ΄κ±°λ μκΈ°μΉ μμ μ΄λ²€νΈκ° λͺ¨λ ν¬ν¨λ©λλ€. μ€λ₯λ₯Ό λͺ¨λν°λ§νλ©΄ μμ€ν μμ μ± λ¬Έμ μ κ°μ μ΄ νμν μ μ¬μ μμμ νμ νλ λ° λμμ΄ λ©λλ€.
κ΄λ¦¬μμ μμ€ν μ΄μμλ μ¬μ©λ μ§νλ₯Ό λͺ¨λν°λ§ν¨μΌλ‘μ¨ λ¦¬μμ€ μ¬μ©λ₯ μ μ’ ν©μ μΌλ‘ νμ νκ³ , μ μ¬μ μΈ λ³λͺ© νμμ νμ νκ³ , μ±λ₯ λ¬Έμ λ₯Ό μ¬μ μ ν΄κ²°ν μ μμ΅λλ€. μ΄ μ 보λ μ©λ κ³ν, 리μμ€ ν λΉ μ΅μ ν, μμ€ν μ μ λ°μ μΈ μνμ ν¨μ¨μ± 보μ₯μ μ μ©ν©λλ€.
RED
https://www.slideshare.net/weaveworks/monitoring-microservices
Rate(λΉμ¨): λΉμ¨μ νΉμ κΈ°κ° λμ μ²λ¦¬λ μμ²μ μλ₯Ό λνλ λλ€. μμ€ν μ νΈλν½ λΆνλ₯Ό νκ°νκ³ νΉμ μκ° κ°κ²© λμ μμ²λμ μ¦κ° λλ κ°μλ₯Ό μΆμ νλ λ° λμμ΄ λ©λλ€. λΉμ¨μ΄ κΈκ²©ν μ¦κ°νλ©΄ μμ€ν μ λΆν λλ μμκ° λ§λ€λ κ²μ λνλΌ μ μμ΅λλ€.
Errors(μ€λ₯): μ€λ₯λ μ²λ¦¬ μ€μ λ°μν μ€λ₯μ μλ₯Ό λνλ λλ€. μ΄λ₯Ό ν΅ν΄ μμ€ν μ μ€λ₯ λΉλλ₯Ό μΆμ νκ³ μ€λ₯μ μ νκ³Ό μμΈμ νμ ν μ μμ΅λλ€. μ€λ₯ μκ° μ¦κ°νλ©΄ μμ€ν μμ μ± λ° μ λ’°μ±μ λ¬Έμ κ° μμμ λνλΌ μ μμ΅λλ€.
Duration(μ§μ μκ°): μ§μ μκ°μ μμ λλ μμ μ μννλ λ° κ±Έλ¦¬λ μκ°μ μΈ‘μ ν©λλ€. μμ€ν μ²λ¦¬ μλλ₯Ό νκ°νκ³ μ§μ° λλ μ±λ₯ μ νλ₯Ό μλ³νλ λ° λμμ΄ λ©λλ€. μ§μ μκ°μ΄ μκΈ°μΉ μκ² κΈΈκ±°λ μ¦κ°νλ©΄ μ±λ₯ κ°μ μ΄ νμν μμμ κ°μ‘° νμν μ μμ΅λλ€.
μ΄λ USE λ©μλμ²λΌ 리μμ€ λ²μκ° μλ μμ² λ²μλ‘ μ νλ©λλ€. κΈ°κ°μ νκ· μ΄ μλ λΆν¬λ₯Ό μλ―Ένλ κ²μΌλ‘ λͺ μμ μΌλ‘ κ°μ£Όλ©λλ€.
Four Golden Signals
https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals
λͺ¨λν°λ§μ Four Golden Signalsλ μ§μ° μκ°, νΈλν½, μ€λ₯, ν¬ν μνμ λλ€. μ¬μ©μ λλ©΄ μμ€ν μ λ€ κ°μ§ μ§νλ§ μΈ‘μ ν μ μλ€λ©΄ μ΄ λ€ κ°μ§ μ§νμ μ§μ€νμΈμ.
μ§μ° μκ°(Latency) μμ²μ μ²λ¦¬νλ λ° κ±Έλ¦¬λ μκ°μ λλ€. μ±κ³΅μ μΈ μμ²μ μ§μ° μκ°κ³Ό μ€ν¨ν μμ²μ μ§μ° μκ°μ ꡬλΆνλ κ²μ΄ μ€μν©λλ€. μλ₯Ό λ€μ΄ λ°μ΄ν°λ² μ΄μ€λ κΈ°ν μ€μν λ°±μλμ λν μ°κ²°μ΄ λμ΄μ Έ νΈλ¦¬κ±°λ HTTP 500 μ€λ₯λ λ§€μ° λΉ λ₯΄κ² μ²λ¦¬λ μ μμ§λ§, HTTP 500 μ€λ₯λ μ€ν¨ν μμ²μ λνλ΄λ―λ‘ μ 체 μ§μ° μκ°μ 500μ κ³ λ €νλ©΄ μλͺ»λ κ³μ°μ΄ λμ¬ μ μμ΅λλ€. λ°λ©΄μ λλ¦° μ€λ₯λ λΉ λ₯Έ μ€λ₯λ³΄λ€ λ μ¬κ°ν λ¬Έμ μ λλ€! λ°λΌμ λ¨μν μ€λ₯λ₯Ό νν°λ§νλ κ²μ΄ μλλΌ μ€λ₯ μ§μ° μκ°μ μΆμ νλ κ²μ΄ μ€μν©λλ€.
νΈλν½(Traffic) μμ€ν μ μΌλ§λ λ§μ μμκ° λ°μνκ³ μλμ§λ₯Ό μΈ‘μ νλ μ§νλ‘, λμ μμ€μ μμ€ν λ³ λ©νΈλ¦μΌλ‘ μΈ‘μ λ©λλ€. μΉ μλΉμ€μ κ²½μ° μ΄ μΈ‘μ κ°μ μΌλ°μ μΌλ‘ μ΄λΉ HTTP μμ² μμ΄λ©°, μμ²μ νΉμ±(μ: μ μ μ½ν μΈ λ λμ μ½ν μΈ )μ λ°λΌ μΈλΆνλ μ μμ΅λλ€. μ€λμ€ μ€νΈλ¦¬λ° μμ€ν μ κ²½μ°, μ΄ μΈ‘μ μ λ€νΈμν¬ I/O μλ λλ λμ μΈμ μ μ΄μ μ λ§μΆ μ μμ΅λλ€. ν€-κ° μ μ₯ μμ€ν μ κ²½μ°, μ΄ μΈ‘μ μ μ΄λΉ νΈλμμ λ° κ²μ μμΌ μ μμ΅λλ€.
μ€λ₯(Errors) λͺ μμ μΌλ‘(μ: HTTP 500), μμμ μΌλ‘(μ: HTTP 200 μ±κ³΅ μλ΅μ΄μ§λ§ μλͺ»λ μ½ν μΈ μ κ²°ν©λ κ²½μ°) λλ μ μ± μ λ°λΌ(μ: "1μ΄ μλ΅ μκ°μ μ½μν κ²½μ° 1μ΄λ₯Ό μ΄κ³Όνλ λͺ¨λ μμ²μ μ€λ₯") μ€ν¨ν μμ²μ λΉμ¨μ λλ€. νλ‘ν μ½ μλ΅ μ½λκ° λͺ¨λ μ₯μ 쑰건μ νννκΈ°μ λΆμΆ©λΆν κ²½μ°, λΆλΆμ μΈ μ₯μ λͺ¨λλ₯Ό μΆμ νκΈ° μν΄ λ³΄μ‘°(λ΄λΆ) νλ‘ν μ½μ΄ νμν μ μμ΅λλ€. λ‘λ λ°Έλ°μμμ HTTP 500μ ν¬μ°©νλ©΄ μμ ν μ€ν¨ν μμ²μ λͺ¨λ μ‘μλΌ μ μλ λ°λ©΄, μλν¬μλ μμ€ν ν μ€νΈλ₯Ό ν΅ν΄μλ§ μλͺ»λ μ½ν μΈ λ₯Ό μ μ‘νλ κ²μ κ°μ§ν μ μκΈ° λλ¬Έμ μ΄λ¬ν κ²½μ°λ₯Ό λͺ¨λν°λ§νλ λ°©λ²μ ν¬κ² λ€λ₯Ό μ μμ΅λλ€.
ν¬νλ(Saturation) μλΉμ€κ° μΌλ§λ 'κ½' μ°¨ μλμ§. κ°μ₯ μ μ½μ΄ λ§μ 리μμ€λ₯Ό κ°μ‘°νλ μμ€ν λΉμ¨μ μΈ‘μ κ°μ λλ€(μ: λ©λͺ¨λ¦¬ μ μ½μ΄ μλ μμ€ν μμλ λ©λͺ¨λ¦¬ νμ, I/O μ μ½μ΄ μλ μμ€ν μμλ I/O νμ). λ§μ μμ€ν μ΄ 100% μ¬μ©λ₯ μ λλ¬νκΈ° μ μ μ±λ₯μ΄ μ νλλ―λ‘ μ¬μ©λ₯ λͺ©νλ₯Ό μ€μ νλ κ²μ΄ νμμ μ λλ€.
Conclusion
μμ λ΄μ©μ μ§μΉ¨μΌλ‘ μΌμ λͺ¨λν°λ§μ μμνλ©΄ λ€μ λ¨κ³λ‘ μ±μ₯ν μ μμ΅λλ€.
Last updated