본문 바로가기

전체 글58

실시간 데이터 수집-5 (Filebeat 설치) 환율 데이터를 API로 받아보니 json array 형태로 되어있어서 kafka로 직접적으로 넣기가 힘들었다. filestream connector를 사용하면 json array를 하나하나 풀어서 파일에 write 한 후 읽어갈 수 있지만 실제 운영환경에서는 사용을 권하지 않는다고 공식문서에 적혀있었다. 그렇다면 log 파일 형태로 관리했을때 어떻게 kafka로 수집할 수 있을지 찾아보다 ELK stack에서 자주 사용되는 filebeat를 사용하기로 결정했다. connector의 역할을 충분히 대체할 수 있고 제한적인 환경에서 logstash보다 적은 리소스를 차지한다. 환율 log 파일 생성 현재 환율 api를 통해 가져오는 데이터가 json형태의 데이터가 여러개 들어있는 array 형태이기 때문에 .. 2024. 3. 10.
4. 프로그래밍 언어 IPv4 vs IPv6 IPv4 IPv6 주소 길이 32 bit 128 bit 표시 방법 8비트씩 4부분 10진수 표시 (203.252.53.55) 16비트 8부분 16진수로 표시 (2002:0221:ABCD:DCBA:0000:0000:FFFF:4002) 주소 개수 약 43억개 2^128개 (약 48억x48억x48억x48억) 주소할당 방식 A,B,C,D 등의 클래스 단위 비순차 할당 네트워크 규모, 단말기수에 따라 순차할당 브로트캐스트 주소 있음 없음(대신 로컬범위 내에서 모든 노드에 대한 멀티캐스트 주소사용) 헤더 크기 가변 고정 QoS 제공 미흡 제공 보안 IPSec 프로토콜 별도 설치 IPSec 자체지원 서비스 품질 제한적 품질 보장 (Type of Service에 의한 서비스 품질 일부 지원) 확.. 2024. 3. 3.
5.소프트웨어 개발 정렬 선택정렬 queue를 이용하여 정렬 최솟값을 찾아서 해당 값과 위치 교체 버블정렬 인접한 데이터를 비교하면서 데이터의 위치를 바꾸어 정렬하는 방법 첫번째 자료부터 비교하며 여러번의 교체가 발생 한번의 Pass 내에서 다수의 교체 발생 삽입정렬 두 번째 자료부터 시작하여 그 앞 (왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬 합병정렬 하나의 리스트를 두개의 균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법 소프트웨어 비용 산정 기법 COCOMO : 시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식 중 하나.. 2024. 2. 29.
실시간 데이터 수집-4 (Grafana 설치 및 Prometheus 연동) 수집한 데이터를 편하게 모니터링 할 수 있는 grafana를 설치한다. grafana는 다양한 템플릿을 사용할 수 있어 대시보드를 쉽게 생성 할 수 있는 장점이 있다. Grafana 설치 ubuntu에서 grafana 설치 $ sudo apt-get install -y apt-transport-https software-properties-common wget $ sudo mkdir -p /etc/apt/keyrings/ $ wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null $ echo "deb [signed-by=/etc/apt/keyrings/gra.. 2024. 2. 25.
실시간 데이터 수집-3 (Prometheus 설치) 실시간 metric 데이터를 수집 / 저장할 공간인 Prometheus를 설치한다. Prometheus Architecture Exporters : 감시 에이전트로 모니터링 대상에서 Metric을 수집하여 Prometheus가 읽을 수 있는 형태로 변환한다. TSDB : 시계열 데이터를 저장하는 저장소 Service discovery 모니터링되는 정보를 자동으로 받아오는 구조 클라우드 플랫폼 또는 특정 소프트웨어 등의 해당 API를 주기적으로 호출하여, 거기에 등록된 인스턴스 정보를 수집한다. Alertmanager prometheus에서 설정한 Rule에 위배되는 이벤트를 전송받아 정해진 곳으로 전송한다. PromQL Prometheus Query Language의 약자 시계열 데이터와 매치되는 형태로.. 2024. 2. 20.
1. 소프트웨어 설계 CASE (Computer-Aided Software Engineering) 도구 시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업랴을 줄이도록 하는 것 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션이 증대 된다. 제공요소 차트와 다이어그램을 자동으로 생성하는 그래픽 기능, 화명과 리포트 생성기, 데이터 사전, 분석과 검사도구, 코드 생성기, 문서 생성기 등등 주요기능 소프트웨어 생명주기(Software Lifecycle) 전 단계의 연결 그래픽 지원 다양한 소프트 웨어 개발 모형 지원 GoF (Gang of Four) 디자인 패턴 생성패턴 추상팩토리(Abstract Factory) : 서로 연관된 객체들을 그룹으로 생성하여 추상적으로 표현 빌더(Bui.. 2024. 2. 18.