λͺ¨λ리μ μν€ν μ²μμ MSA λ‘ λ³νλλ©΄μ λ¬λΌμ§ κ²λ€μ΄ λ§μ λ° κ·Έ μ€ νλκ° ν΅μ λ°©λ²μ΄λ€. λͺ¨λ리μμμ κ·Έμ ν¨μ νΈμΆμ νλ©΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μ μμ§λ§, MSA μμ μλΉμ€κ° λΆλ¦¬ λμκΈ° λλ¬Έμ μλΉμ€ μ¦ νλ‘μΈμ€ κ° ν΅μ μ νκ² λλ€. λͺ¨λ리μμμ μλ²μ DBμ μνλ§ νμΈνλ©΄ λλλ° μλΉμ€κ° λΆλ¦¬ λλ©΄μ IPC ν΅μ μ λν μ§μ°μ¨μ΄λ Call μ¦κ° νμΈ, λΆλ¦¬λ μλΉμ€μ μν νμΈ, λ―Έλ€ μ¨μ΄ μν λ± λ§μ λΆλΆ μ κ²½ μ¨μΌν κ² λ§μμ‘λ€.
Hop μ΄ λμ΄λ¨μ λ°λΌ μ΄λμ μ΄λ€ μμ²μ λν λ¬Έμ κ° λ°μνλμ§ λλ²κΉ μ΄ μ΄λ €μμ‘κ³ , λ‘κ·Έ μμ§μ μν λ³λμ μΈνλΌκ° νμν΄μ§κ² λλ€.λ μ΄λ μλ²μμ μ΄λ μλΉμ€λ‘ νΈμΆμ΄ λμ΄μΌ νλμ§ μλΉμ€κ° νΈμΆ μνκ° μ μ°μΈμ§λ νμ ν΄μΌ νλ€.
MSA νκ²½μμ μ΄λ° λ¬Έμ λ₯Ό 극볡νκΈ° μν΄ λ€μΌν λ°©λ²μΌλ‘ λͺ¨λν°λ§μ ν΄μΌ νλ€.
μΌλ°μ μΈ λͺ¨λν°λ§ νλ¦
λκ·λͺ¨ νΈλν½μ κ°λΉν μ μλ MSA νκ²½μμ λͺ¨λν°λ§ νλ¦μ λ€μκ³Ό κ°μ΄ μΌμ΄λ μ μλ€.
1. νΉμ Metric μ μ¬μ μ μλ Alertμ ν΅ν΄μ λ¬Έμ λ₯Ό κ°μ§νλ€.
2. μ΄λ€ Metricμ λν λ¬Έμ μΈμ§λ₯Ό νμ νκ³ , μ΄λ€ νλμ ν΄μΌν μ§ νλ¨νλ€.
2-1. Metric μμΉλ₯Ό λ³΄κ³ μ€νλ¨, νΉμ λΉμ₯ μ΄μμ μ λκ° λ―Έλ―Ένλ€λ©΄ Alert 쑰건 λ±μ μμ νκ±°λ μ½λλ₯Ό μμ νλ€.
2-2. μ ν리μΌμ΄μ λ 벨μ λ¬Έμ λΌκ³ νλ¨ μ Log λ₯Ό νμΈνλ€.
2-2-1. λ¨μ λ‘κ·Έλ‘ νμΈμ΄ μ΄λ €μΈ μ ν΄λΉ νΈλμμ μ λν Tracingμ νμΈνλ€.
2-3. μΈνλΌ λ 벨μ λ¬Έμ λΌλ©΄ μ νν μμΈ νμ μ΄ νμνλ€.(e.g. CICD κ³Όμ μμ λ¬Έμ , OOM)
2-4. λ€νΈμν¬ λ 벨(λΌμ°ν , νΈλν½) λ±μ λ¬Έμ λΌλ©΄ Service-Mesh λ₯Ό ν΅ν΄ νμ¬ μλΉμ€ κ° νΈλν½ λͺ¨λν°λ§ μνλ₯Ό νμΈνλ€.
3. νκ³ λ₯Ό ν΅ν΄ κ°μ λ¬Έμ κ° λ°μνμ§ μλλ‘ μ‘°μΉνκ³ , μ 리νμ¬ λ¬Έμν νλ€.
λ‘κΉ
μλ§μ μλ²λ΄μ, μλΉμ€λ€μ λ‘κ·Έμμ μ μ ν νν°λ§νμ¬ λλ½ μμ΄ λ‘κ·Έλ₯Ό μ μ₯μκΉμ§ μ μ‘ν΄μΌ νλ€.
μ λ§μ λ‘κ·Έλ€μ μ μ ν μΈλ±μ±νμ¬, νμ μ λΉ λ₯΄κ² λ€μν 쑰건μΌλ‘ κ²μμ΄ κ°λ₯ν΄μΌνλ€.
λνμ μΈ κΈ°μ μ€ν
ELK : ElasticSearch, Logstash, Kibana
EFK : ElasticSearch, fluentbit, fluentd , Kibana
Logstash, fluentbit, fluentd : μλ²μ λμ€ν¬μ 1μ°¨μ μΌλ‘ μμΈ λ‘κ·Έλ€μ μνλ νν°λ§ 쑰건μ λ§κ² μμ§
ElasticSearch: λ‘κ·Έλ€μ μΈλ±μ±νμ¬ μ μ₯
Kibana: λ‘κ·Έλ€μ μκ°ν
λ©νΈλ¦ & μΌλΏ
μλ§μ μλ²λ΄μ μλ§μ μλΉμ€ λ΄μ λ©νΈλ¦λ€μ μμ μ μΌλ‘ μμ§νκ³ , μκ³μ΄ λ°©μμΌλ‘ μ μ₯ νλ€.
λ€μν μ€ν μμ€μ λ©νΈλ¦μ μ§μνλ λμ보λλ₯Ό μ¬μ©ν΄μΌνλ€.
μνλ 볡μ‘ν ννμ λΉμ¦λμ€ λ©νΈλ¦ Queryλ₯Ό μμ±νκ³ , μ΄λ₯Ό κΈ°λ°μΌλ‘ μ μ νκ² Alert 쑰건μ μ€μ ν μ μμ΄μΌ νλ€.
λνμ μΈ κΈ°μ μ€ν
Prometheus + Grafana
Prometheus : μκ³μ΄ DB - κΈ°λ³Έμ μΌλ‘ Polling Pull λ°©μμΌλ‘ μλ²μ λ©νΈλ¦μ μμ§
Grafana : λ©νΈλ¦ μ 보λ₯Ό λμ보λν μμΌμ€.
νΈλ μ΄μ±
νλμ μμ€(νΈλμμ )μ λν΄μ, μ¬λ¬κ°μ μλΉμ€μμ μ΄λ€ κ³Όμ μ κ±°μ³ μνλμλμ§ νμΈνλ€.
λͺ¨λ κΈ°λ‘μ νΈλ μ΄μ± νκΈ° λ³΄λ€ μ μ ν μνλ§μ ν΅ν΄ νΈλ μ΄μ± νλ€.
λνμ μΈ κΈ°μ μ€ν
Jaeger, Zipkin, Tempo
Span μ νμ©νμ¬ νλμ μμ²μ λν΄ μ΄λ€ λΆκΈ°λ₯Ό νκ³ μ΄λ€ λ‘μ§μ κ±°μΉλμ§ νΈλ μ΄μ±ν¨.
μλΉμ€ λ©μ
μ΄λ μλΉμ€κ° μ΄λ μλΉμ€λ₯Ό νΈμΆνκ³ μλμ§, μ΄λλ‘ νΈλν½μ΄ μ΄λ μ λλ‘ λ°μνκ³ μλμ§ λ±μ λͺ¨λν°λ§ ν μ μμ΄μΌνλ€.
λνμ μΈ κΈ°μ μ€ν
Istio
λκΈ