[apm-server-healthcheck] WARN co.elastic.apm.agent.report.ApmServerHealthChecker - Elastic APM server http://xxxx:8200/ is not available (Connection refused (Connection refused))위와 같이 에러가 발생 할 경우, 먼저 APM server 가 정상적으로 수행중인지 먼저 체크를 해봐야 한다. service apm-server status위 명령어를 수행하여, server 가 정상적으로 수행중인지 확인하고, 그렇지 않다면 서버를 다시 실행해준다. 그래도 문제가 발생한다면, 서버 설정을 변경 후 재시작 해준다. apm-server: host: "0.0.0.0:8200"/et..
lombok 을 사용하고 컴파일을 하려고 하면, java: cannot find symbol 에러가 발생해서 해당 get/set method 를 찾지 못한다는 에러가 발생 하는 경우가 있다. 이럴 때는, 프로젝트 설정에서 Annotation processing 을 활성화 하지 않아서 발생하는 문제이다. Build, Excution, Deployment > Compiler > Annotation Processors 에서, Enable annotation processing 을 체크 해주면 된다. annotation processing 이 활성화 되면, lombok annotation 을 빌드시 처리하여, lombok 함수들을 정상적으로 호출 할 수 있게 된다.
FTP 서버에 접속 하려는데 여러 이유로 접속이 안되거나 접속 후 명령어 전달이 제대로 안되거나 파일 전송이 안되는 등의 여러 문제가 생기는 경우가 있다. 이럴 땐 방화벽이나 서버 설정의 문제일 경우가 많은데, client 가 방화벽 환경에 있다면 서버에 포트 정보를 받아서 방화벽 해제를 하면 되지만 서버 설정의 문제일 경우 client에서 추가로 알려줄 수 있는 정보가 많지 않다. 그리고, 간혹 클라이언트 쪽의 문제인지 확신할 수 없는 경우도 있어서 이럴 땐 ftp 서버를 테스트 해주는 사이트에 가서 테스트를 해보기를 권한다. https://ftptest.net 에 접속을 하면, 아래와 같이 화면이 나오고 Server details 에 서버 정보를 입력하고 Test my server! 를 누르면 FTP..
Kibana 에서 필터를 이용하여 필요한 데이터만 볼 수 있는데, 필터는 KQL 을 직접 작성 하거나 UI 상에서 필터를 추가하여 사용할 수 있다. KQL KQL은 Kibana Query Language 의 약어이고, 아래와 같이 field 명으로 쿼리를 작성할 수 있다. 문법은 따로 찾아볼 것 없이, 작성을 하게 되면 자동완성 창이 뜨면서 field를 보여주고, 필드를 입력하면 type에 따라 사용 가능한 연산자를 보여주며 친절하게 설명도 보여준다. area 는 number 타입으로, 각종 비교 연산자 및 필드가 존재하는지 연산자를 사용할 수 있음을 보여준다. UI Filter UI 상에서 사용하는 필터는 아래와 같이 Add filter 를 누르면, 선택 가능한 필드 및 연산자를 선택할 수 있게 해준다..
ElasticSearch 에 새로운 필드가 추가가 되었고, Discover에서도 해당 필드가 정상적으로 보이고 있는데 Visualize 나 Filter 메뉴의 Field에서는 해당 필드가 나오지 않는 경우가 있다. 그럴 때는, Kibana에서 해당 index 의 field list 가 업데이트 되지 않아 발생한 문제이므로, field list 를 업데이트 해주면 된다. Management > Kibana > Index Patterns 에 가서, Refresh Field list 버튼을 눌러 주면 field list 를 업데이트 해주고, 아래에 새롭게 추가된 Field 목록이 나온다.
경로가 변경 되거나 해서 쉘 스크립트의 텍스트를 한번에 치환을 해야되는 경우가 생기는데, 휴먼 에러를 최소화 하기 위해 한번에 치환하는 방법을 알아보자. sed -i 's/original/new/g' file.txt: sed = Stream Editor 명령어 : -i = in-place( i.e. 오리지널 파일에 저장 ) : s = 대체 명령어 : original = 변경 대상 텍스트 : new = 변경 할 텍스트 : g = global( i.e. 전체를 다 치환 ) : file.txt = 읽을 텍스트 파일
if [[ $aug1 == "and" ]];: aug1 변수가 undefined 또는 empty 이더라도, $aug1 부분이 없어지지 않아 에러가 발생하지 않는다. if [ $aug1 = "and" ];: single bracket 에서는 aug1 변수가 undefined 또는 empty 인 경우, 아래와 같이 syntax 에러가 발생하게 된다. ( [: =: unary operator expected ) if [ = "and" ];single braket에서 이를 방지하기 위해서는 아래와 같이 변수를 따옴표로 싸줘야 한다. if [ "$aug1" = "and" ];결론은 [[ ... ]] 에서 더 많은 처리를 해주므로, [ ] 와 "" 를 쓰는것 보다 가급적이면 [[ ... ]] 를 사용하는 것이 더 ..
리눅스에서 string을 특정 delimiter 로 split 을 하기 위해 cut 명령어을 사용해 보자. cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim] [-s] [file ...]다른 옵션들에 대해서는 추후에 더 알아보고, 여기서는 split 을 위한 -d 옵션을 사용한다. -d : 기본 값은 TAB 이고, 별도 지정을 하기 위해서는 값을 명시해 주면 된다. cut -d , -f 2
rm 명령으로 정규식을 사용해서 파일을 삭제하려고 하면, 해당 파일이 없다면서 삭제가 되지 않는다. 찾아보니, rm 에서는 정규식을 지원 하지 않는다고 한다. 대신, find 를 사용하여 정규식으로 특정 파일들을 골라 삭제를 할 수 있다. # find [OPTION...] [PATH] [EXPRESSION...] $ find . -name "*20200405*" -delete: 현재 폴더에 지정된 문자열 패턴에 해당하는 파일을 검색을 하고, -delete 옵션으로 검색된 파일 또는 디렉터리를 삭제하게 된다.
- Total
- Today
- Yesterday
- Git
- Size
- elasticsearch
- scala
- tomcat
- spring
- Kibana
- logstash
- Filter
- plugin
- spring boot
- AWS
- Postman
- Index
- Spark
- maven
- gradle
- Linux
- SpringBoot
- Container
- error
- Log
- JPA
- docker
- JSON
- install
- intellij
- Java
- mac
- apm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |