전체 글
-
[ Datadog ] Node.js 애플리케이션 추적 (APM & APM Profiler)Today I Learned 2023. 5. 13. 11:37
APM Application Performance Monitoring 의 약자로 구동 중인 애플리케이션의 대한 성능측정과 에러탐지 등, 전반적인 애플리케이션 라이프사이클의 정보를 수집해 모니터링하는 툴이다. 보다 편리성을 위해서 다양하게 시각화한 Metrics, 그리고 API 테스트도 지원한다. 여러 애플리케이션에 설치가 가능하며 이를 한꺼번에 같은 UI 상에 보여주기 때문에 마이크로서비스 아키텍처에도 유용하게 사용될 수 있다고 합니다. 연결 조건 에이전트가 EC2에 설치된 이후 각각의 프로젝트폴더에서 진행 APM 설정하는 코드 → ~/app.js (require 최상단에 위치시키는 것을 권장) letsee@p-backend:~/ld-backend$ npm install dd-trace --save //..
-
[ MongoDB ] aws ec2(ubuntu 22.04) MongoDB에 MongoDB compass 연결하기Topic/Database 2023. 5. 5. 21:33
ec2에서 mongodb를 설치하고 mongosh을 눌렀을 때 정상적으로 접속이 가능한 상태가 전제이고 MongoDB compass를 연결해보는 작업이다. 우선 사용하고자 하는 DB로 바꿔준다. show dbs use test db.getUsers() db.createUser({ user: ‘testUser1`, pwd: ‘’password77, roles: [{role: 'readWrite', db: 'test'}]}) db에 접근할 user를 만들어주었다. 다시 한번 db.getUsers()를 통해 잘 만들어졌는지 체크한다. db.getUsers() // -> 결과 { users: [ { _id: 'test.testUser1, userId: new UUID("bdsdwfad-adad-9999-fje0..
-
[ AWS ] ec2내에서 pm2로 multi-node(다중노드) 띄워서 개별 관리 세팅하기Topic/AWS | JENKINS 2023. 4. 29. 11:14
(총 관리를 하게될) ec2 생성 ec2 접속 sudo apt-get update curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash nvm ls (comment not found 뜨면 ssh 껐다가 다시 재접속해보기) nvm install v14.16.1 nvm use v14.16.1 sudo apt-get install nginx sudo service nginx start mkdir app cd app 터미널에서 pem 키가 있는 파일로 이동 ( /project/ssh ) chmod 400 YOUR_PROJECT.pem ssh -i "YOUR_PROJECT.pem" ubuntu@ec2--*--.ap-north..
-
[ Linux ] crontab(cronjob) 시간 설정 방법Topic/Linux 2023. 4. 22. 10:50
젠킨스 프로젝트 내 구성에서 Build periodically 체크 Schedule 칸에 작성! ——————————————————————————— 0 5 * * * : 매일 5시 0분에 실행. 5 * * * * : 매시 5분이 될 때마다 실행. 즉, 한 시간 간격으로 실행. * * * * * : 1분에 한 번씩 실행. 0 5 1 * * : 매달 1일 새벽 5시에 실행. */5 * * * * : 5분마다 한 번씩 0 */5 * * * : 5시간마다 한 번씩 0 5,11 * * * : 새벽 5시와 밤 11시. 0 5,11 * * 0,3 : 매주 일요일과 수요일 새벽 5시와 밤 11시. ———————————————————————————
-
[ NodeJS ] express에서 swagger로 API 명세서 만들기Topic/Node.js | server 2023. 4. 15. 10:40
포스트맨으로 API 명세서로 활용하고 있었는데 API 서버 정보가 포스트맨 서버에 저장되는 문제가 우려돼 swagger로 자체 API 서버에 연결을 해서 해결을 해보려고 한다. npm i swagger-jsdoc swagger-ui-express —save -dev swagger-jsdoc: jsdoc 주석으로 api 문서를 표현하는 용도 swagger-ui-express: swagger와 express 연결하는 용도 project/swagger/swagger.js const swaggerUi = require("swagger-ui-express") const swaggereJsdoc = require("swagger-jsdoc") const CONFIG = require('../config/config..
-
[ AWS ] EC2 vs Lightsale 비교 (무엇이 더 효율적일까?)Topic/AWS | JENKINS 2023. 4. 1. 11:17
사내에서 관리하는 프로젝트에서 AWS에서 청구서를 보다보니 EC2와 Lightsale로 프로젝트들이 섞여 있어서 각각의 특징과 약간의 비교를 해보려한다. EC2 & Lightsale 비교 lightsale은 ec2와 다르게 인스턴스 타입을 변경하거나 상세한 보안그룹 설정이 불가능하고 IAM role이나 기타 로드밸런서 옵션이 부족하다. 하지만 lightslae은 웹호스팅에 중점을 둔 기능이기 때문에 관리자 입장에서는 몇 번의 클릭으로 빠르게 프로젝트를 만들어서 운용할 때는 EC2보다 관리 측면에서 장점이 있다. 비용적인 측면에서는 lightsale은 가격에 따라 정해진 CPU, 메모리, 디스크 용량에 따라 선택한 가격만큼 과금되는 형식이고, EC2는 사람들이 도메인의 접속하고 웹이나 DB 등에 통신이 이..
-
API 문서작성(명세서)에 관한 비교 (Swagger vs Postman vs GitBook)Topic/Node.js | server 2023. 3. 24. 16:58
Swagger 무료로 제공됨 문서 자체에서 해당 API 테스트 가능 But, API를 카테고리 별로 나누는 기능은 없음 (모든 API가 한 페이지에 나타나서 원하는 API를 찾기 쉽지 않음) Postman publish: 포스트맨 자체에서 바로 문서로 들어갈 수 있다. (따로 주석 작성 X) -> 유지 보수가 용이 Swagger에 비해 원하는 API 찾기 수월함 실제 테스트한 API 기반으로 문서 작성을 해주어 간편함 해당 API에 대한 코멘트만 따로 추가해주면 되어 시간 단축 GitBook UI가 깔끔해 프로젝트 별로 관리가 용이 파라미터와 리스폰스까지 기록하고 보기 편해 API 이해 측면에서 장점이 있음 해당 테스트를 GitBook상에서 직접 해볼 수 없다는 단점이 있음