DevOps/Monitoring_모니터링

DevOps/Monitoring_모니터링

[Prometheus/Grafana] 윈도우 OS 시간 모니터링 및 차이 발생 시 알람 발생(+meth 쿼리 결과 비교 및 label_replace 함수 라벨 변환)

0. 개요현재 특정 대역의 서버들은 윈도우로 구성된 NTP 서버의 시간을 동기화하여 사용한다고 가정한다.  그런데 이 NTP 서버 시간대가 실제 시간대와 점차 차이가 벌어진다.원인은 네트워크 지연, ntp 설정 문제, 시스템 리소스(CMOS 배터리 등 물리적 부품의 문제) 등 여러 경우가 있어 보임 이에 윈도우 서버의 시간을 모니터링하여 실제 시간과 차이가 30초 이상 발생하면 Slack 알람이 발송되도록 모니터링하는 방법을 알아보겠다.  1. win_exporter 구성NTP 서버에 win_exporter 설치를 진행한다.Win_exporter 이름으로 윈도우 서비스를 등록했으며, 이를 실행 및 자동 실행 설정을 진행한다.sc create "Win_exporter" binPath= "C:\infra_m..

DevOps/Monitoring_모니터링

[Prometheus] 프로메테우스 config reload

👍🏼 요약HTTP POST 요청 혹은 프로세스 시그널(kill) 명령으로 재시작 없이 reload가 가능하다.HTTP POST 방식curl -X POST http://localhost:9090/-/reload프로메테우스 설정에서 Lifecycle 옵션이 활성화 되어있어야 한다.프로세스 시그널kill -SIGHUP [PID]    kill -1 [PID](두 명령 동일함)ps -ef | grep [process 이름]  해당 명령으로 PID 확인 가능 🔃 프로메테우스 config reload💡프로메테우스 구성/운영 중 감시 대상을 변경하거나 알람 role를 추가하는 등 프로메테우스 설정을 변경해야 하는 경우가 존재한다. 본인의 경우 현재 컨테이너로 동작중에 있어 config 파일을 수정하고 재시작을..

DevOps/Monitoring_모니터링

[Prometheus] 프로메테우스 데이터 기본 저장경로 (+docker compose)

요약일반적으로 사용하는 프로메테우스와 프로메테우스 Docker Image 의 메트릭이 저장되는 기본 경로가 다르다.프로메테우스의 기본 메트릭 저장 경로는 /prometheus/data 이다.docker image에는 --storage.tsdb.path 옵션이 붙어 /prometheu 로 경로가 변경된다.prometheus documenter에 나온 정보대로 기본 경로 /prometheus 로 지정하고 싶다면, 따로 --storage.tsdb.path=/prometheus 옵션을 부여해야 하니, 구성에 주의해야 한다.    현재 docker compose를 구성하여 프로메테우스를 구성 중 docker compose up -d 명령으로 컨테이너 실행을 진행하면 계속해서 컨테이너 마운트 포인트 관련한 에러가 ..

DevOps/Monitoring_모니터링

[Prometheus] 프로메테우스 데이터 마이그레이션 (docker volume 옵션)

1. 기존 프로메테우스 데이터 마이그레이션현재 테스트로 프로메테우스를 구성하여 node exporter를 통해 몇몇 리눅스 서버를 모니터링하고 있다.별 다른 설정 없이, 단순 프로메테우스 이미지를 컨테이너 실행 시킨 것 뿐이라, 데이터 등도 컨테이너 내부에서 쌓이고 있다.  대강 이런 형식인데, 문제는 모니터링 대상이 추가되거나, 구성에 변경이 있을 시 컨테이너를 재시작하면 쌓여있던 데이터가 전부 날아가는 것이다..(당연히,, 컨테이너를 새로 빌드하면 그렇지..) 그래서 지금 동작중인 해당 프로메테우스의 저장된 3개월치의 데이터를 가지고신규 구성한 컨테이너로 마이그레이션하는 작업을 진행해보겠다. 신규 구성 프로메테우스 구성은 기존 글을 참고하시라https://cwpack0730.tistory.com/10..

DevOps/Monitoring_모니터링

[Prometheus] 프로메테우스 기본 구성 (docker compose 생성)

1. Prometheus 구성 목적본인은 현재 시스템을 하이브리드 클라우드 형태로 운영하고 있는데 (AWS, NCP, GCP, Azure, IDC센터 및 사내 전산실 모두 관리중이다.)프로젝트나 서비스 별로 플랫폼과 환경이 달라서 어느 정도의 통합이 필요한 상황이다... (혼자서 관리하기에 너무 어렵다.)지금 가장 시급한 것은 모니터링 통합이라고 생각했고, 그래서 여러 모니터링 서비스를 찾아보던 중 prometheus를 알게되었다. 현재 대표적인 모니터링 솔루션으로는 zabbix, telegraf, cloudwatch, scouter 등 많이들 있지만, prometheus로 진행해보기로 결정하였다.(몇개는 이미 포스팅하였다. )  이유는 다음과 같다. 시계열 데이터베이스를 사용한다. (TSDB)데이터가 ..

DevOps/Monitoring_모니터링

[Grafana] Grafana Image Renderer

Grafana Image Renderer 그라파나에서 대시보드 패널이미지를 포함시키기 위해선 그라파나 이미지 랜더러가 필요하다. 그라파나 이미지 렌더러(Grafana Image Renderer) 그래프 이미지화를 위해 해당 플로그린을 설치하거나 독립 실행형으로 배포할 수 있다. 이미지 렌더러 문서(링크) 에서 자세한 설치방법을 확인할 수 있다. 1. 그라파나 cli를 사용한 설치 현재 그라파나를 직접 설치해서 사용하고 있다. 이 같은 경우 cli를 통한 설치가 가능하다. 설치과정에서 크로미움 관련 라이브러리 종속성이 있다. 설치 후, 그라파나 재시작이 필요하기 때문에 docker로 돌리고 있다면 이후 설명하는 독립실행형으로 설치 또는 이미지 렌더러를 포함한 이미지를 사용해야 한다. $ grafana-cl..

DevOps/Monitoring_모니터링

[모니터링] Grafana Slack 연동

Slack app 구축 slack api에 접속하여, create new app을 진행한다. from scartch을 선택한다. 이후 app name을 설정하고 연결할 slack workspace를 선택한다. 좌측 Features 탭에서 OAuth & Permissions을 선택한다. 설치를 진행한다. 관리자 권한이 필요하다. 이후 슬랙 api를 통해 메세지와 그래프이미지 등을 전송할 것이기 때문에, files:wirte , chat:wirte 권한을 추가한다. 이후, 생성된 토큰값을 복사하여 grafana → alerting → contact point를 생성한다. 생성된 contact point에 대한 라우팅 설정을 진행해야 하는데, notification policles 에서 정책을 추가한다. ro..

DevOps/Monitoring_모니터링

[모니터링] CloudWatch + Grafana 모니터링 구축

CloudWatch https://cwpack0730.tistory.com/64 [AWS] CloudWatch (AWS 리소스 상태 모니터링) CloudWatch는 AWS 리소스의 상태를 모니터링 하는 서비스입니다. 모니터링 뿐만 아니라 측정치(Metric)와 연계하여 다양한 액션(Action)을 사용할 수 있습니다. 💡 프리 티어에서 사용 가능 CloudWatch는 cwpack0730.tistory.com 본인이 학습한 cloudwatch 개념 정리된 링크이다. 현재 aws ec2에 서버가 있고, 해당 서버의 기본 리소스(cpu,disk R/W 등)를 grafana로 모니터링 및 slack 알람까지 구현하겠다. # CloudWatch 기본 개념 기본적인 CPU, disk 읽기/쓰기, network 등은..

DevOps/Monitoring_모니터링

[AWS] CloudWatch (AWS 리소스 상태 모니터링)

CloudWatch는 AWS 리소스의 상태를 모니터링 하는 서비스입니다. 모니터링 뿐만 아니라 측정치(Metric)와 연계하여 다양한 액션(Action)을 사용할 수 있습니다. 💡 프리 티어에서 사용 가능 CloudWatch는 프리 티어에서 무료로 사용가능 합니다. 2022년 5월 기준으로 기본 모니터링(5분 간격), 측정치(Metric) 10개, 알람(Alarm) 10개, 매달 API 요쳥 1백만개 건을 무료로 사용할 수 있습니다. CloudWatch는 EC2 인스턴스가 이상이 있을 경우 알림을 받고자 할 때, 사용량이 급증했을 때 자동으로 횡적 확장(Auto Scaling)을 하고 부하 분산(Elastic Load Balancing)을 구축할 때 사용합니다. CloudWatch에서는 각 AWS 리소스..

DevOps/Monitoring_모니터링

[Datadog] Datadog 연동하여 서버 모니터링하기 (Intergrations)

Datadog 이란? 데이터독(datadog)은 모니터링 서비스로 SaaS 기반 데이터 분석 플랫폼을 통해 서버 및 클라우드 서비스 모니터링을 제공한다. 데이터독은 서버 상태를 모니터링하는 기능부터 AWS, Azure, GCP 등 서비스와 통합 기능도 제공하고 있으며 agent의 확장 기능을 통해 다양한 애플리케이션에 대한 추가적인 메트릭 수집 및 모니터링을 지원한다. 추가로 알람, 대시보드, 로그 수집, APM, 네트워크 트래픽과 엔드포인트 모니터링을 지원하며 종합 모니터링 서비스로 확장해나가고 있다. Datadog 연동 방식 두 가지의 방식으로 datadog 연동을 진행해보겠다. Intergrations APM APM 이란? Application Performance Monitoring 의 약자로 구..

DevOps/Monitoring_모니터링

[ZABBIX] 자빅스 모니터링 시스템 구축하기

Zabbix 란? Zabbix는 엔터프라이즈에 대응한 모니터링 솔루션이며, 오픈 소스로 배포된다. 다수의 네트워크 매개 변수 및 서버의 상태와 무결성을 모니터링하는 소프트웨어이며, 유연한 알림 메커니즘을 갖추고 있어 메일 기반의 통지를 하도록 설정할 수 있다. 즉, 이러한 기능을 통해 서버의 장애에 신속하게 대응할 수 있다. 💡 Zabbix는 저장된 데이터를 바탕으로 보고서 및 그래프 표시 기능을 제공하며 폴링과 트래핑을 모두 지원함 장점 강력한 모니터링 기능과 그래프를 하나의 도구로 결합시킴 알림에 대해 구성을 고도화할 수 있음 기본적으로 30초마다 지표를 수집하며, 인터벌 조정도 가능 빠른 웹 인터페이스 시스템에 대한 사용자 권한 설정으로 특정 사용자를 특정 뷰에 한정 수집된 데이터를 유연하지 못한 ..

DevOps/Monitoring_모니터링

[Scouter] Scouter 설치 및 Agent 연동 (Linux)

Scouter는 LG CNS에서 개발 및 배포한 무료 APN이다. 이 툴을 통해 WAS의 성능 모니터링이 가능하다. (heap memory, session 수, SQL 조회 등) 크게 세 가지의 프로그램 설치가 필요하다. Agent : WAS가 설치된 서버에 설치하며, 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능을 조사하여 정보를 획득함 Server (Collector): WAS가 설치된 서버에 설치하며, Agent가 전송한 데이터 수집/처리 Client (Viewer): 수집된 성능 정보를 확인하기 위한 Client 프로그램 다운로드 및 설치 Scouter 파일 다운로드(https://github.com/scouter-project/scouter/releases)) ..

cwpack0730
'DevOps/Monitoring_모니터링' 카테고리의 글 목록