기록 저장소

개인 블로그입니다. 내용에 잘못된 부분은 정정 요청하시면 반영하겠습니다.

golang profiler 사용

http prof 를 이용해 프로파일 한다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import ( "net/http" _ "net/http/pprof" ) func main() { go func() { log.Println(http.ListenAndServe("0.0.0.0:6060", nil)) }() ... do somthing ... } cpu profile (30초동안 데이터를 모은다) 1 go tool pprof http://xxxx:6060/debug/pprof/profile heap memory (현재 메모리 정보를 반환한다) 1 go tool pprof http://xxxx:6060/debug/pprof/heap heap 을 실행하면 아래와 같이 command line (pprof)가 나오는데 프로파일 명령을 넣으면 된다....

March 28, 2022 · 1 min · 페이퍼

kubernetes cert-manager

kubernetes 에서 ingress 상에서 https를 서비스하는데 지원을 해주는 좋은.. 모듈 cert manager 설치 (1) 참고 https://cert-manager.io/docs/installation/kubernetes/ 1 2 kubectl create namespace cert-manager kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.13.1/cert-manager.yaml cert manager 설치 (with helm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $ kubectl apply --validate=false -f https://raw.githubusercontent.com/jetstack/cert-manager/v0.13.1/deploy/manifests/00-crds.yaml $ kubectl create namespace cert-manager $ helm repo add jetstack https://charts.jetstack.io $ helm repo update # Helm v3+ $ helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version v0....

May 13, 2020 · 4 min · 페이퍼

kubernetes glusterfs 연동

glusterfs-kubernetes 설치 시도 중 gluster-kubernetes/deploy/gk-deploy 파일을 열어서 아래 라인을 고쳐야 한다 (kubectl에 없어진 인자값을 쓴다) 1 2 3 # deprecated "--show-all" parameter #heketi_pod=$(${CLI} get pod --no-headers --show-all --selector="heketi" | awk '{print $1}') heketi_pod=$(${CLI} get pod --no-headers --selector="heketi" | awk '{print $1}') 1 2 3 4 5 6 7 8 9 # daemonset을 설치하기 위해 # 노드별로 아래 경로를 비워야함 rm -rf /var/lib/misc/glusterfsd /var/lib/glusterd /var/log/glusterfs /etc/glusterfs /var/lib/heketi #uninstall ....

May 13, 2020 · 4 min · 페이퍼

kubernetes ingress - 특정 url로 proxy 걸기

외부로 ingress를 노출하고 처리하는 서버가 kubernetes 내에 service가 아니라 다른 별도의 서버일 경우에 아래와 같이 proxy_pass를 지정한다. (사실 응용하면 nginx 기능들이 지원하는건 다 될것 같다.) 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 kind: Ingress apiVersion: extensions/v1beta1 metadata: name: gitlab.test.com namespace: nginx-ingress annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-connect-timeout: '3600' nginx....

May 13, 2020 · 1 min · 페이퍼

ssh key를 이용한 로그인

macOS 에서 ssh key를 지정하여 서버로 비밀번호 타이핑 없이 바로 로그인 하게 하자 평소엔 보안때문에 안해놓는다. macOS - 키 생성 1 ssh-keygen -t rsa -C "name" - public key를 조회 1 cat ~/.ssh/id_rsa.pub 대상 Server (CentOS) - public key를 ~/.ssh/authorized_keys 파일에 추가 1 vi ~/.ssh/authorized_keys

August 11, 2016 · 1 min · 페이퍼

redis data type 종류

Redis Data Type 요약 인터넷상에 수많은 좋은 자료가 있음에도 공부 차원에서 정리를 한다 테스트는 redis-cli를 이용해서 하지만 실제 사용은 언어에 맞는 api library를 사용 할듯 개요 http://redis.io/topics/data-types-intro 예제 http://redis.io/topics/data-types Strings value에 문자 숫자 등을 저장한다 저장시 별도로 형이 없다 (숫자 문자 구분이 없음) 숫자도 저장가능 하다 그리고 숫자에 incr, incrby, decr, decrby 같은 atomic counter 연산이 가능 incrby, decrby 는 특정 수를 더하거나 뺄때 사용 incrby "test_strings" 10 처럼 사용 1 2 3 4 5 6 7 8 9 10 # redis-cli 127....

July 27, 2016 · 3 min · 페이퍼

maven에서 gradle로 변환...

gradle설치 (for macOS) 1 brew install gradle 원래 수동으로 설치하는 방법이 있으나.. 나는 위와 같이 자동 설치를 좋아한다 대부분 그렇지 않을까~ 수동 설치는 사이트에서 참고하자 https://gradle.org/gradle-download/ pom.xml -> build.gradle로 변환 1 2 # 프로젝트 폴더 (pom.xml이 있는곳) 으로 이동 gradle init --type pom 위와 같이 하면 project name 및 dependencies 등이 gralde용 build script로 변환이 되고 프로젝트가 gradle를 사용가능하도록 설정된다 intelliJ IDEA에서 기존 maven으로 구성된 프로젝트라면 module을 새로 import해야 한다 (그래야 툴에서 인식이 되는듯 하다)...

July 14, 2016 · 3 min · 페이퍼

fluentd로 로그를 모으기

예전에 flume로 에러 로그들을 모으고 있었는데 fluentd로 갈아타려고 한다. 사실 모으는 목적이 아니라 모니터링이 목적 설치 아래 사이트에 나오는 command만 실행해주면 chkconfig 등록까지 다 해준다. 참고 공식 사이트 http://docs.fluentd.org/articles/install-by-rpm#step-0-before-installation 구성은 flume와 비슷한것 같다 client -> server 구성으로 해놓고 client에서 수집된 로그를 server로 전달. 아래 커맨드 실행 1 curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh 서비스 구동 1 service td-agent start 당연히 service td-agent stop 가 중지다...

June 22, 2016 · 2 min · 페이퍼

restful api 서버에서 평균 응답시간, 호출횟수, Min, Max 구하기

app에서 데이타 통신을하는 api서버가 있다 각 인터페이스별 평균 응답시간을 아파치 로그를 활용하여 구해봤다 서버는 apache+tomcat, spring으로 구현한 서버이다 hadoop과 spark, python 설정은 Python and Spark로 로그 파일 분석 (with hadoop) 을 참고 하자 1. 아파치 TransferLog 로그파일에 응답 시간 남기기 우선 분석하기 전에 아파치 로그에 응답 시간을 추가로 기록하도록 하자 /etc/httpd/conf.d/ssl.conf 경로에서 아래를 편집했다. 물론. 설정 파일이 있는 경로와 이름은 서버마다 틀릴 수 있다 1 2 3 4 5 6 <VirtualHost _default_:443> ....

June 8, 2016 · 2 min · 페이퍼

Python and Spark로 로그 파일 분석 (with hadoop)

Spark를 이용한 파일 분석 spark도 잘 모르고 hadoop도 잘 모르는 상태에서 진행해서 틀린 부분이 있을 것이다. 참고로 OSX에서 진행된 작업이다. 설정 1. Hadoop를 설치 하고 실행한다 2. hdfs상에 파일을 올린다. 1 2 cd /logs hdfs dfs -put test.log /input/ 아래와 같이 파일 브라우징이 가능하다 아래에서 올라간 파일을 확인! http://localhost:50070/explorer.html#/input 3. spark의 python 커맨드 테스트.. $SPARK_HOME/bin/pyspark 하둡을 켜고 pyspark를 실행하면 아래와 같이 나온다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Python 2....

May 30, 2016 · 4 min · 페이퍼