Apache Kafka Introduction 이번에 직접 사용해보니.. Message Queue Open Source Framework로서 kafka를 많이들 사용하는 것 같다. 기본적으로 Producer/Consumer Application 을 개발해서 사용해야 하는데 많이 사용하다 보니 관련 자료가 많고 Hadoop, Spark, 여러 수집기 등에서 Plugin을 제공한다. 많이 쓰고 자료가 많아서 kafka를 이용하는 것도 좋은 이유인 것 같다. 다음 두가지 이유가 직접 느낀 좋은 점 Consumer는 […]
[Zookeeper] zookeeper 3.x 설치
Zookeeper 설치 Zookeeper 소개 분산 시스템을 설계 하다보면, 가장 문제점 중의 하나가 분산된 시스템 간의 정보를 어떻게 공유할 것이고, 클러스터에 있는 서버들의 상태를 체크할 필요가 있으며 또한, 분산된 서버들간에 동기화를 위한 락(lock)을 처리하는 것들이 문제로 부딪힌다. 이러한 문제를 해결하는 시스템을 코디네이션 서비스 시스템 (coordination service)라고 하는데, Apache Zookeeper가 대표적이다. 이 코디네이션 서비스는 분산 시스템 내에서 […]
openssl generate self-signed certification
openssl generate self-signed certification ./openssl req -new -x509 -days 365 -nodes \ -out /path/to/pem/file -newkey rsa:2048 \ -keyout /path/to/key/file
[Elasticsearch] elasticsearch-sql
Elasticsearch Sql ElasticSearch 6.3.x 버전부터 X-Pack을 통해 SQL-Like Query 기능을 제공한다. Index 에 대해서 SQL 질의를 바로 하는 것이 아니라, ElasticSearch 에 최적화된 DSL 로 translate 한 뒤 해당 DSL을 이용해 조회한다. SELECT SQL만 가능하고, multi-index 조회 (join SQL)은 수행되지 않는다. 또한 스칼라 서브쿼리 등 조금만 복잡해져도 잘 안 됨. Kibana와 Curl REST API 를 […]
[MySQL] mysqldump
mysqldump mysqldump 프로세스가 실행된 순간의 데이터베이스 스키마 및 데이터를 SQL로 추출한다. 이 방식으로 백업하는 경우, DB에 TX가 발생하지 않는 상황에서 하는 것이 좋다. (AP 서비스 종료 후 백업하는 것을 권장) Usage 전체 데이터베이스 백업 mysqldump -uroot -p -A > full_database.sql 특정 데이터베이스 백업 mysqldump -uroot -p specific_database_name > specific_database_name.sql 특정 테이블 백업 mysqldump -uroot -p […]
[Windows] OpenSSH Client
Windows openssh client Windows 에서도 opessh client 를 기본 제공한다. 가볍게 사용하기 위해서 putty를 쓸 필요는 거의 없어진 것 같고, X 를 사용하는게 아니라면 .bat 파일을 생성해서 관리하는 것도 나쁘지는 않은 것 같은데 아직은 X Shell 평가판이 익숙해서 더 좋은 것 같다. C:\Windows\System32\OpenSSH 경로에 가보면 다음과 같이 scp, sftp도 있음. — scp.exe sftp.exe ssh-add.exe ssh-agent.exe […]
[Fluentd] Usecase – forward
Fluentd Usecase forward 플러그인 활용하기 망이 분리되어있거나 ssl 등의 네트워크 보안을 활용하는 경우 또는 스토리지에 연결되는 채널을 간소화하여 관리하기 위해 forward 플러그인을 활용할 수 있다. fluentd config remote fluentd agent remote fluentd agent는 해당 agent가 설치된 호스트의 파일 로그를 수집할 수도 있고 별도의 플러그인으로 다양한 로그들을 수집한다. 이를 스토리지에 직접 저장할 수 없는 경우 다른 […]
[Fluentd] Usecase – http
Fluentd Use Case http 플러그인 활용하기 지정한 Listener Port 를 통해 POST 되는 데이터를 수집한다. openAPI openAPI 를 이용해 REST 하게 받아온 데이터를 다시 Fluentd http listener 에 전달해줌으로써 데이터를 수집한다. 데이터 소스 vi /app/python/sources/JayWalkingAll.py JayWalkingAll #!/app/python/bin/python from urllib.request import urlopen from urllib.parse import urlencode,quote_plus,unquote import urllib import requests import json url = ‘http://apis.data.go.kr/B552061/jaywalking/getRestJaywalking’ my_service_key […]
[Fluentd] Usecase – tail
Fluentd Use Case tail 플러그인 활용하기 in_tail 플러그인은 텍스트 파일을 읽어 수집할 수 있는 기본 플러그인이며, 로그파일과 같이 갱신되는 파일을 증분만 계속해서 수집할 수도 있다. csv 데이터 분석 데이터셋이나 기초 데이터셋과 같이 일회성 또는 배치성으로 수집하는 csv 텍스트 파일을 수집하는 방법이다. 수집 데이터 소스 head -n 5 accidentology.csv timestamp,Date,Hour,Dept,Com,Address,Zip code,Corner,Segment,Address1,Address2,Vehicle 1 description,Vehicle 1,Vehicle 2 Description,Vehicle […]
[Fluentd] Usecase – exec
Fluentd Use Case exec 플러그인 활용하기 in_exec 플러그인을 활용하면 사용자가 수집하고자 하는 정확한 정보를 만들어내서 수집할 수 있다. linux_free linux 모니터링 명령어인 free 의 결과를 주기적으로 수집해본다. 데이터 소스 스크립트 vi /app/fluentd/scripts/free.sh #!/bin/bash DATE=date "+%Y-%m-%d %H:%M:%S" DATA=free -k | grep "Mem:" | awk '{print $2,$3,$4,$5,$6,$7}' echo $DATA $DATE fluentd config # linux_free ## Input @type […]