728x90
반응형

분류 전체보기 126

Docker Container 접속하기

Docker Container로 접속하기 전 해당 pod가 어느 노드에서 기동 중인지 확인을 해야 한다. 아래 명령어로 원하는 pod가 어느 노드에 있는지 확인을 한 뒤 해당 노드로 접속을 한다. kubectl get pod {pod_name} -o wide 노드 접속 뒤 docker 명령어를 통해 원하는 container를 찾는다. sudo docker ps -a | grep {docker_container_name} 위 명령어로 검색 뒤 나온 containerID를 통해서 접속을 하면 된다. docker exec -it {containerID} /bin/bash pod에는 접속할 수 없지만 node만 접속 가능한 사람들이라면 해당 기능을 통해 container에 file이나 구성을 확인하면 좋을 것 ..

Docker 2023.07.24

kibana Alerts and Actions 기능 사용하기 - 1

Alerts and Actions이란 특정 조건에 해당되는 경우 알림 메시지를 보내는 기능이다. Management > Stack Management를 클릭하면 Alerts and Insights > Alerts and Actions라는 부분이 있다. (elastic 공식 홈페이지를 보면 kibana v7.7부터 해당 기능이 보인다. 그 이하 버전은 아예 기능이 없는 것 같다 kibana v7.5를 깔아봤는데 아예 "Alerts and Insights" 부분이 없었다.) https://www.elastic.co/guide/en/kibana/7.7/alerting-getting-started.html 하지만 해당 부분을 처음 클릭하면 아래와 같은 메시지가 떠있을 것이다. 해결 방법은 간단하다. kibana..

Kibana 2023.07.19

prometheus rate irate 차이점 비교

grafana에서 metrics을 가져올 때 rate 함수를 써야 할지 irate 함수를 써야 할지 고민이라면 아래 그래프와 설명을 보고 해당 환경에 맞게 선택하면 된다. 맨 밑에 적어놓은 설명은 한 번씩 읽어보시면 될 것 같고 간단하게 얘기하자면 아래 그래프에서 보듯이 변동성이 심한 부분은 irate 함수를 사용한 그래프고 변동성이 적은 부분은 rate 함수를 사용한 모습이다. 자세한 내용은 아래 글을 참고하시길 바란다. rate() rate(v range-vector)범위 벡터에서 시계열의 초당 평균 증가율을 계산합니다. 단조로움의 중단(예: 대상 재시작으로 인한 카운터 재설정)은 자동으로 조정됩니다. 또한 계산은 시간 범위의 끝까지 외삽하므로 누락된 스크랩 또는 스크랩 주기가 범위의 기간과 불완전하..

통합 Prometheus federate 옵션 사용 시 metrics 보관 주기

통합 Prometheus federate 옵션을 사용해서 모니터링 시스템을 구축했을 때 metrics 보관 주기를 효율적으로 설정하는 방법이 있다. 통합 Prometheus federate 옵션으로 여러 개의 Prometheus를 한 곳의 Datasource로 모아서 구현하는 방법이 궁금하다면 글을 읽고 오시기 바란다. https://babbeolicoding.tistory.com/59 통합 Prometheus federate 옵션 Prometheus가 많아질수록 Datasource도 점점 많아진다. Datasource가 많아지면 Grafana에서 metrics 조회 쿼리를 작성할 경우 조건에 따라 매번 다른 Datasource를 선택해줘야 하기 때문에 굉장히 번거롭다. 이런 babbeolicoding...

Docker root path 변경하기

docker 기본 root경로는 /var/lib/docker이다. 방법1. docker -g 옵션 or --data-root 추가 방법 sudo vi /lib/systemd/system/docker.service # 추가할 내용 ExecStart=/usr/bin/dockerd -g -H fd:// --containerd=/run/containerd/containerd.sock # 예시 ExecStart=/usr/bin/dockerd -g /docker -H fd:// --containerd=/run/containerd/containerd.sock 위 기능이 안된다면 "-g " 부분을 "--data-root="로 사용하면 된다. $ dockerd -g --help WARN[0000] the "-g / --..

Docker 2023.07.12

nginx log 경로 변경 후 오류 (13: Permission denied) while logging request

nginx에서 log를 남길 때 로그 파일이름을 $hostname-access.log / error.log의 형태로 남기고 있었다. 테스트를 위해 log 경로를 수정했는데 $hostname-access.log는 하나도 남지 않고 error.log만 잔뜩 쌓여있었다. error.log를 확인해 봤더니 아래처럼 Permission denied 에러가 발생하고 있었다. 2023/07/11 16:55:58 [crit] 68792#68792: *1 open() "/var/log/nginx/test-virtual-machine-access.log" failed (13: Permission denied) while logging request, client: {ip}, server: , request: "GET / ..

Nginx 2023.07.11

Nginx 오류 a duplicate default server for 0.0.0.0:80

아래처럼 nginx.conf server 부분을 세팅하고 nginx를 restart 했더니 다음과 같은 오류가 발생했다. nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/nginx.conf:65 server { listen 80 default_server; location = /robots.txt { alias /usr/share/nginx/html/robots.txt; } } 해결방법 아래 방법을 통해 오류를 간단하게 해결할 수 있다. cd /etc/nginx/sites-enabled unlink default service nginx restart

Nginx 2023.07.10

한 서버에 prometheus n개 설치하기

한 서버 내에 prometheus를 여러 개 설치하는 건 가능하다. 다만 prometheus의 운영 port는 기본적으로 9090인데 해당 port만 수정해 준다면 한 서버에 n개의 prometheus를 설치할 수 있다. prometheus가 이미 설치되어 있는 경우 이미 사용하던 내용을 그대로 복사해서 n번째 prometheus를 만들어 낼 수 있는데 간편하게 만들기 위해 스크립트를 짰다. 아래 스크립트를 이용해서 prometheus2로 서비스를 바로 만들 수 있다. (물론 폴더 이름이나 port이름은 원하는대로 바꿀 수 있다) sudo mkdir -p /etc/prometheus2 sudo mkdir -p /var/lib/prometheus2 sudo cp /usr/local/bin/prometheu..

통합 Prometheus federate 옵션

Prometheus가 많아질수록 Datasource도 점점 많아진다. Datasource가 많아지면 Grafana에서 metrics 조회 쿼리를 작성할 경우 조건에 따라 매번 다른 Datasource를 선택해줘야 하기 때문에 굉장히 번거롭다. 이런 불편함을 해소하기 위한 방법으론 여러 child prometheus의 datasource를 parents prometheus datasource가 스크랩을 하면 parents datasource에서 모든 child의 datasource를 사용할 수 있다. (명칭이 맞는지 모르겠으나 간편하게 표시하기 위해 chid, parent라는 표현을 쓰도록 하겠다) 그림을 통해 보면 child, parents 구성은 아래와 같다. 물론 같은 서버에서 prometheus를 ..

Hyper-v 사용자 로그인 후 멈춤 현상

hyper-v에 우분투를 깔고 superputty를 통해 해당 서버를 사용하고 있었다. (우분트를 GUI모드로 설치하고 사용하고 있었다) 하지만 어느 날 컴퓨터가 업데이트된 후 재부팅이 되어 hyper-v 서버 ip가 변경되었다. 평소처럼 우분투를 접속해서 ip를 확인하려고 했지만 사용자 로그인 후 멈추는 현상이 발생했다. 이런 경우 꼭 GUI 모드를 사용할 필요가 없다면 CLI 모드로 전환하면 재부팅 후 변경된 IP 확인이 가능하다. hyper-v에서 우분트로 로그인 화면에서 ctrl+alt+F2로 누르면 CLI 모드로 전환이 가능하다. 그 이후 id와 pw를 입력하면 로그인이 되고 사용이 가능하다.

Linux 2023.07.03
728x90
반응형