본문 바로가기
서버 모니터링툴 구축 ▶ 정의  1.1 Prometheus란?- Prometheus란 메트릭 기반의 오픈 소스 모니터링 시스템- Prometheus는 인기있는 모니터링 시스템 중 하나- (주의) 로컬디스크의 용량이 부족할 경우 사용자가 직접 디스크 용량을 늘려야 함 1.2 NodeExporter란?- 하드웨어의 상태와 커널 관련 메트릭을 수집하는 메트릭 수집기- Prometheus는 NodeExporter의 MetircHttpEndpoint에 접근하여 해당 메트릭 수집 가능 - NodeExporter로부터 수집한 메트릭을 Prometheus내 TSDB에 저장하여 PromQL로 메트릭을 쿼리해 서버 상태 모니터링 가능 1.3. Grafana란?- 오픈소스 시각화 및 분석 도구 - 대시보드를 통해 어플리케이션 모니터링 가능 2024. 6. 7.
[C# - dapper] ExplicitKey 오랫만에 dapper 사이트에 들어갔더니 묻고 답해요 코너가 생겼다. 그래서 ExplicitKey에 대해 물어보았더니 드디어 정확한 정의를 찾았다.  The ExplicitKey attribute is used in Dapper to explicitly specify that a property should be treated as the primary key for a table. By default, Dapper assumes that the property with the name "Id" or "ID" is the primary key. However, if your table has a different primary key property name, you can use the Explicit.. 2024. 6. 5.
-1을 uint에 넣어서 형변환을 하면 어떻게 될까? 아래와 같은 코드가 있다.  int testA = -1; var testB = (uint)testA; 이때 testB는 뭐가 될까?? uint니까 1이될까??  땡이다. 위의 코드에 로그를 달아 찍어보자.   int testA = -1; var testB = (uint)testA; Console.WriteLine("testA : " + testA); Console.WriteLine("testB : " + testB + ", uint max =" + uint.MaxValue +", if(testB == uint.maxValue)" + (testB == uint.MaxValue)); 흥미롭게도 testB는 예상외의 숫자가 되었다.  4294967295가 의미하는건 뭘까? 바로 uint.maxvalue 값이다.. 2024. 5. 7.
node version 업그레이드 하기! 어느날 aws sdk를 사용하려면 노드 버전 16으로 업그레이드 하라는 메시지를 보았다. 로그 메시지The AWS SDK for JavaScript (v3) versions released without Node.js 14.x support on or after May 1, 2024 may continue to work on Node.js 14.x. This does not imply a continuation of support. You can continue to use older versions of the AWS SDK for JavaScript (v3) released before May 1, 2024 with Node.js 14.x. " 14 버전을 쓸수는 있는데, 업그레이드나 지원은 없을꺼니.. 2024. 5. 7.
[DB] Transaction Isolation Levels과 확인 하기 Transaction Isolation Levels   Transaction Isolation Levels 란 무엇인가? - 동시에 여러 트랜잭션이 처리될 때 각 트랜잭션이 얼마나 서로 고립되어 있는가를 나타내는 수준이다. - 표의 아래로 내려갈수록 고립 정도가 높아지고, 성능저하가 야기 된다. READ UNCOMMITTED (level 0)READ COMMITTEDREPEATABLE READSERIALIZABLE※ mysql innodb의 기본은  REPEATABLE READ 이다. ( The default isolation level for InnoDB is REPEATABLE READ.)ISOLATION LEVEL 확인  쿼리SELECT @@global.tx_isolation;결과  이제 각 레벨에.. 2024. 5. 2.
winston 로거 만들기 'use strict'const winston = require('winston');/*const winstonDaily = require('winston-daily-rotate-file');*/ // 데일리 로그 사용시const fs = require('fs');const path = require('path');/** * 게임 패킷 로거 * @type {gamePacketLogger} */const gamePacketLogger = class { constructor(_serverName, _seq) { // 로그 남길 서버 이름 this.servername = _serverName; // 경로 설정 this.dir = path.. 2024. 4. 30.