라벨이 [정보]인 게시물 표시

Docker 환경에서 ELK + MySQL 연동하기 #2 ELK + MySQL 연동

이미지
안녕하세요. 남산돈가스입니다.

지난 포스팅에 이어서 ELK와 MySQL 연동을 진행해보겠습니다.

지난 시간까지 ELK 중 Elastic Search와 Kibana 까지만 설치를 하였는데

이제 Logstash를 설치하고 MySQL에 연동해보겠습니다.

먼저 MySQL 연동 시 조회해야 할 데이터를 임의로 넣기 위해서 지난 시간에 Docker로 올렸던 MySQL 접속정보로 Workbench에 접속합니다.

최초 접속 시 생성 된 Schema가 없기 때문에 새로운 Schema를 생성해야 합니다. ELK_TEST라는 스키마를 생성하고 ELK_TEST에 person이라는 테이블을 생성합니다.
테이블 컬럼으로는 id, name, gender, birth 이렇게 4가지의 기본 컬럼을 추가합니다.
 테이블을 생성한 뒤 테스트를 위하여 8개 Row를 insert 합니다.
 테스트 데이터를 insert 하고 조회하여 데이터가 정상적으로 입력되었는지 확인합니다.

8개 데이터가 입력 된 것을 확인했습니다. 그럼 이제 logstash 설치로 다시 돌아가봅시다.
터미널에서 docker 명령어를 이용하여 logstash를 설치하겠습니다.
$ docker pull logstash Using default tag: latest latest: Pulling from library/logstash 0bd44ff9c2cf: Already exists 047670ddbd2a: Already exists ea7d5dc89438: Already exists 4a05570971bb: Already exists 66f679cd5859: Already exists 89362eaac850: Already exists d76c23323cb4: Already exists f7a113d2d566: Already exists cb2dece5a7e2: Pull complete 8cf5a699244c: Pull complete c275eeaebd29: Pull complete 159e9a1395db: Pull compl…

Docker 환경에서 ELK + MySQL 연동하기 #1 ELK + MySQL 설치

이미지
안녕하세요. 남산돈가스입니다.

지난 포스팅까지 Docker의 기본 사용법에 대해서 알아보았습니다.

이번에는, 2번의 포스팅으로 나누어 Docker 환경 위에서 ELK스택을 구성하는 법에 대해서 소개 해드릴까 합니다.

회차 별로 소개할 내용은 다음과 같습니다.


#1. ELK + MySQL 설치#2. ELK + MySQL 연동
그 중 첫 번째 시간으로, ELK스택 환경과 연동을 위한 MySQL을 설치해보겠습니다.

Docker 환경 위에서 설치하기 때문에, Docker에 대한 기본 사용법은 숙지하고 계셔야합니다.
Docker(도커) 기본 사용법 을 참고하시면 될 것 같습니다.

자, 그럼 일단 환경설치를 위해서는 Docker 이미지를 설치해야합니다.
필요한 Docker 이미지는 ELK의 Elasticsearch, Logstash, Kibana 그리고 MySQL까지 총 4개입니다.
pull 명령어를 이용하여 해당하는 이미지를 다운받습니다.

* Elasticsearch

gimseongsin@gimseongsin-ui-MacBook-Pro:~/Desktop/es/data:> docker pull elasticsearch Usingdefault tag: latest latest:Pulling from library/elasticsearch 0bd44ff9c2cf:Pull complete 047670ddbd2a:Pull complete ea7d5dc89438:Pull complete 4a05570971bb:Pull complete 66f679cd5859:Pull complete 89362eaac850:Pull complete d76c23323cb4:Pull complete f7a113d2d566:Pull complete aba04b0b43a6:Pull complete 9a29cd26e638:Pull complete 4e2a9305ca59:Pull complete 0687201a6469:Pull complete ccf428600204:Pull complete cb86c34e6…

Docker(도커) 기본 사용법

안녕하세요. 남산돈가스입니다.


오늘은 지난 포스팅에 이어서 docker 명령어의 기본적인 사용법에 대해서 알아보도록 하겠습니다.

일단, 기본적으로, 실행하는 환경에 docker가 설치되어 있으셔야 합니다. 만약 설치가 되어있지 않다면,

Linux환경에서 Docker(도커) 설치 및 컨테이너 실행하기를 참고하셔서, Docker를 설치하시기 바랍니다.
- Docker 버전 확인하기 (version)
도커가 설치 되었는 지, 현재 버전을 확인하고 싶은 경우, version 명령어를 이용하여 확인할 수 있습니다.
root@ip-172-31-0-7:~# docker version Client: Version: 18.05.0-ce API version: 1.37 Go version: go1.9.5 Git commit: f150324 Built: Wed May 9 22:16:25 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.05.0-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: f150324 Built: Wed May 9 22:14:32 2018 OS/Arch: linux/amd64 Experimental: false

- Docker 이미지 검색하기 (search)

실제 도커 환경에서 실행할 이미지를 search 명령어를 이용해 검색할 수 있습니다.

예를 들어, ubuntu 이미지를 검색하고 싶으면,

root@ip-172-31-0-7:~# docker search ubuntu NAME DESCRIPTION …

Linux환경에서 Docker(도커) 설치 및 컨테이너 실행하기

이미지
안녕하세요. 남산돈가스 입니다.

오늘은 요새 들어서 한참 뜨고 있는 도커라는 기술에 대하여 설치 및 사용법을 알아보려고 합니다.

일단, 도커라는 것은 컨테이너 기반의 오픈소스 가상화 플랫폼이라고 말할 수 있는데요.

이번 포스팅은 설치 및 사용법에 대한 게시글이기 때문에 도커에 대한 기본 설명은 '도커란 무엇인가?' 라는 아주 쉽게 이해할 수 있도록 정리되어있는 글이 있어 링크를 걸었습니다. 
위 링크에서 도커에 대한 기본 개념을 이해하시면 될 것 같습니다.

이어서 제가 보여 드릴 예제는 Ubuntu 기반 Linux환경에서 Docker Engine을 설치한 뒤, 검색엔진 오픈소스인 Elastic Search를 설치하여 구동하는 내용을 다루어보려고 합니다.

먼저, Linux 환경에 접속합니다. 최초 Linux 서버에는 Docker 명령어를 지원하지 않기 때문에 도커를 설치해줘야합니다.

리눅스에 도커를 설치하는 방법은 curl 명령어를 이용하여 설치 스크립트를 다운받아 실행하는 것이 제일 쉽게 제공되고 있기 때문에, 아래 명령어를 입력하여 설치를 진행합니다.


$ curl -fsSL https://get.docker.com/ | sudo sh

명령어를 실행하면, 다음과 같이 docker 가 설치 되는 과정이 출력됩니다.
docker 설치가 완료 되었다면, 정상적으로 설치가 되었는 지 확인하기 위해서 version 명령을 실행해봅니다.
* docker는 root 권한으로 설치하였기 때문에 docker 명령어를 이용하기 위해선 root 계정으로 변경하거나 sudo 를 이용하여 root 권한으로 docker 명령어를 실행할 수 있습니다.
$ sudo su - && docker version
버전정보를 보시면 클라이언트와 서버로 나뉘어져 있는 것을 확인할 수 있습니다. 왜냐하면, 도커는 하나의 실행파일이지만 실제로 클라이언트와 서버역할을 각각 할 수 있기 때문에, 도커 커맨드를 입력하면 도커 클라이언트가 도커 서버로 명령을 전송하고 결과를 받아 터미널에 …

Angular2+ 에서 넘치는 글자 말줄임표(...) 처리하기

Angular2+ 에서 말줄임(...) 처리는 크게 세 가지로 할 수 있습니다.

1. Pipe 로 템플릿 단에서 처리

2. 스크립트 처리

3. CSS 로 처리
1줄일 경우, 2줄 이상일 경우 다른 방법이 쓰입니다.

이 세 가지에 대해 간단한 핵심 소스를 공유 드립니다.


1. Pipe

*.ts
str:string = '일이삼사오육칠팔구십'

*.html
<div> {{ (str.length>6)? (str | slice:0:6)+'...':(str) }} </div>

결과화면
일이삼사오육...



2. 스크립트 사용

*.ts
var limitLen = 6;

if (str.length > length) {
     str = str.substr(0, limitLen) + '...';
}

*.html
<div> {{ str }} </div>

결과화면
일이삼사오육...



*jquery ellipsis 사용

See the Pen jQuery ellipsis by jaeheekim (@jaehee) on CodePen.


2. CSS 사용

1줄일 경우

div {
   white-space:nowarp; /* 줄바꿈 막음*/
   text-overflow:ellipsis; /* ... 로 보이게 */
   overflow:hidden;
}


2줄 이상일 경우

div {
     font-size:1em;
     overflow:hidden;
     text-overflow:ellipsis;
     line-height:1.5;
     height:3em;  /* line-height의 두 배 */
     display:-webkit-box;
     -webkit-line-clamp:2; /* 나타낼 글자 라인 수 */
     -webkit-box-orient:vertical
}



2줄인데 영문 + 한글이 섞여 있어서 높이값을 정해주면 아래쪽이 잘려보이는 등 약간 까다로운 경우

가 이번에 생겨서 다른 쇼핑…