# 대시보드 템플릿 https://grafana.com/grafana/dashboards/ 위 주소에서 원하는 형태의 대시보드 템플릿을 찾아보고, import 하여 사용합니다. 저는 여러가지 대시보드를 Import해서 각 템플릿에서 필요한 패널만 따로 Copy / Paste Panel 했습니다. 살짝 모자이크 처리를 했지만, 저는 위에 대시보드처럼 상단에 전체 서버를 Linux와 Window 계열로 나눠서 CPU / 메모리 / 디스크 정보에 대해 바로 확인 할 수 있도록 했습니다. 중간에는 주요 AP1호기 2호기로 구성했고, 제일 아래쪽에는 특정 서버 하나만 콤보박스로 선택해서 볼 수 있도록 구성했습니다. 아무리 좋은 템플릿을 찾더라도, 약간의 수정은 필요합니다. 우선 잘 반영되는 템플릿 여러개를 찾으시..
#설치경로 https://grafana.com/grafana/download grafana 서버 OS에 맞춰 받도록 합니다. 저는 Prometheus 서버에 Grafana 서비스도 같이 올리기위해서 Prometheus 서버에 설치했습니다. #내가 설치한 방식 (Redhat) sudo yum install grafana-enterprise-9.1.6-1.x86_64.rpm tar -zxvf grafana-enterprise-9.1.6.linux-amd64.tar.gz 설치 이후 grafana.ini 설정파일 중 domain 부분을 수정합니다. vi /etc/grafana/grafana.ini → domain = [ip주소] # xxx.xxx.xxx.xxx 해당 도메인과 포트(기본3000)을 지정하면, 외부..
#설치경로 - https://prometheus.io/download/#prometheus 수집서버 OS에 맞는 설치파일을 받아서 압축을 풀어주고 vi편집기를 통해서 prometheus.yml 설정파일을 자신의 상황에 맞게 수정합니다. # prometheus.yml 주요 컨피그 셋팅정보 scrape_interval : 매트릭을 수집할 주기를 설정할 수 있습니다.(기본값 1분) evaluation_interval : 규칙을 평가할 주기를 설정할 수 있습니다. (기본값 1분) alerting : Alertmanager에 대해 설정할 수 있습니다. rule_files :규칙을 로딩하고 evaluation_interval 설정에 따라 주기적으로 평가합니다. job_name : 수집 할 타겟들에 대해 'job='..
개요 시스템 모니터링 대시보드를 만들기위한 3가지 툴입니다. 1. Node_Exporter : 시스템 메트릭 Agent 2. Prometheus : 시스템 메트릭를 수집하는 시계열 DB 3. Grafana : 모니터링 시각화 오픈소스 위에 그림처럼 시스템 모니터링이 필요한 각 서버에 node_exporter 를 설치하여 해당 서버에 대한 Metrics 정보를 얻을수 있습니다. 그리고 각 Metrics를 수집하는 Prometheus를 모니터링 서버에 설치하고, 컨피그 파일에 수집 할 대상 Node서버(node_exporter 가 설치된 서버)를 등록하여 일정 주기마다 Metrics 정보를 수집합니다. 수집된 Metrics 정보를 Grafana와 연동하여 각종 그래프등으로 시각화하여 대시보드로 활용 할 수 ..
#논리적 I/O - DB 버퍼 캐시에서 발생한 총 블록 I/O (= SQL을 수행하면서 읽은 총 블록 I/O) SQL를 실행할 때 원하는 데이터가 DB 버퍼캐시에 없으면 디스크에서 읽어서 DB버퍼에 캐싱하고, 캐싱된 블록을 읽어가기 때문에 논리적 I/O는 물리적 I/O를 포함한다. #물리적 I/O - Disk에서 발생한 총 블록 I/O # BCHR - 버퍼캐시 히트율 BCHR = ( 캐시에서 곧바로 찾은 블록수 / 총 읽은 블록 수) * 100 = ((논리I/O - 물리 I/O) / 논리I/O ) *100 = (1-(물리I/O / 논리IO) ) *100 ) 위에서 설명했듯이 논리적I/O는 SQL을 수행하면서 총 읽은 블록I/O와 같은 의미이다. 위에 식처럼 히트율을 높이기위해서는, 물리적I/O를 줄여야한..
오늘은 VisualStudio에서 제공하는 Code Snippets 일명 코드조각을 만들어 보겠습니다. VisualStudio에서는 C# WPF뿐만 아니라, 다른 언어에 대해서도 코드조각을 지원하고있습니다. #코드조각이란? - 자주 쓰는 코드들을 쉽고 편하게 사용 하도록 만들어둔 일종의 메크로 또는 핫키? 비슷한것... #코드조각 만들기 이번에 만들어볼 코드조각은 MVVM 패턴에서 정말 자주쓰이는 Property생성을 위한 코드조각입니다. private string _myproperty; /// /// name : myproperty /// desc : /// author : 공그레 /// create date : 2022-- /// update date : 2021--, 공그레, 최초작성 /// pub..
1. MVC 패턴 # Model - View - Controller 사용자가 화면(View)에 있는 버튼을 누른다고 가정하면, 버튼(Control)을 누르면 버튼에 작성된 코드들(Model)이 수행 되고 수행되면서 결과물을 다시 화면(View)를 통해 보여준다. 이렇게 상호작용하는 디자인 패턴이 MVC 패턴이다. ★ 장점 : 간단하고 흐름이 직관적이기 때문에 개발속도가 빠르다. ★ 단점 : View와 Model 사이의 의존성이 크기때문에, 프로그램의 사이즈가 커지면, 유지보수가 힘들다. 개발자와 디자이너가 함께 협업해야 할 경우에도 의존성때문에 힘들어진다. 'C# Windows Form' 으로 버튼 하나에 클릭이벤트로 버튼 이름을 바꾸는 코드를 작성해보면 쉽게 이해할수있다. A라는 버튼을 B라고 바꾸기위..
# MVVM 패턴을 이용한 개발환경 셋팅 Binding된 컨트롤들에 접근하고, 이벤트를 발생하고, 활용하기위해서 ViewModel을 구성해야한다. 매번 프로젝트를 할때마다 필요한 메서드들을 만들수 없으니, MVVM에 필요한 필수적인 메서드를 만들려고 한다. 개발 할 때 dll만 참조걸어서 사용할 수 있도록 .dll파일을 만드는 간단한 절차를 적어보았다. 1. 빈 프로젝트로 생성 2. 구성된 솔루션에 필요한 참조를 추가 3. 필요한 소스 구성후 빌드한다. 4. 빌드시 출력형식 및 Main이 없다는 오류가 뜰때 위에 캡쳐된 화면은 단순 예시일뿐이고, MVVM을 사용하기위해 필요한 매서드는 직접 구성해서 작성해보길 바랍니다. 키워드 - INotifyPropertyChanging / INotifyProperty..
1. 필요 개발 환경 - Windows 10 - NVM (Node Version Manager) - nodejs & npm 2. NVM 설치 파일 다운로드 - https://github.com/coreybutler/nvm-windows/releases 위 주소에 접속하여 nvm-setup.zip 파일을 다운 받는다. NVM은 nodejs의 버전을 개발 상황에 따라 바꿀 필요가 있는데, 버전 별로 설치를 지원하여 개발자 입맛에 따라 사용할 버전을 선택할 수 있게 해준다. 3. NVM 설치 방법 - 받은 압축 파일을 풀고 nvm을 install 한다. - windows 명령 프롬프트 cmd를 실행한다. - nvm version을 입력하여 설치된 것을 확인한다. 4. nodejs & npm 버전 확인 - ht..