본문 바로가기

Data/Data Engineering

(37)
[ELK] k8s EK(Elasticsearch, Kibana) 설치중 만난 오류 elasticsearch에서 podTemplate적용시 container name, container image등록 warning문구 출력시 elasticsearch yaml FieldValueRequired Required value spec.containers[0].image 위와같은 에러가 발생하는 경우에는 nodeSets.podTemplate.spec.containers.name 또는 metadata.name이 quickstart인지 확인해보자. 모종의 이유로 quickstart인 경우에는 제대로 적용이 안된다. 이름을 바꿔서 적용하면 해결된다. kibana pod이 apply를 했음에도 불구하고 pod이 안뜨는 경우 제일 오래 삽질했던 케이스인데, kibana에 대한 정보를 describe를 해..
[ELK] k8s에 Elasticsearch(multinode) + Kibana 구축하기 원래는 k8s yaml파일을 전부 손으로 짜려고했는데, 생각보다 귀찮은게 많아서(ex. 보안이슈, 네트워크 이슈) Elastic에서 제공한 quickstart버전을 k8s에서 사용해보기로 했다. https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-quickstart.html Quickstart | Elastic Cloud on Kubernetes [2.10] | Elastic With Elastic Cloud on Kubernetes (ECK) you can extend the basic Kubernetes orchestration capabilities to easily deploy, secure, upgrade your Elasticsearch clu..
[filebeat] 로그 파일 새로운 라인만 수집되게 하는법 본 게시글은 제가 바보같이 실수를 한 부분에 대해서 설명합니다. 일단 고수분들이 혹시나 게시글을 보실까봐 미리 얘기하자면, filebeat으로 수집되는 로그파일을 vim으로 수정했더니 이전에 보냈던 로그도 다같이 보내져서 왜인지 살펴보았더니 vim으로 새로운 라인을 추가하면안되고, echo 방식으로 추가해야지 추가한 라인만 보내졌음. 일단 filebeat에서 테스트 삼아 로그 파일을 수집되게끔 설정함. filebeat.yaml은 다음과 같이 설정. - type은 특정 버전이후로는 logs가 지원되지않고 filestream으로 변경됨 - output은 elasticsearch로 설정 filebeat.inputs: - type: filestream id: test-jaeyung enabled: true pa..
[Kafka] 공부-1 본 게시글은 "실전 카프카 개발부터 운영까지" 책을 읽으면서 중요하다라고 생각되는 내용을 정리한 글입니다. 책에 대한 정보는 https://product.kyobobook.co.kr/detail/S000001932756 에서 보실수 있습니다. (중요) 내용이 정확하지 않거나, 누락된게 있을수 있습니다. 카프카의 주요 특징 높은 처리량과 낮은 지연시간 아마 카프카를 선택하는 가장 큰 이유 높은 확장성 미래를 생각(서비스 규모가 커질것을 예상)해서 확장이 편리함 고가용성 내구성 장애가 나도 과거의 메세지들을 불러와 재처리가능함 개발 편의성 메세지를 전송하는 역할(producer)와 메세지를 가져오는 역할 컨슈머(consumer)가 완벽하게 분리되어이쏙 서로 영향을 주지도 않음. 개발할때 producer, c..
[ELK] kibana-elasticsearch (WIP) ElasticSearch 세팅 Kibana에 연결하려면 token생성이 필요하다고하는데, 해당 토큰은 아래 명령어로 얻을수있다 ./bin/elasticsearch-create-enrollment-token -s kibana 추가로 초창기 비밀번호 세팅은 아래 명령어로 진행한다. ./bin/elasticsearch-setup-passwords interactive Kibana 세팅 위에서 얻어온 token을 입력하고나서, 추가적인 6자리 번호를 입력하라고하는데 해당 번호는 아래 명령어로 얻을수있다. ./bin/kibana-verification-code
[Airflow] Task Was the task killed externally? + 아무런 로그없이 죽는 현상 해결 일단 확실하진않은 해결법입니다. 전 이렇게 해서 해결이된 상태라 참고만 부탁드립니다 :) Airflow에서 갑자기 Task들이 아무런 log가 발생안되고 죽는 현상이 빈번하게 발생해서 디버깅중에, airflow_scheduler에서 다음과같은 로그가 무수히 발생했다. [2022-11-30 05:11:28,252] {scheduler_job.py:684} ERROR - Executor reports task instance finished (failed) although the task says its queued. (Info: None) Was the task killed externally? 대충 외부요소로 인해서 Task가 죽었다는건데, 자료 조사를 해보니 한가지 공통되는 원인이 보였다. "일단 Re..
[Grafana] Slack Alert 메세지 커스텀마이징 우리는 지난 게시글에서 그라파나를 활용하여 슬랙 알람화를 진행했다. 하지만 아래 이미지와 같이 굳이 불필요한 메시지까지 포함되어 슬랙알람이 울리게된다. 알람이 위와같이 울리게된다면 가시성도 떨어지고, 알람이 여러번 울리게된다면 채널이 매우 복잡해진다. 따라서, 이번 게시글에서는 어떻게 슬랙 메세지를 꾸밀지에 대해서 정리해본다. 이번 작업에 필요한건 Grafana Alerting에서 Contact Points탭을 활용할것이다. 위와 같이 보이며, 슬랙 메세지 커스텀을 위해서 새로운 메세지 template을 설정해줄것이다. 해당 template을 작성하기 위해서는 GoLang이 필요하다... 나도 한번도 써보지못한 언어라서 당황했지만... 일단 기본적으로 Grafana에서 예제를 제공해준다. https://..
[Grafana] Slack Alert 만들기 업무상 특정 머신이 고장이 날때마다 매번 사람의 눈으로 모니터링을 하고있었는데, 이를 해결하기 위해서 슬랙과 Grafana를 연동하여 자동으로 머신이 고장날때마다 알람이 보내지게끔 작업을 했다. 처음으로 그라파나를 만져봐서 많은 시행착오를 겪었고 이를 정리하고자한다. Grafana Alerting Rules Setting Grafana의 왼쪽 카테고리에서 종모양(Alerting)을 클릭하면 아래와같이 메뉴들이 존재한다. 여기서 앞에 두개 메뉴만 이용할것이다. Alert rules - 직역하듯이, 알람의 룰을 설정해놓는곳이다 Contact points - 알람이 발생했을때 어떤 방식으로 알람을 보낼것인지에 대한 설정이다 Alert rules에서 새로운 룰을 만드는 버튼을 클릭하면 아래와같이 표시된다 일단 ..