[![logo](https://www.hongsnet.net/images/logo.gif)](https://www.hongsnet.net)

# 개요

Prometheus을 이용한 www.hongsnet.net Container를 모니터링 한다.

# 구성

![source_overview](./images/container-monitoring.png)

> !참고 : Node 및 VM은 Zabbix에서 모니터링을 수행하기 때문에 node-exporter는 실행되지 않는다.


- **구성 요소**
  - `prometheus` : **이벤트 모니터링 및 경고에 사용**되는 어플리케이션이다. 실시간 경고와 함께 HTTP 풀 모델을 사용하여 구축 된 시계열 데이터베이스에 실시간 메트릭을 기록하는 역할을 담당한다.
  - `alertmanager` : Prometheus의 alert를 전달받아 이를 **적절한 포맷으로 가공하여 notify 해주는 역할**을 담당한다.
  - `cadvisor` : 모니터링 에이전트로서 모든 Node에 설치되어, Node에 대한 정보와 POD(컨테이너) 에 대한 지표를 수집되며, 이 수집된 내용은 컨테이너 오케스트레이션(k8s,swarm 등)에게 전달되는데, 이 후 전달된 내용은 모니터링 툴(Prometheus 등) 에서 다시 수집해가는 역할을 담당한다. 수집되는 리소스에는 **CPU, Memory, Filesystem, Network Usage와 같은 통계**를 수집한다.
  - `grafana` : 다중 플랫폼 오픈 소스 분석 및 대화형 시각화 웹 애플리케이션이며, 지원되는 데이터 소스에 연결되면 웹에 대한 차트, 그래프 및 경고를 제공하는 **시각화 툴** 이다.

<br>

# 설치 (Each Orchestration Solutions)

| NO | 클러스터 | 바로가기 | 비고 |
| ------ | ------ | ------ | ------ |
| 1 | K8s | [GO](./INSTALL/K8S/) |  |
| 2 | Docker Swarm | [GO](./INSTALL/SWARM/) |  |


# Monitroing ITEM (Common)

> Prometheus Alert Rule을 이용한 각종 Metric 기준 및 구성을 진행한다.


| NO | ITEM | 바로가기 | 비고 |
| ------ | ------ | ------ | ------ |
| 1 | **Node**(Host) Resource Alert | [GO](./ITEM/NODES/) |  |
| 2 | **Pod**(Container) Resource Alert | [GO](./ITEM/POD/) |  |
| 3 | **Prometheus** Self-Monitoring Resource Alert | [GO](./ITEM/PROM/) |  |
| 4 | **MariaDB** Resource Alert | [GO](./ITEM/MARIADB/) |  |
| 5 | **K8s** Resource Alert | [GO](./ITEM/K8S/) |  |

> Verify : **https://prometheus-demo.hongsnet.net**