filebeat에서, log 파일을 긁어갈 때 multiline을 설정하는 것이 있습니다. 이번 시간에는 이 중에서 간단하게 pattern만 잘 설정해 보도록 하겠습니다. Filebeat에서 logstash로 보내지 않고, 바로 ElasticSearch로 보냅니다. 로그가 어떻게 elasticsearch에 적재되는지, kibana로 보도록 하겠습니다. log.file.path로 불러 오는군요. 저기서, /home/cho/jo_test/logs는 사실, log가 발생하는 프로그램이, 로그를 저장하는 위치입니다. 해당 프로그램의 logback-spring.xml 파일의 일부입니다. LOG_DIR이 logs 밑으로 잡혀있고, 저는 이 디렉토리 밑에 로그들을 모두 떨굴 겁니다. 제 서버에서는 이 위치에 떨굴 겁..
구축/ELK 검색 결과
사실, 이 포스팅은 ELK 셋팅인 듯 하지만, 70%는 방화벽을 다루는 것입니다. 그리고 나머지 절반은 로그를 보는 포스팅입니다. 저는 ubuntu 20.04 LTS를 쓰고 있습니다. 그리고 elk 버전은 7.9.3입니다. 다른 os에서는 방화벽을 설정하는 방법이 다를 수도 있습니다. (ex. firewall-cmd) 먼저, client에 대한 정보를 보겠습니다. ipconfig를 보시면 무선 LAN 어댑터가 눈에 들어오는데요. IPv4 주소가 위와 같습니다. 서브넷은 255.255.255.0이니 /24겠군요. 우분투 서버의 정보입니다. inet 주소는 위와 같고, netmask는 /24입니다. 그러면, 172.30.1.0/24를 허용하면, 172.30.1.x가 모두 허용된다는 이야기입니다. 명령어는 위..
filebeat가 긁어올 path는 어떻게 설정하면 될까요? 버전 7.9.2를 기준으로 설명하겠습니다. filebeat의 설정 파일을 보면, inputs라는 것이 있습니다. 여기서 type과 enabled와 paths와 같은 것들을 설정할 수 있습니다. 당연하게도, enabled는 true로 셋팅해 주면 되겠네요. 그런데, 조심해야 할 것은, paths는 일반적인 regex가 아닌, glob 패턴을 쓴다는 것입니다. 이는 7.9.x의 파일비트 공식 문서에도 나와 있습니다. 그러면, glob base path로 설정해 보도록 하겠습니다. 자세한 것들은 이 문서나, man glob을 참고하세요. 몇 가지를 봅시다. 먼저 **은, recursive 하게 매치가 된다는 의미입니다. 예를 들어서, 위의 /home..
elasticsearch 설정 파일을 보면, destructive_requires_name이 있습니다. 이 필드에 대해서 간단하게 알아보도록 하겠습니다. 먼저, myindex 인덱스를 추가해 보겠습니다. 그리고, GET 요청을 /_cat/indices로 보내보겠습니다. 그러면, myindex가 추가되었음을 알 수 있습니다. 그리고, myindex 안에 name이 "cho"인 데이터를 추가해 보겠습니다. 뭔가 명령어가 엄청 길어보이는데요. postman 같은 것을 설치하면 조금 더 간단하게 할 수 있습니다. name이 "ga"인 데이터를 myindex에 추가합니다. 그리고 /myindex/_search를 하면, myindex에 있는 모든 데이터를 긁어 오겠다는 의미입니다. 보시면, name이 "ga"인 데..
요새 ELK 구축도 조금씩 배우고 있습니다. 이 중에서, elasticsearch의 설정 값들을 하나 하나 배워보도록 하겠습니다. 저는 7.9.0을 기준으로 작성하였습니다. 먼저, elasticsearch의 path 부분을 보면, data와 log 파일을 저장할 수 있는 위치를 설정할 수 있다고 나옵니다. 그러면 기본적으로 path.data의 값은 /var/lib/elasticsearch이고, logs의 값은 /var/log/elasticseaerch입니다. 이 기본 값들은 메모를 해 두는 것이 좋습니다. 최상위 디렉토리에 data 디렉토리를 생성하고, 그 안에 elasticsearch를 생성하였습니다. 그리고 path.data를 바꿔보았습니다. 그랬더니, failed가 떴습니다. 친절하게도, journ..
최근댓글