분류 전체보기120 jandi webhook에 logstash ( + filebeat )로 nginx error 연결하기 logstash란? Logstash는 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진이다. Logstash는 서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로 데이터를 정규화할 수 있다. 다양한 고급 다운스트림 분석 및 시각화 활용 사례를 위해 모든 데이터를 정리하고 대중화(democratization)한다. Logstash는 근본적으로 로그 수집의 혁신을 주도해 왔으며 그 기능은 이러한 활용 사례 이외의 영역으로 확장되고 있다. 어떤 유형의 이벤트도 다양한 입력, 필터, 출력 플러그인을 통해 강화하고 전환할 수 있으며 기본 제공되는 여러 코덱으로 수집(ingestion) 프로세스를 한층 더 간소화할 수 있다. Logstash로 더 방대하고 다양한 데이터를 활용함으로써 더 .. 2021. 10. 25. nginx(ssl) + django + elk 컨테이너(docker) 기반 서버 배포하기 -2 elk 다음으로는 elk 스택을 구성할 것이다. elk 스택의 경우 elasticsearch, logstash, kibana 각각 dockerFile을 작성하지 않고 docker-compose에서 바로 컨테이너로 올리고 이를 network로 연결하여 사용할 것이다. elk 기본 설정의 경우에는 전에 정리했던 글을 참고하길 바란다. elk stack 설정 참고 : https://reo-l.tistory.com/126 ubuntu 18.04 에 ELK 설치하기 aws 인스턴스에서 ubuntu 18.04에 ELK를 설치하려고 한다. elk 스택은 java 기반으로 실행되기 때문에 먼저 java 8 버전을 설치하여 준다. $ sudo add-apt-repository ppa:webupd8team/java $ s.. 2021. 10. 1. nginx(ssl) + django + elk 컨테이너(docker) 기반 서버 배포하기 -1 Docker 도입하는 이유 Docker를 사용하면 애플리케이션 운영을 표준화하고, 코드를 원활하게 이동 가능하게 하며 리소스 사용률을 높여 비용을 절감할 수 있다고 한다. Docker를 사용하면 Image를 바탕으로 어디서나 안정적으로 실행할 수 있는 단일 객체를 확보할 수 있으며 간단한 구문을 사용하여 이들을 제어할 수 있기 때문에 굉장히 편리하다. 개발과정에서 개인마다 다른 버전의 언어와 프레임워크로 이슈를 겪는 일이 많은데 Docker를 도입하면 모두가 같은 환경의 개발 환경을 공유할 수 있어 버전 이슈와 같은 문제를 걱정할 필요가 없고 서버를 옮기거나 늘릴 때도 이미지 하나만 pull 하여 사용하면 되기 때문에 굉장히 편리하다. Docker 란? 도커(Docker)는 리눅스의 응용 프로그램들을 프.. 2021. 10. 1. SMTP 로 html 메일보내기 + 이미지 django에서 제공하는 email 기능을 사용하여 html에 이미지 첨부하여 메일을 보냈으나 gmail에서는 적용이 잘 됐는데 naver에서는 자체 보안이 돼있는지 이미지가 보이지 않았다. 그래서 smtp 프로토콜을 사용하여 메일을 보내기로 했다. SMTP 란? 간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol, SMTP)은 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜이다. 사용하는 TCP 포트번호는 25번이다. 상대 서버를 지시하기 위해서 DNS의 MX 레코드가 사용된다. RFC2821에 따라 규정되어 있다. 메일 서버 간의 송수신뿐만 아니라, 메일 클라이언트에서 메일 서버로 메일을 보낼 때에도 사용되는 경우가 많다. SMTP는 텍스트 기반의 프로토콜로서 요구/.. 2021. 8. 30. Elasticsearch + nori 한글 형태소 분석기로 데이터 검색하기 # 2 이전 글에서 nori 토크 나이저 설정 파일에 대한 설명을 하였다. 여기서는 이를 logstash conf 파일에 설정하고 elasticsearch에 output 한 데이터를 kibana를 통해 확인하고 django에서 직접 사용해 보겠다. 먼저 /etc/conf.d 에 설정 파일을 만들어 준다. 현재 jdbc를 사용하여 rds와 연결된 상태인데 여기서 output 설정을 조금 바꾸어 주면 된다. /etc/logstash/conf.d/partner.conf input { jdbc { jdbc_driver_library => "/etc/logstash/postgresql-42.2.23.jar" jdbc_driver_class => "org.postgresql.Driver" jdbc_connection_st.. 2021. 8. 30. Elasticsearch + nori 한글 형태소 분석기로 데이터 검색하기 # 1 nori 토크 나이저 적용 전 간단한 예를 들어 nori 토크 나이저에 대하여 설명하겠다. ( 참고 : https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.2-nori ) elasticsearch에서 제공하는 standard 토크 나이저 사용 시 다음과 같이 단순히 띄어쓰기에 대한 결과를 보여준다. standard 토크나이저로 "동해물과 백두산이" 문장 분석 GET _analyze { "tokenizer": "standard", "text": [ "동해물과 백두산이" ] } standard 토크나이저로 "동해물과 백두산이" 문장 분석 결과 { "tokens" : [ { "token" : "동해물과", "start_offset" : 0, "end_o.. 2021. 8. 27. ubuntu 18.04 에 ELK 설치하기 aws 인스턴스에서 ubuntu 18.04에 ELK를 설치하려고 한다. elk 스택은 java 기반으로 실행되기 때문에 먼저 java 8 버전을 설치하여 준다. $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-set-default $ java --version 이제 elasticsearch를 apt로 설치하여 주는데 그전에 elasticsearch 키를 import 해 준다. $ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - OK $ echo "deb https://.. 2021. 8. 26. elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=10)) elasticsearch에 데이터를 bulk 하는 과정에 발생한 에러이다. 1만 건의 데이터를 벌크 하면서 readtimeout 에러가 발생한 것 es = Elasticsearch("http://localhost:9200", timeout=100, max_retries=10, retry_on_timeout=True) 파이썬을 사용하기에 elasticsearch 선언 시에 timeout을 기본값의 10에서 늘려주면 된다. 2021. 7. 14. OSError: cannot write mode RGBA as JPEG jpg 파일을 열고 BytesIO에 save 하는 과정에서 발생한 오류이다. jpg는 기본적으로 투명도를 지원하지 않는 다고 한다. RGBA의 A(alpha)가 투명도를 담당하는 부분인데 jpg의 경우에는 이 A를 뺀 RGB로 convert 해주어야 한다고 한다. im=Image.open(newpath+'/'+j) if j_[-1] == 'jpg' or j_[-1]=='JPG': im=im.convert('RGB') j_[-1]='jpeg' im.save(buffer, j_[-1]) 이렇게 하니 해결됐다. 2021. 7. 8. 이전 1 2 3 4 ··· 14 다음