분류 전체보기

    [JPA] maven에서 querydsl Q class 생성

    maven에서 querydsl Q class 생성 maven 환경에서 querydsl 를 사용하려고 했는데 Q class가 안생겨서 삽질했던 경험을 적어본다. pom.xml com.querydsl querydsl-apt 5.0.0 com.querydsl querydsl-jpa 5.0.0 com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor 처음에 이렇게 설정했는데 Q클래스가 생기지 않았다. plugin에서 Entity 어노테이션을 Q클래스로 변경해주는데 아무설정을 안해주면 javax 패키지의 Entity만 찾는것이었다. 그래서 jakarta ..

    [BlockChain] gasPrice 상승 이슈

    트랜잭션의 수수료는 gas의 가격과 사용된 gas를 기반으로 계산을 한다. 트랜잭션 type1의 경우에는 gasPrice * gasLimit 으로 수수료가 결정된다. 전에 사용하던 네트워크는 충분한 거래가 이루어지고 블록이 있다보니까 gasPrice의 가격이 안정화 되어있었기 때문에 gasPrice에 대한 이슈가 없었다. 새로 네트워크 생성 후 gasPrice를 기존의 2배로 여유를 주고 트랜잭션을 날릴때마다 gasPrice가 계속 올라갔다. ethereum 공식문서를 찾아보니 gasPrice는 마지막 100개 블록의 중간값으로 결정한다고 한다. 그래서 네트워크의 최소 gasPrice를 1gwei로 설정하고 트랜잭션을 날릴때 gasPrice는 1gwei로 고정하고 사용했다. estimateGas를 통해서..

    [Devops] ELK APM으로 성능측정하기 - ubuntu 22.04

    APM으로 성능측정 - ubuntu 22.04 어플리케이션의 성능을 측정하기 위해 APM 을 설치하려고 한다. 기존에 ELK에서 로그나 메트릭을 모니터링하기 때문에 여기에 추가하기 위해서 ELK에서 제공하는 APM 을 사용할 것이다. APM 다운로드 curl -O https://artifacts.elastic.co/downloads/apm-server/apm-server-8.11.0-amd64.deb sudo dpkg -i apm-server-8.11.0-amd64.deb APM 설정 변경 sudo rm -rf /etc/apm-server/apm-server.yml sudo vi /etc/apm-server/apm-server.yml apm-server: host: "0.0.0.0" output.elas..

    [Devops] ElasticeSearch에서 잔디 Webhook 연결 - ubuntu 22.04

    유료버전이라면 watcher 만들기를 참고해서 watcher를 만들거나 kibana에서 webhook connector 를 만들어서 사용하면 된다. 나는 무료버전이었기 때문에 다른 방법을 찾아야 했고 제일 원초적으로 어떠한 툴도 쓰지 않고 cron으로 해결하는 방법으로 직접 webhook을 호출하는 방법을 사용하려고 한다. 사내에서 잔디라는 메신저를 쓰는데 webhook으로 error로그 발생시 메신저에 보내는 shell 을 구현할 것이다. 아래 스크립트는 잔디에 맞춘내용이라 알아서 커스텀해서 쓰면 될것 같다. 그전에 먼저 jq를 설치해서 json 을 편하게 사용하도록 한다. sudo apt-get install jq (1) error-log bash #!/bin/bash ES_USER='elastic'..

    [Devops] ELK Beat template (8.11.0) - ubuntu 22.04

    ELK 구축후 각 인스턴스에 세팅해줄 템플릿 0-1. 호스트 네임 설정 sudo hostnamectl set-hostname [호스트 이름] 0-2. 인스턴스 시간 설정 (서울) sudo timedatectl set-timezone Asia/Seoul 1. metric beat 세팅 - CPU, 메모리, 디스크 사용량 (1) metric beat 설치 curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-8.11.0-amd64.deb sudo dpkg -i metricbeat-8.11.0-amd64.deb sudo apt-get update (2) metric beat 설정 sudo rm -rf /etc/metricbe..

    [Devops] ELK 디스크 부족 이슈 S3로 해결하기 - ubuntu 22.04

    어느날 kibana에서 위와 같은 오류가 떴다. 디스크의 용량이 부족하다는 이슈라고 추측. 디스크 용량 확인 df -h ec2 생성시 default 값인 8GB로 설정되어 있었다. AWS Ec2 디스크 용량 늘리기를 참고해서 기존 ec2의 volume을 20GB로 늘렸다. 1. 로그 삭제 계속 로그파일을 저장하다보면 언젠가는 늘려놓은 volume도 가득 찰것이다. 그래서 주기적으로 s3에 백업한 후 log를 삭제하는 프로세스를 만드려고 한다. S3 등록 먼저 access_key, secret_key를 등록한다. sudo /usr/share/elasticsearch/bin/elasticsearch-keystore add s3.client.default.access_key sudo /usr/share/ela..