[공부정리] Promtail, Loki, Prometheus, Grafana를 이용한 모니터링 시스템 구축

jeyong·2024년 8월 2일
0

공부 / 생각 정리  

목록 보기
107/120
post-custom-banner


이번 게시글에서는 Promtail, Loki, Prometheus, Grafana를 이용하여 모니터링 시스템 구축한 내용에 대해서 작성하겠다. 사실 [공부정리] Filebeat, Logstash, ElasticSearch, Kibana를 이용한 ECS 환경에서의 로그 수집 에서 비슷한 내용을 다룬 적이있다. 달라진 점은 Filebeat, Logstash, ElasticSearch, Kibana을 이용하지 않고 Pormtail과 Loki를 이용하여 구축하였다는 것이다.
Filebeat, Logstash, ElasticSearch, Kibana을 사용하지 않고 Pormtail과 Loki를 이용하여 구축한 이유는 ELK 스택을 로그 모니터링 용도로 사용하기에는 Learning curve가 높다는 점과 높은 사양의 인스턴스를 필요로 하기 때문에 유지하기 위한비용도 높다는 점이다.

1. 구축 방법

ECR

ECS Task Definition

  • was

  • promtail

  • volume 구성

ECS 배포 결과

2. 구축 결과

로그 모니터링

{
  "datasource": {
    "type": "loki",
    "uid": "ddtie8tz8yayoc"
  },
  "fieldConfig": {
    "defaults": {
      "custom": {
        "drawStyle": "bars",
        "lineInterpolation": "linear",
        "barAlignment": 0,
        "lineWidth": 10,
        "fillOpacity": 100,
        "gradientMode": "none",
        "spanNulls": false,
        "insertNulls": false,
        "showPoints": "always",
        "pointSize": 8,
        "stacking": {
          "mode": "normal",
          "group": "A"
        },
        "axisPlacement": "auto",
        "axisLabel": "",
        "axisColorMode": "text",
        "axisBorderShow": false,
        "scaleDistribution": {
          "type": "symlog",
          "linearThreshold": 1,
          "log": 2
        },
        "axisCenteredZero": false,
        "hideFrom": {
          "tooltip": false,
          "viz": false,
          "legend": false
        },
        "thresholdsStyle": {
          "mode": "off"
        },
        "lineStyle": {
          "fill": "solid"
        }
      },
      "color": {
        "mode": "fixed",
        "fixedColor": "green"
      },
      "mappings": [],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "value": null,
            "color": "green"
          },
          {
            "value": 80,
            "color": "red"
          }
        ]
      },
      "decimals": 0
    },
    "overrides": []
  },
  "gridPos": {
    "h": 11,
    "w": 12,
    "x": 0,
    "y": 20
  },
  "id": 2,
  "options": {
    "tooltip": {
      "mode": "single",
      "sort": "none"
    },
    "legend": {
      "showLegend": true,
      "displayMode": "list",
      "placement": "bottom",
      "calcs": [
        "sum"
      ]
    }
  },
  "targets": [
    {
      "datasource": {
        "type": "loki",
        "uid": "ddtie8tz8yayoc"
      },
      "editorMode": "code",
      "expr": "count_over_time({filename=\"/logs/file.log\"} |= \"INFO\" [$__interval])",
      "legendFormat": "info",
      "queryType": "range",
      "refId": "A"
    }
  ],
  "title": "Info Log",
  "type": "timeseries"
}

메트릭 모니터링


profile
노를 젓다 보면 언젠가는 물이 들어오겠지.
post-custom-banner

0개의 댓글