본문 바로가기
  • A space that records me :)

분류 전체보기76

[PostgreSQL] PostgreSQL 설치 및 외부접속 허용 (Centos7) 환경 Linux, Centos7 PostgreSQL v.13 1. PostgreSQL 설치 DB 설치 $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm $ sudo yum install -y postgresql13-server DB 초기화 (기본 DB 생성) $ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb 서비스 등록 및 실행 $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13 DB user 및 schema 생.. 2021. 10. 31.
[PostgreSQL] Pgpool-II + Watchdog setting [2021.10.29] PostgreSQL 데이터베이스 서버 2대를 구성하던 중, PostgreSQL만으로는 자동 아카이빙 복제는 되지만 자동 failover는 되지 않는다는 것을 알게되었다. Auto Failovr 를 위해 알아보던 중 대표적인 Pgpool-II을 알게되었고, 이 툴이 PostgreSQL의 커넥션 풀 관리도 해준다는 것을 알게되었다. failback도 자동으로 지원해주는 것 같지만, 데이터베이스 서버 커넥션을 얻어오지 못한다는 것은, 현재 그 서버에 어떤 문제가 있다는 것이고 사람의 직접적인 분석이 필요하므로 failback은 자동으로 구성하지 않았다. 대신 recovery -> start -> pgpool attach node 단계별로 제공하는 스크립트를 만들었다. 시행착오가 정말 많.. 2021. 10. 29.
[PotgreSQL] PostgreSQL 이중화 (HA) 2021.10.29 고객 데이터베이스가 PostgreSQL을 사용. 새로운 프로젝트 구축할 때 PostgreSQL을 사용할 예정. 이중화, failover 구축 예정 환경 Linux, Centos 7 PostgreSQL v.14 PostgreSQL 특징 직접적으로 커넥션 풀을 관리하지 못한다. PgBouncer라는 것을 통해서 DB를 접속하게 하고, 그 사이에서 커넥션 풀을 관리한다. https://www.pgbouncer.org/ https://medium.com/deliverytechkorea/%EB%84%88%EC%9D%98-%EB%82%98%EC%9D%98-%EC%97%B0%EA%B2%B0%EA%B3%A0%EB%A6%AC-db-connection-pooler-pgbouncer-e43ec536a08.. 2021. 10. 29.
[Spring security] 인증 및 권한 체크 2021.10.23 - [IT 기술/권한 인증&인가] - [Spring Security] Authentication 라이브러리 구현 [Spring Security] Authentication 라이브러리 구현 프로젝트마다 로그인/회원가입/권한인증 등 기능을 매번 구현하기 힘들다. 그래서 직접 프로젝트마다 적용시킬 Authentication 라이브러리를 개발하였다. Authentication 라이브러리는 인증 및 권한 관 yjkim97.tistory.com 8. AuthorizationChecker.java ignore, permitAll처리 되지 않은 모든 url 요청이 들어오면 AuthorizationChecker를 통해 메뉴 또는 api에 대한 권한 체크를 한다. 해당 url이 메뉴이면 권한그룹 Aut.. 2021. 10. 24.
[Spring Security] 로그인 기능 구현 2021.10.23 - [IT 기술/권한 인증&인가] - [Spring Security] Authentication 라이브러리 구현 [Spring Security] Authentication 라이브러리 구현 프로젝트마다 로그인/회원가입/권한인증 등 기능을 매번 구현하기 힘들다. 그래서 직접 프로젝트마다 적용시킬 Authentication 라이브러리를 개발하였다. Authentication 라이브러리는 인증 및 권한 관 yjkim97.tistory.com 6. 로그인 기능 구현 spring-security의 DaoAuthenticationProvider를 커스텀하였다. (CustomAuthenticationProvider) CustomAuthenticationProvider에서는 DB에서 사용자 정보를 가.. 2021. 10. 24.
[Spring security] Authentication 라이브러리 구현 보통 웹 서비스에서는 로그인과 권한인증 등의 기능은 필수이며 구현해야하는 기본중의 기본적인 서비스이다. 물론 내부에서만 사용하는 서비스인 경우 필요 없는 기능인 경우가 존재하지만, 대부분 시스템에서 필요한 기능이며, 개발을 할 때마다 새로 구현하고,, 여기저기서 구현했던 로직을 짜집기하고,, 이런 방식으로 진행해 왔다. 각 프로젝트마다 같은 기능을 구현하는 것인 데 이것을 사내 모듈로 만들어 사용하면 조금 더 개발시간을 단축하고, 파생되는 버그를 줄일 수 있지 않을까?라는 의견이 나와 사내 Authentication 라이브러리를 내가 직접 구현하게 되었다. Authentication 라이브러리는 인증 및 권한 관련 기능을 제공하며, 각 프로젝트마다 원하는 기능을 세팅할 수 있도록 구현했다. 사내 라이브러.. 2021. 10. 23.
프로메테우스(Prometheus) Exporter - 모니터링 에이전트 .Net Framework에서 내가 원하는 메트릭을 커스텀할 수 있는 에이전트가 존재하는지 알아보면서 알게된 Exporter들을 정리하였다. 결국 이 모니터링 에이전트들도 개인이 개발한 오폰 에이전트였다. 다양한 언어로 만들어 져 있던데.. 나도 만들어 볼까..? Exporter 란? 프로메테우스의 Exporter는 실제로 메트릭 정보를 수집하는 모니터링 에이전트로, 대상 시스템에서 메트릭을 수집하고 HTTP 엔드포인트(default : /metrics)에 노출시키 고 소프트웨어(에이전트)이다. exporter는 open source로 공개된 것도 있고, 직접 custom해서 구현할 수 도 있다. 대표적인 Exporter 종류 node-exporter mysql-exporter wmi-exporter (.. 2021. 7. 17.
프로메테우스(Prometheus) 설치 및 사용 설치 환경 linux (MacOs) docker 1. Configuration 파일 작성 파일명은 prometheus.yml 이다. $ vi {path}/prometheus.yml 작성 예시는 아래와 같다. Prometheus에서 제공하는 기본 샘플이다. # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global defa.. 2021. 7. 17.
프로메테우스(Prometheus) Configuration 프로메테우스의 설정이 정말 너무 많다. 나에게 필요한 설정이 뭐뭐 있을 까 찾아보다가 정말 많아서 정리해두었다. 역시.. 내가 어떤 툴을 사용하려면, 그 툴에서 제공하는 설정을 제대로 알아야 정확히 그 툴의 특성을 이용하여 올바른 효과를 얻을 수 있는 것 같다. Configuration 파일 구성 Main configuration key type default 설명 global.scrape_interval 정규식 1m 타겟 시스템으로 부터 메트릭을 수집하는 주기 How frequently to scrape targets by default. global.scrape_timeout 정규식 10s 타겟 시스템으로 부터 request time out 대기 시간 How long until a scrape req.. 2021. 7. 17.