[Prometheus + Grafana] k8s + k3s 멀티 클러스터 모니터링 구축
·
성능 모니터링
Prometheus + Grafana로 k8s 멀티 클러스터 모니터링 구축하기📝 사내에 k8s 클러스터랑 k3s 클러스터가 있는데, 모니터링을 제대로 해본 적이 없었다. 그냥 서버 살아있나 확인하는 정도. 이번에 Prometheus랑 Grafana로 제대로 한번 해보기로 했다. 결론부터 말하면 생각보다 삽질을 많이 했다. 방화벽이랑 CNI 문제가 겹치면서 꽤 오래 헤맸다.🖥️ 환경서버IP역할k8s 마스터192.168.0.110컨트롤 플레인k8s 워커192.168.0.57Prometheus, Grafanak3s192.168.0.48별도 경량 클러스터1. 네임스페이스 생성모니터링 관련 리소스는 monitoring 네임스페이스로 묶었다.kubectl create namespace monitoring2. P..
[Grafana] FastAPI Proxy를 이용한 데이터 연동 (docker 로 구축)
·
성능 모니터링/Grafana & Prometheus
현재 내가 사용하는 시스템성능 모니터링 솔루션의 수집 데이터를 Grafana 로 시각화하기 위해 Proxy API를 구축하여 중간 브릿지 역할을 하도록 구성했다. [ Data Flow ]Client (Grafana) → Proxy API (FastAPI) → onTuneV5 API그래서 왜 Proxy API 를 통해서 Grafana 와 연동을 진행한 이유를 더 자세하게 덧붙이자면....해당 솔루션의 API 를 Grafana 가 직접 호출하기에는 좀 제약이 있었다. 1. 토큰 인증 구조 -> 솔루션 API 는 별도의 ID 와 PW 를 통한 Token 발급 프로세스가 필요했다. 2. 토큰 만료-> 발급된 Token 의 유효 기간이 1시간이기 때문에, 만료시마다 수동 갱신이 어려웠다.그래서 Token 자동 갱..
[PostgreSQL] Windows 환경에서 PostgreSQL 서비스가 ‘백그라운드로 뜨는 것처럼 보이는’ 이유
·
DB_postgreSQL
Windows 환경에서 PostgreSQL 서비스가 ‘백그라운드로 뜨는 것처럼 보이는’ 이유– pg_ctl runservice, SCM 타임아웃, 그리고 느린 OS 부팅의 상관관계1. 문제 현상onTune V4 (Windows Server 환경)에서 다음과 같은 현상이 발생했다.서버 재부팅 후services.msc 에서 onTune_DB 서비스는 정상적으로 올라오지 않았는데Task Manager 에는 postgres.exe 프로세스만 다수 실행 중서비스 Stop 버튼은 동작하지 않음결국 수동으로 다음 명령을 실행해야만 DB 종료 가능 pg_ctl stop -D "DATA_DIR" 겉으로 보면 마치“PostgreSQL이 pg_ctl 없이 백그라운드로 혼자 올라온 것처럼”보이는 상황이다.2. 결론부터 말하면..
[Network] SNMP 란? + 구축 테스트
·
OS_Network
SNMP는 Simple Network Management Protocol의 약자로,네트워크 장비나 서버의 상태를 원격에서 모니터링하거나 관리할 때 사용하는 프로토콜임.(스위치, 라우터, 방화벽 어플라이언스 장비에 구축해서 리소스 사용량, 메모리, 트래픽I/O 등 모니터링 가능함)알람도 가능한데,알람에서 두 기능으로 나뉨.SNMP Trap / SNMP Polling Trap 은 단어 그대로 싸그리 트랩해서 알람 받는 거임 (단방향 통신, 즉 클라이언트쪽에서 일방적으로 SNMP 서버로 알림을 보냄)한번에 보내는 게 아니라 이벤트?가 발생할 때마다 관리콘솔(Manager)에게 송신한다.Poll 은 SNMP Client 와 Master 가 양방향 통신 하는 건데, 즉 Master 가 Client 한테 '뭐 없냐..
[VMware] "Virtualized Intel VT-x/EPT is not supported on this platform" 오류 해결법 (VMware Workstation에서 ESXi 설치 시)
·
Vir_VMware
VMware Workstation pro 에 ESXi 설치하려다가Virtualized Intel VT-x/EPT is not supported on this platform오류 뜨는 경우 있음.해당 에러는 대부분 Nested Virtualization 설정 문제거나 Hyper-V(Window 하이퍼바지어)랑 충돌 때문임. 몇가지 원인들,Hyper-V 활성화됨→ Windows에서 Hyper-V가 켜져 있으면 VMware에서 Nested Virtualization이 막힘VT-x / EPT 꺼져 있음→ BIOS 또는 CPU 설정에서 비활성화된 경우보통 중첩가상화 기능 켜는 걸로 해결됨~1) workstation 에서 ,ESXi VM 설정 → CPU 항목Enable Virtualized Intel VT-x/EP..
[VMware] ESXi 8.0 설치 (workstation pro 설치)
·
Vir_VMware
0. VMware workstation pro 설치1. ESXi iso 이미지 올려서 설치 진행 대충 찍어놓은 스크린샷을 보면 alert 창이 나타나면서 시키는 대로 or 원하는 대로 설정을 해주면 된다.어려운 것은 없다.마지막에 reboot 을 시켜준 뒤에 정상적으로 부팅이 되면 설치가 진행된 거다.정말 어려운 것은 없다. reboot 이 완료되면 F11 을 눌러서 DHCP 로 설정된 네트웤을 수정해준다.-> Static 으로 설정하라는 말.IPv4 address 에는 각자의 라우팅 현황에 맞는 게이트웨이를 통해 통신할 IP를 설정해주면 된다.subnet mask 는... 이진법으로 나타내는 건데... 잘 모른다. 255.255.255.0 이면 2^8-1/2^8-1/2^8-1/0 인데, 마지막 자리가 ..
Xen Storage 추가 (ISO 스토리지 추가)
·
Vir_Xen
1. 디렉토리 생성#mkdir -p /ISO_Store 2. 파일시스템 마운트#mount /dev/sda1 /ISO_Store 3. 부팅 시 자동으로 마운트 되도록 설정#echo '/dev/sda1 /ISO_Store ext4 defaults 0 0' >> /etc/fstab 4. 마운트 된 거 확인해보니 / 파일시스템에 마운트 해놓음…. 이상황이면 부트 안됨[root@xenserver8jwc ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsr0 ..
[Linux] Local Repository 사용 및 환경 구축
·
OS_Linux&Unix
Local repositoryLocal repository 란?보통 repository란 인터넷을 통해서 접근할 수 있는 저장소를 뜻한다Local repository는 폐쇄망. 즉, 로컬 환경(폐쇄망)에서만 접근이 가능한 저장소를 뜻한다1. scp를 사용하여 iso 파일을 외부 서버에서 내부 서버로 가져 온다 2. iso 파일을 지정된 디렉토리에 mount 한다3. 정상적으로 마운트 된 것을 확인 한다. 5. /etc/yum.repo.d/local.repo 파일에 레포지토리 설정name : 레포지토리의 이름 baseurl : 레포지토리의 경로gpgcheck : GPG(GUN Privacy Guard) 키가 들어있는 저장소의 URL을 적는다.GPG 키는 rpm 패키지를 인증하는데 사용하는 암호화 서명..
[PostgreSQL] PostgreSQL에서 MVCC와 VACUUM의 역할과 작동 방식
·
DB_postgreSQL
MVCC (Multi-Version Concurrency Control)MVCC란?PostgreSQL의 MVCC는 여러 사용자가 동시에 데이터베이스를 읽고 쓰는 작업을 할 수 있도록 하여, 동시성을 보장하는 방식이다. MVCC는 트랜잭션이 데이터에 접근할 때마다 데이터의 여러 버전을 관리하여 데이터의 일관성과 정합성을 유지한다.작동 방식모든 데이터는 "버전 정보"를 가진다.각 데이터 Row에는 시스템 컬럼 xmin과 xmax가 존재xmin: Row를 생성한 트랜잭션 IDxmax: Row를 삭제하거나 수정한 트랜잭션 ID 데이터를 읽을 때 (SELECT)트랜잭션은 자신이 시작된 시점을 기준으로 유효한 Row만을 읽는다.예를 들어, 트랜잭션 T1이 SELECT를 수행하면, T1은 자신이 시작된 시점에서 유효..
[PostgreSQL] DBexpress 파일(.dll) 의 사용 용도
·
DB_postgreSQL
[DBexpress 란?]델파이(Delphi)나 C++Builder 같은 개발툴에서 사용하는 데이터베이스 액세스 컴포넌트프로그램과 데이터베이스를 통신(연결)하는 역할애플리케이션에서 DB로 접속 잘 하게 해주는 거임⇒ 특정 DBMS (Oracle, MySQL, MSSQL 등)마다 드라이버 따로 제공⇒ 단방향 데이터 처리 이기에 메모리 부담이 적음 (읽기 전용처럼 한방향 흐름) - 그래서 음청 빠름⇒ 단점은 복잡한 데이터 조작(예: 레코드 편집/삽입 등)할 땐 별도 작업이 좀 필요함즉, Delphi/C++Builder 앱에서 PostgreSQL 에 붙을 때, 빠르게 간단히 연결해주는 경량 클라이언트 드라이버 세트근데 왜 PG 라이브러리에는 없을까?DBexpress 드라이버는 애플리케이션(프로그램) 개발 쪽에..
RHEL - root 암호 복구(재설정) 방법
·
OS_Linux&Unix
rhel 9 에서 root 암호 복구(재설정) 방법시스템 부팅하고 GRUB 부팅 화면에서 ‘ e ‘ 키보드를 클릭하여 편집하기Linux 로 시작하는 단어 문장 끝에 ‘ rd.break ‘ 추가ctrl + x 눌러서 시스템 부팅 4. mount -o remount,rw /sysroot파일 시스템을 쓰기 가능으로 다시 마운트 5. chroot /sysroot파일 시스템의 root 를 변경 6. passwdpasswd 명령을 입력하고 CLI 나오면 패스워드 초기화 시작7. touch / .autorelabel다음 시스템 부팅의 모든 파일의 레이블을 다시 지정8. mount -o remount,ro파일 시스템을 읽기 전용 으로 다시 마운트9. exitexit 로 chroot 나오기 + 한번 더 exit 하여 ..
Logical Volume Manager ? (LVM 구성 순서)
·
OS_Linux&Unix
[LV]Logical Volume 단어 그대로, 논리볼륨 [LVM] Logical Volume Manager - 리눅스에서 디스크 관리를 유연하고 효율적으로 수행하기 위한 Kernel 의 한 부분- Physical Disk 를 Logical Volume 으로 추상화하여 스토리지 관리의 유연성을 제공 (기존의 고정된 파티션 방식 보다) 주요 구성 요소1. Pychical Volume (PV) - Physical Disk 나 파티션을 LVM 에서 사용할 수 있도록 초기화한 단위. ex) /dev/sda1 , /dev/sdb1 2. Volume Group (VG) - 여러 PV 를 묶어 하나의 Logical Storage Pool 로 만든 그룹- Logical Volume 을 생성할 수 있는 베이스3. Lo..
[PostgreSQL] 특정 테이블, 특정 컬럼 조회
·
DB_postgreSQL
select column_name from information_schema.columns where table_name = 'agentinfo' and column_name like '%install%'; column_name-------------- _installdate(1개 행) information_schema.columns- 데이터베이스의 모든 테이블과 컬럼에 대한 메타데이터를 포함하는 표준 뷰
Apache HTTP Server 소스코드 설치(make, make install)
·
Middleware_Apache & Tomcat
https://httpd.apache.org/download.cgiApache http server 소스코드 다운로드 0. 리눅스 및 유닉스 서버 업로드 및 tar.gz 파일 압축해제1. 소스 트리 구성모두 기본 옵션을 사용하여 소스 트리를 구성하려면 간단히 ./configure를 입력하면된다.가장 중요한 옵션은 아파치가 정상적으로 작동하기위해 아파치를 구성하고 설치할 장소인 --prefix다. PREFIX는 서버가 설치될 파일시스템 경로로 대체해야 한다. PREFIX를 지정하지 않으면 기본값으로 /usr/local/apache2를 사용한다.$ ./configure --prefix=/app/httpserver/checking for chosen layout... Apachechecking for wo..
[Docker] 도커 설치 따라하기
·
DevOps_Docker
Docker는 솔로몬 하이크 라는 리눅스 개발자? 가 리눅스 컨테이너의 미래The Future of Linux Container라는 제목을 가진 이 발표에서 직접 docker 이미지와 커맨드를 이용해서 Hello World 를 출력하는 시현을 보여줌으로써 시작된다.https://www.youtube.com/watch?time_continue=321&v=wW9CAH9nSLs&embeds_referring_euri=https%3A%2F%2Fwww.44bits.io%2Fko%2Fpost%2Fis-docker-container-a-virtual-machine-or-a-process&source_ve_path=MzY4NDIsMzY4NDIsMjg2NjY.\..설치 버전# docker --versionDocker v..
최선을 다하자!
기록