일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- minikube
- 공부
- kotlin querydsl
- Pinpoint
- tucker의 go 언어 프로그래밍
- 정보처리기사실기 기출문제
- aws
- docker
- 정보처리기사 실기 기출문제
- 티스토리챌린지
- Spring
- 오블완
- 코틀린 코루틴의 정석
- mysql 튜닝
- Java
- CloudWatch
- kotlin
- AI
- Linux
- kotlin coroutine
- golang
- CKA 기출문제
- go
- APM
- CKA
- AWS EKS
- Kubernetes
- Elasticsearch
- 기록으로 실력을 쌓자
- PETERICA
- Today
- Total
목록DevOps (163)
피터의 개발이야기

ㅁ 개요 ㅇ Redis 정보를 확인하기 위하여 Redis Client가 필요하였다. ㅇ 예전에는 Redis Desktop을 사용하였는데, 이 툴은 불편한 점이 있었다. ㅁ Redis Desktop의 단점 내가 사용한 Redis Desktop Manager의 버젼의 특성이닞 모르겠지만, 레디스 키를 조회할 때에 HashTable의 경우 10000개의 데이터를 한번에 불러오고 있었다. 그래서 실제로 운영의 포퍼먼스에 영향을 두었다. ㅁ Another Redis Desktop Manager 설치방법 ㅇ 이곳으로 이동하면 다음과 같은 설치 설명을 확인 할 수 있다. $ brew install --cask another-redis-desktop-manager ㅇ brew로 설치 하면 간단하게 설치할 수 있다. ㅁ..

ㅁ 개요 ㅇ Helm 차트를 이용하여 Grafana를 설치하는 과정을 정리하였다. ㅇ 로컬환경(Docker Desktop)에 구성된 kubernetes 환경에서 설치하였다. ㅁ Grafana의 Helm Repository 추가 $ helm repo add grafana https://grafana.github.io/helm-charts "grafana" has been added to your repositories ㅇ Grafana 설치를 위해 Helm Repository를 추가한다. ㅁ Grafana Helm Chart를 다운로드 $ git clone https://github.com/grafana/helm-charts.git Cloning into 'helm-charts'... remote: Enu..

ㅁ 개요 ㅇ CloudWatch 볼륨 지표상에서 Elasticsearch Data Node 볼륨의 병목현상이 발견됨. ㅇ 병목현상의 원인 분석 및 해결 과정 정리 ㅁ 병목현상 확인 ㅇ data node의 볼륨 IO가 병목이 발생하여 IO가 100% 상황 발생하였다. ㅁ 원인분석 GET /_nodes/hot_threads?pretty ㅇ 키바나의 Dev Tools를 이용하여 부하가 발생하는 스래드를 찾았다. 100.0% [cpu=71.2%, other=28.8%] (500ms out of 500ms) cpu usage by thread 'elasticsearch[elasticsearch-data-0][write][T#1]' 5/10 snapshots sharing following 30 elements j..

ㅁ 개요 ㅇ Elasticsearch(이후 ES) Data 노드에서 볼륨 유휴시간이 갑자기 떨어지고, ES 내부 로그에서 rejected exception을 확인하였다. ㅇ rejected exception을 분석하고 ES의 thread pool의 개념을 정리하였다. ㅇ 참조 사이트는 여기 ㅁ ES Data-1의 볼륨 유휴시간 지표 ㅇ CloudWatch에 Volume 지표를 모니터링 중에 ES Data-1의 유휴시간에 특이사항을 발견하였다. ㅇ 키바나에서 클러스터 상태를 확인하니 yellow 상태였다. ㅇ 기존에 ES가 Volume에 병목이 종종 발생하는 터라 ES Pod 내부의 로그를 확인하였다. ㅁ ES 에러로그 {"type": "server", "timestamp": "2022-08-29T01:0..

ㅁ 개요 ㅇ 젠킨스의 타임 존을 설정하는 방법을 정리하였다. ㅇ 사용자별 설정, JAVA Option, Jenkins Script Console으로 설정하는 방법이 있다. ㅁ 사용자별 설정 ㅇ 사람들 > 사용자 > 설정으로 이동하면 사용자별 타임존을 설정할 수 있다. ㅁ Java system property java -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Seoul ... ㅇ 젠킨스가 jvm으로 실행되기에 위와 같이 젠킨스 실행 시 jvm option을 줄 수 있다. ㅇ kubernetes 환경에서 deploy를 수정하여 jvm option을 추가하였다. ㅁ Jenkins Script Console System.setProperty('org.apache...

ㅁ 개요 ㅇ Jenkins에서 작업 Item, 작업 이력등을 백업하고 복원하는 방법을 설명한다. ㅇ Jenkins 버젼은 2.361.1이다. ㅁ Jenkins 백업의 방법들 Jenkins 백업의 방법은 간단하게 jenkins 설치 경로 내 특정 디렉토리를 백업하여 복원하는 방법과 별도의 플로그인을 설치하여 백업 및 복원하는 방법이 있다. ㅁ Jobs 디렉토리 백업 젠킨스에서 생성한 item들의 구성정보들은 {젠킨스홈경로}/jobs 디렉토리에 저장되어 있다. ㅇ 이전 (Helm으로 jenkins 설치하기) 글에 생성한 petericaProject의 구성정보가 위의 그림처럼 /var/jenkins_home/jobs/petericaProject 위치에 저장되어있다. ㅇ jobs 디렉토리를 주기적으로 백업작업을..

ㅁ 개요 ㅇ 지난 시간에 젠킨스를 세팅하였는데, Pipeline Stage View가 구성이 되어 있지 않았다. 이전 글 ㅇ 이번 글에서는 Pipeline Stage View에 대해서 정리하였다. ㅁ Plugin 검색 및 설치 ㅇ Dashboard > Jenkins 관리 > Plugin Manager 페이지로 이동한다. ㅇ 설치 가능 탭에서 Pipeline Stage View를 선택한다. ㅇ Download now and install after restart를 클릭한다 ㅁ 플러그인 설치 및 재시공 ㅇ 플러그인 설치 화면이다. ㅇ 설치 후 자동 재시작버튼을 클릭한다. ㅇ Stage View Plugin 설치 완료. ㅁ 함께 보면 좋은 사이트 Pipeline: Stage View Pipeline Stage..

ㅁ 개요 ㅇ kubernetes 환경으로 Redmine을 구성하는 과정을 정리하였다. ㅇ 중간에 예행연습으로 생성한 redmine의 볼륨의 영향으로 트러블이 발생하여 PV를 삭제한 후 재설치하여 정상 설치가 되었다. ㅁ Helm Remote Repository 연결 helm은 잘 구축된 템플릿을 원격 리파지토리를 이용하여 손쉽게 가져올 수 있다는 강점이 있다. 쿠버네티스 생태계에서 잘 짜여진 템플릿을 사용하여 원하는 환경을 빠르게 구축할 수 있다. 우선적으로 원격 저장소를 연결해야 한다. # 원격 저장소 리스트 확인 $ helm repo list Error: no repositories to show # 원격 저장소 추가 helm repo add stable https://charts.helm.sh/st..

지난 시간에는 [Elasticsearch] EFK(Elasticsearch, Fluentd, kibana)란 에 대해서 알아보면서 fluentd에서 HA 구성을 뺀 더 적은 메모리를 사용하는 경량버전인 Fluent-Bit이라고 정의하며 간략하게 마무리 하였다. 그 이후 구체적으로 minikube 환경에서 EFK를 구현하면서 fluentd와 fluentbit의 차이점에 대해서 더욱 궁금하게 되었다. 백엔드 개발자의 입장에서 이미 정제된 데이터를 예쁜 대시보드를 통해 시각화 해주는 Kibana보다, 그 이면에서 실제로 데이터를 수집하기 위한 무거운 작업을 수행하는 Fluentd와 FluentBit에 대해 더 궁금하였다. 그래서 구체적으로 Fluentd와 Fluent Bit의 차이에 대해서 정리하게 되었다. ..

ㅁ 개요 ㅇ [Elasticsearch] EFK 설치(minikube)-2 작업한 내용을 github에 올리는 과정을 정리하였다. ㅁ GIT init $ git init 힌트: Using 'master' as the name for the initial branch. This default branch name 힌트: is subject to change. To configure the initial branch name to use in all 힌트: of your new repositories, which will suppress this warning, call: 힌트: 힌트: git config --global init.defaultBranch 힌트: 힌트: Names commonly chosen..