Fluentd Use Case rsyslog 플러그인 활용하기 fluentd 는 기본적으로 rsyslog 를 수신하고 파싱할 수 있는 플러그인이 설치된다. rsyslogd 자체적으로 로그를 모을수 있는 기능이 있으므로 aggregator 서버를 통해 rsyslog 를 1차적으로 모은 다음, 몇 대의 aggregator 서버에서 fluentd 에게 로그를 전달해줄 수 있도록 한다. rsyslog data 흐름은 다음과 같다. 여러 대의 syslog 발생 서버 -> 몇 […]
[ElasticSearch] Configuration
ElasticSearch 설정/관리 elasticsearch.yml 아래는 엘라스틱서치 바이너리 내에 yml.template 로 기본 기재된 파라미터 Parameter Name Default Value cluster.name my-application node.name node-1 node.attr.rack r1 path.data /path/to/data path.logs /path/to/logs bootstrap.memory_lock true network.host 192.168.0.1 http.port 9200 discovery.zen.ping.unicast.hosts [“host1”, “host2”] discovery.zen.minimum_master_nodes gateway.recover_after_nodes 3 action.destructive_requires_name true cluster.name 클러스터 이름. 이 이름이 같아야 멤버 노드드들이 조인이 가능하다. 다른 엘라스틱서치 시스템 노드의 클러스터 […]
[ElasticSearch] Index Template
ElasticSearch Index templates Index template은 새로운 index가 생성될 때에, index 설정 또는 특정 필드의 데이터 타입을 정의해준다. ElasticSearch에 Logstash 등 수집기로 데이터 수집 전 index가 사전 생성될 필요가 없다. 그런데 그냥 수집하면 숫자나 날짜는 알아서 파싱을 하는데 나머지 대부분은 text로 해석한다. index template를 생성함으로써 index별로 Shard 갯수나 특정 필드에 대한 개별적인 관리를 할 수 있다. […]
[ElasticSearch] 실행 종료 스크립트
Elaticsearch 파라미터 변경해가며 테스트하는데, 실행 종료가 번거로워서 만들어본 스크립트 pid 파일을 남기는 프로세스에 응용해볼 수 있을 것 같다. 아래 스크립트를 이용하려면 어쨋든 $ES_PID 경로에 pid 파일을 남기도록 사전에 설정해주어야 한다. #!/bin/bash ES_HOME=/elastic/elasticsearch ES_PROC=$ES_HOME/bin/elasticsearch ES_PID=$ES_HOME/elasticsearch_pid if [ "$1" = "start" ];then if [ -e $ES_PID ];then echo "Start up failed, please check if ElasticSearch (PID:`cat $ES_PID`) […]
[Python] urllib
urllib urllib 라이브러리를 이용해 web 데이터를 python에서 손쉽게 활용 가능. urllib 내에 총 4개의 모듈이 존재. request parse request 웹을 열어서 데이터 읽어오는 역할. 웹에서 얻은 데이터 객체 정보 전달 test source code #!/apps/python/bin/python import urllib.request req = urllib.request res = req.urlopen(“http://oboki.net”) print (res) ## 서버 정보 반환 svr = res.getheaders() for i in svr: […]
[Python] 공공데이터포털 openAPI 이용하기
공공데이터포털 openAPI 이용하기 Python 활용신청 회원가입 후 개발계정 발급 신청 필요 오픈API 제공 데이터셋 선택 사용 목적 등 신청 사유 작성하여 접수. 몇 시간 걸림. 일반 인증키 발급 키 발급 신청 이후 한 시간 정도 지나야 사용 되는 듯. 개발 가이드 doc 보고 따라하면 되는듯 보행자무단횡단사고다발지역정보 Rest 조회 예 아래 URL을 웹 브라우저에서 조회 http://apis.data.go.kr/B552061/jaywalking/getRestJaywalking?serviceKey=’YourServiceKey’&searchYearCd=2015052&siDo=11&guGun=320 […]
[ElasticSearch] ElasticSearch 6 버전에서 Head Plugin 설치
ElasticSearch Plugin Head Installation head plugin 을 이용해서 cluster 상태, index 정보, 간단한 쿼리 수행 등의 기능을 편리하게 사용할 수 있다. elasticsearch 6 버전에서는 plugin installer를 이용한 설치가 불가능하여 굳이 사용하기 위해서는 별도 웹 서비스가 필요하다. nodejs 를 통해서 웹서비스를 하고, 웹 소스는 github 에서 별도로 내려받는다. elasticsearch 6 버전부터는 X-PACK, Kibana 확장을 통해 인덱스 […]
[ElasticSearch] 2 nodes cluster 설치
Elasticsearch 설치 (2 node cluster) 사전 준비 시스템 사용자 생성 및 디렉토리 설정 시스템 사용자 생성 useradd elastic -g bigdata -u 9200 디렉토리 권한 설정 다음과 같이 엔진, 로그, 데이터파일 경로를 구분하여 설치를 진행한다. elasticsearch 엔진 경로 /app/elasticsearch elasticsearch 엔진 로그 경로 /logs/elasticsearch elasticsearch 데이터파일 (인덱스) 경로 /data/elasticsearch chown elastic:bigdata /app/elasticsearch chown elastic:bigdata /logs/elasticsearch chown […]
[Linux] sshd
Parameters PermitRootLogin root 계정에 대한 ssh 접근 허용 여부 yes no ClientAliveInterval ssh 클라이언트의 유지 기간 sec 단위 ClientAliveCountMax ClientAliveInterval 카운트 AllowUsers 로그인 허용 사용자 리스트 Jan 24 00:00:00 host sshd[11111]: User root from localhost not allowed because not listed in AllowUsers AllowGroups 로그인 허용 사용자그룹 리스트