본문 바로가기

분류 전체보기

(86)
백준 6549번 히스토그램에서 가장 큰 직사각형 https://www.acmicpc.net/problem/6549 아이디어:1. 오름차순을 유지하는 모노톤 스택2. 스택에는 pair 저장3. 결과는 long long형으로 저장 (중간에 int에서 long long으로 변환하거나 stack에 pair 저장)4. 스택에서 pop()할 때마다 top()으로 만들 수 있는 직사각형의 넓이 계산(i - S.top().second) * S.top().first(현재 사각형 위치) - (S.top() 사각형의 최초 등장 위치)5. 마지막에 스택을 비우면서 남은 스택 요소들로 만들 수 있는 직사각형의 넓이 계산(n - S.top().second) * S.top().first(마지막 위치) - (S.top() 사각형의 최초 등장 위치) S.top()은 항상 스택 내 ..
백준 3015번 오아시스 재결합 https://www.acmicpc.net/problem/3015 아이디어:1. 스택의 내림차순 유지2. 같은 키에 대한 처리가 핵심3. 스택에 들어가는 값은 { tmp, cnt } 로 cnt는 "스택 내에서 같은 키를 가진 사람 수"4. 같은 키 n명에 대해 등차수열의 합 n*(n+1)/2 생각해보면 정답 변수 ans는 int형이 아닌 long long형으로 정의해야한다. 추가 예제:7 2 4 1 2 2 5 1 (정답: 10)5 5 5 2 2 5 (정답: 8) 스택에 내림차순 적용하는 방식은 똑같다.cnt는 기본 1이다.내림차순 유지를 위해 pop()을 할 때, (tmp 정답 ans에 top()의 cnt (키 같은 사람 수)를 더해준다.만약 새로 들어온 수와 top()의 키가 같다면 cnt는 그만큼 더..
PicOS OvS sFlow Prometheus 연동 - sFlow-RT, 연동 과정, Prometheus 설정 Prometheus 설정하는 방법이 한국어 자료가 없고 내용이 부실해서 여기에 별도로 정리함. 구조: OvS sFlow → sFlow-RT → Prometheus OvS sFlow 설정 방법:Web GUI로 설정하나 CLI로 설정하나 결과는 동일하다.Polling: Counter Sample의 Polling Interval 주기 (Default: 128)Header: 이전 글의 Flow Sample의 Raw packet header로 취할 바이트 (Default: 128)Agent: 샘플링 데이터를 Collector에게 보낼 Interface 이름Sampling: 샘플링 레이트 (Default: 128)Targets: Collector 위치 IP, Port sFlow-RT: sFlow Collector ..
PicOS OvS sFlow Prometheus 연동 - 문제 정의, sFlow 이론 PicOS 측에 문의한 결과NetFlow - 하드웨어 문제로 사용 불가능IPFIX - 더이상 사용하지 않음(가장 최신 메뉴얼엔 마치 지원하는 것처럼 적혀있음Configuring IPFIX - PICOS-4.4.5_Configuration_Guide - PICOS Documentation)유일하게 플로우 모니터링할 수 있는 기술이 sFlow인데, sFlow에 대한 자료 찾기가 어렵고 한국어로 된 자료도 많이 없으며 공식 툴인 sFlow-RT는 오픈소스가 아니라 문제를 해결하기 어렵다. 문제:1. PicOS 스위치에서 sFlow 밖에 지원하지않아 sFlow로 정확한 플로우 모니터링을 구성해야한다.2. sflowtool로 sFlow → NetFlow 전환을 시도해봤지만 부정확한 결과 도출3. sFlow → s..
OvS NetFlow Prometheus 연동 목표는 SrcIP, DstIP, SrcPort, DstPort, ProtocolNumber로 플로우를 구분짓고 사용 Bytes를 오차 3%이내로 추정하는 것. 구조: 편의를 위해서 서버 한대만 구성한다고 가정할 때OpenvSwitch Netflow → Netflow Exporter → Prometheus 뷰: ONOS는 SDN Controller로 사용한다. 1. OvS에서 NetFlow 구성2. NetFlow Exporter 설치3. Prometheus 설정4. 테스트 및 결과 확인 1. OvS에서 NetFlow 구성: NetFlow 추가만 해주면 끝active-timeout 은 흐름 유지라고 생각하는게 편하다.# OvS Bridge에 NetFlow 추가sudo ovs-vsctl set Bridge b..