클라우드24 Elasticsearch 알람 도구 ElastAlert 설치부터 테스트까지 Elasticsearch 알람 기능을 위한 ElastAlert ElasticSearch로 서버로그를 분석하는 시스템을 만들던 중 로그의 특정 키워드값을 읽어서 알람기능을 제공하면 좋을것 같아서 ElastAlert를 학습 해보기로 했습니다. 설치 환경 OS : Centos7 Elasticsearch (5 이상) smtp 설치(안해도 될수있으니 테스트까지 진행해본후 해보길바람) 설치 과정 Python 설치 ElastAlert를 이용하려면 기본적으로 파이썬이 설치되있어야 합니다. 파이썬의 버전별로 ElastAlert의 버전이 다르다고 하니 참고하시기 바랍니다. $ yum install python3 python3을 설치했다면 python --version 명령으로 버전을 확인합니다. 제 vm에 설치한 버전은 .. 2021. 12. 14. [ElasticStack] logstash 설치및 실행 Logstash 설치 이전에 쓴 logstash 설치및 실행 포스팅이 다소 부실하다고 생각되어서 리눅스 최초 설치시점 부터 좀더 자세하게 설명해보겠습니다. 우선 Logstash 설치를 하기전에 Java가 설치되있어야 합니다. 지원하는 Java 버전은 8, 11, 15버전인데 8 버전 기준으로 설치방법은 아래 글을 참고하시면 됩니다. 리눅스에 JAVA 설치 하기 리눅스에서 ELK를 설치해서 테스트해보기전에 필수로 설치해야 하는것중 하나가 Java입니다. 윈도우에선 자바 설치파일 받고 실행만하면 알아서 설치되지만 리눅스는 어느정도 사용자가 수동으 ksr930.tistory.com 그러면 자바가 설치된 상태에서 Logstash 설치를 해봅시다. 설치방법은 바이너리 파일 다운로드와 리눅스의 yum 을 통해서 설.. 2021. 12. 14. Kafka Producer Client 주요 옵션 설명과 메시지 키/특정 파티션/동기-비동기 전송 Kafka Producer Client - 2 지난번에 Java Project로 카프카 프로듀서 클라이언트를 만들어서 쿠버네티스에서 실행시킨후 100건의 데이터를 토픽을 전송하는 테스트를 해봤습니다. [Kafka] 카프카 프로듀서 Kubernetes에서 Pod로 실행하기 #jar #Kafka Producer #Docker image Kafka Producer Client 카프카 브로커 서버에 토픽을 만들어 봤다면 카프카 프로듀서 역할을 할수있는 클라이언트 프로그램을 만들어서 데이터를 전송하는 테스트를 해볼수 있습니다. 카프카 프로듀 ksr930.tistory.com 이번엔 카프카 프로듀서 클라이언트에서 설정할수 있는 옵션들과 토픽으로 데이터 전송시 단순하게 토픽만 지정해서 전송하는 방식외에 3가지 방법을.. 2021. 12. 2. [Kafka] 카프카의 특징과 내부구조 (브로커, 프로듀서, 컨슈머, 파티션) Kafka 개념 정리 - 1 기존의 데이터 전송방식 문제점 카프카를 사용하기 이전에는 애플리케이션간 데이터 전송시 직접 연결해서 전송하는 엔드 투 엔드(end to end)방식을 사용했었습니다. 소규모일때는 문제가 되지않았지만 시스템의 규모가 커지면서 애플리케이션의 개수가 늘어나게되자 애플리케이션간에 데이터 전송 관계가 복잡해지게 되었습니다. 그 영향으로 타겟 애플리케이션에 장애가 발생할경우 연결된 소스 애플리케이션에도 영향을 끼치게 되는 문제가 생기게 되었습니다. 카프카(Kafka) 탄생 2011년 구인/구직관련 사이트인 링크드인에서는 이런 문제를 해결하기위해 애플리케이션간에 직접 통신을 하는게 아닌 데이터의 중앙 집중화를 하는 시스템을 만들 었는데 이 시스템이 바로 아파치 카프카(Apache Kafk.. 2021. 10. 27. [Kafka] 카프카 토픽과 파티션, 레코드 저장방식 카프카(Kafka) 내부 구조 - 2 토픽(Topic) 토픽은 데이터를 구분하기 위해 사용하는 단위입니다. RDBMS의 테이블과 같은 개념이기도 합니다. 토픽에는 한개 이상의 파티션이 존재하는데 파티션 내부에는 프로듀서로부터 받은 데이터를 보관하고 있고 카프카에서는 이런 데이터들을 레코드 라고 부릅니다. 토픽은 하나 이상의 파티션을 가질수 있으며 프로듀서에서 받은 레코드를 순서대로 저장합니다. 저장된 레코드는 FIFO 방식으로 컨슈머에서 가져갑니다. 지난번 포스팅에서도 설명했듯이 컨슈머에서 파티션에 있는 레코드를 가져가도 삭제되지 않습니다. 남아있는 레코드는 새로운 컨슈머가 등록되었을때 파티션의 0번 오프셋 레코드부터 순서대로 가져갈수 있습니다. 단, 새로운 컨슈머가 파티션에 있는 레코드를 가져가기 위해.. 2021. 10. 27. [Kubernetes] Grafana 대시보드 알람 구성하기 (grafana alert) Grafana 대시보드 생성 / Alert 설정 Grafana를 사용하는 가장 큰 이유는 대시보드를 만들고 시스템이나 프로세스의 상태나 로그를 실시간으로 모니터 링하기 위함입니다. Grafana 공식 사이트에서 완성되있는 대시보드를 제공하지만 시스템을 운영하다보면 대시보 드를 직접 만들어야 될일도 있습니다. Grafana 대시보드 커뮤니티 그리고 Prometheus 와 연동하여 메트릭 정보를 모니터링 하는 경우도 있지만 로그를 모니터링 하면서 특정 조건 만족시 Alert 을 발생시켜 사용자에게 알림을 줄수도 있습니다. 그래서 이번 포스팅에서는 로그상에 키워드를 검출하여 특정 조건 만족시 이메일로 알람이 가게 하는 대시보드를 만드는 방법을 설명드리겠습니다. Helm Grafana 수정 이전 포스팅 http.. 2021. 10. 19. Grafana - Loki - Promtail 연동 대시보드 로그보기 Grafana Loki Loki 는 Grafana에서 제공하는 오픈소스 기반의 로그 집계 시스템입니다. 다른 로그수집 시스템과 다르게 로그의 레이블만 인덱싱하고 원본 로그 메시지는 인덱싱하지 않습니다. 이러한 특징때문에 로키는 자원소모가 적어 효율적인 운영을 할수있습니다. 멀티 테넌시 Loki는 멀티테넌시를 지원하므로 테넌트간 데이터는 완전히 분리됩니다. 멀티 테넌시는 테넌트 ID를통해 구현되고 멀티 테넌시모드를 사용하지않으면 내부적으로 가짜 테넌트 ID가 지정됩니다. 운영 모드 Loki는 로컬 혹은 소규모 실행모드와 수평확장 모두에 최적화 되있습니다. Loki & Promtail 설치 Loki 는 바이너리와 설정파일을 따로 받아야하고 Promtail 도 같이 설치해야 합니다. Promtail 은 Lok.. 2021. 6. 9. [ElasticStack] Logstash 에서 Elasticsearch 로 데이터 전송하기 지난번에 Logstash 를 설치하고 실행하여 입력한대로 출력이 되는것까지 해봤습니다. 이번엔 파일비트에서 받아오는 로그 데이터를 파싱하는 방법에 대해 설명해보겠습니다. filebeat => Logstash 연동 filebeat 설치글은 https://ksr930.tistory.com/96 를 참고하세요. Logstash 에서 입력을 받는 input plugin 에는 여러종류가 있는데 그중 filebeat 에서 입력받을수 있는 Beats input 은 기본으로 설치되있습니다. filebeat 에서 Logstash 로 전송할 로그데이터는 엘라스틱서치 사이트에서 제공하는 샘플데이터를 이용합니다. https://download.elastic.co/demos/logstash/gettingstarted/logst.. 2021. 4. 21. 이전 1 2 3 다음