인프라 모니터링
- 서버와 같은 인프라에 대한 쿼리 카운트, 에러 카운트, 처리 시간, 서버 활성 시간 등의
시스템에 관련된 정량적 수치를 집계하고 보여주는 것
인프라 모니터링 툴
- Prometheus
: Go / Java / Ruby / Python 으로 작성된 클라이언트 라이브러리를 GitHub에서 다운로드
: 데이터를 key-value형태의 NoSQL 제품인 LevelDB에 저장
: Docker 모니터링 용도로 많이 이용
: 대부분의 소프트웨어 아키텍쳐와 호환되며 설정 및 유지관리가 편함
: 오픈소스
- Nagois
: 인프라 모니터링 선두주자
: 가장 많은 플러그인 지원
: 서버, 스위치, 애플리케이션, 서비스에 대한 모니터링 및 경고 서비스 제공
: 오픈소스
- Grafana
: graphite, Elasticsearch, InfluxDB 등 여러 데이터 소스 지원과 그래프 표현 기능
: 프로그래밍 없이 다양한 데이타 소스에 직접 연결하여 실시간 시각화 기능
: 오픈소스
- Scouter
: 이클립스 기반의 애플리케이션 클라이언트
: 빠른 반응속도로 실시간 모니터링에 적합
: 간단한 설치와 한글 지원
: 오픈소스
애플리케이션 모니터링
- 애플리케이션의 성능을 분석
: 최종 사용자의 체험관리를 위해 서비스의 성능 측정
: 응용프로그램의 리소스 사용량과 응답시간 등을 측정
애플리케이션 모니터링 툴
- Jaeger
: 분산 서비스 간 트랜잭션을 추적하는 오픈소스 툴
: 복잡한 마이크로 서비스 환경을 모니터링
: 서버에 설치하여 애플리케이션의 호출에 따른 서비스 흐름 감시
=> 애플리케이션의 호출로 인해 상호 작용하는 서비스들의 정상 작동 여부 감시 및 알림
- New Relic
: 웹 사이트 및 애플리케이션의 서비스 성능 추적을 지원하는 클라우드 기반의 툴
: 애플리케이션 레이어 부터 서버단의 소프트웨어 레이어까지 한 눈에 확인
: 간단한 사용법
: SK와 제휴하여 T CLoud biz 고객의 경우 무료 이용 가능
: 무료 및 유료버전 존재
로그관리
- 소프트웨어 혹은 하드웨어 서비스들이 지속적으로 만들어 내는 이벤트에 대한 기록
- 로그의 종류
: 네트워크
: 서버
: 컨테이너
: 클라우드 인프라
: 애플리케이션
: 메시지 버스
: 로드 벨런서
- 로그의 예시
: Docker에서 발생한 로그
: 운영체제 로그
: 애플리케이션 에러 로그
: 애플리케이션 코드 추적 로그
: 솔루션 로그 (아파치, 오라클, MySQL, 리눅스, VMWare 등)
: AWS VPC FLow 로그
: 클러스터 성능 지표
: IP 접근 기록
: 클라우드 인프라 로그
로그관리 5단계
- 수집
: 시스템에 로그 수집기를 설치하여 HTTPS등의 방식으로 로그 관리 시스템에 전달
- 중앙 처리와 인덱싱
: 로그를 중앙 집중화하여 저장해 누락된 데이터가 없도록 일원화
: 로그 데이터에 필요한 인덱스 값을 추가하여 ITOps와 SecOps 성격의 팀들이 필요로 하는
로그 정보를 빠르게 찾을 수 있도록 함
- 검색과 분석
: 인덱싱이 완료된 데이터에 대한 검색과 분석을 진행하여 데이터의 공통패턴 탐색
- 모니터링과 경고
: Slack과 Hipcat과 같은 협업 도구, 경고/알림 시스템과 로그 관리 시스템을 연동하여 필요시 담당자에게 알림 전달
- 리포트와 대시보드
: 전반적인 시스템 상태에 대해 리포트와 대시보드를 생성하고
RBAC(Role Based Access Control)을 적용하여 권한을 가진 팀원들과 공유
※ BRAC (Role-Based Access Control)
- 시스템 보안에서 권한이 있는 사용자들에게 시스템 접근을 통제하는 방법
로그관리 툴
- ELK Stack (beats + elasticsearch + logstash + kibana)
: Beats = 데이터 수집
: ElasticSearch = 데이터 집계 및 처리
: Logstash = 인덱싱 및 저장
: Kibana = 분석 및 시각화
: 접근성과 용이성이 좋아 가장 많이 사용하는 Log 데이터 분석 도구 세트
- 기타 로그관리 툴
: Graylog
: Splunk
: papertrail
참고지식
VPC
- AWS내의 인스턴스를 그룹별로 묶어 네트워크 복잡도를 해결하는 방법
솔루션
- 특정한 상황에 대한 해결책으로 사용자의 요구에 따라 프로그램과 관련된 문제들을 처리해주는 도구
- 제품과 서비스에 대한 문제점을 해결하여 비용절감과 수익증대, 리스크 관리 향상 추구
협업도구 (그룹웨어)
- 각기 별개의 작업 환경에서 통합된 하나의 프로젝트를 동시에 수행할 수 있도록 만드는 소프트웨어
- Slack, Hipchat, Lotus Notes, Notion, 등이 있음
참조
[1]
[2]
[3]
[4]
[5]
'Devops > DevOps' 카테고리의 다른 글
데브옵스 개발자 로드맵 (0) | 2021.01.31 |
---|---|
[데브옵스 개발자 로드맵 2020] MSA (Micro Service Architecture) (0) | 2021.01.30 |
[데브옵스 개발자 로드맵 2020] 인프라 관리, 환경 구성 관리 (0) | 2021.01.30 |
[데브옵스 개발자 로드맵 2020] 컨테이너 오케스트레이션 (0) | 2021.01.29 |
[데브옵스 개발자 로드맵 2020] 컨테이너 (0) | 2021.01.29 |