반응형

환경 : centOS 7, docker 1.13.1 

 

docker 설치

> yum install docker -y

 

버전 확인

> docker -v

 

docker 실행

> service docker start

 

docker hub 에서 특정 이미지 검색

  ex) tomcat 관련 이미지 검색 시 

> docker search tomcat

 

docker hub 에서 특정 이미지 다운로드 ( 위 이미지 에서의 NAME 을 인자로 입력, 'docker.io' 생략 가능 )

> docker pull tomcat
   or
> docker pull docker.io/tomcat

 

현 시스템에 설치된 docker 이미지 검색

> docker images

 

 

컨테이너 실행

# 단순 실행
> docker run tomcat

# 쉘이 켜지는 상태로 실행 ( -i : interactive, -t : tty )
> docker run -it tomcat /bin/bash

# 포트 포워딩 ( Host 의 8081 포트를 Container의 8080 포트로 포워딩 )
> docker run -p 8081:8080 tomcat

# 별칭 설정
> docker run --name myTomcat tomcat

 

컨테이너 종료 하며 나가기

> exit
  or
Ctrl + d

 

컨테이너 종료 없이 나가기

Ctrl + p, q

 

컨테이너 현황 확인

# a 옵션 : 종료된 컨테이너 포함
> docker ps -a

 

컨테이너 접속 ( 위 이미지 에서의 NAMES or CONTAINER ID 를 인자로 입력 )

> docker attach myTomcat
   or
> docker attach 38d08a408d94

 

컨테이너 중단 ( 위 이미지 에서의 NAMES or CONTAINER ID 를 인자로 입력 )

> docker stop myTomcat
   or
> docker stop 38d08a408d94

 

컨테이너 재시작  ( 위 이미지 에서의 NAMES or CONTAINER ID 를 인자로 입력 )

> docker restart myTomcat
   or
> docker restart 38d08a408d94

 

 컨테이너 삭제 ( 위 이미지 에서의 NAMES or CONTAINER ID 를 인자로 입력 )

> docker rm myTomcat
   or
> docker rm 38d08a408d94

 

반응형

'도구, 툴' 카테고리의 다른 글

GIT example  (0) 2020.05.01
[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Kibana  (1) 2019.01.29
[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
반응형

작성일자 : 2020.04.30

 

GIT 파일 관리 상태

GIT 에 의해 관리되는 파일은 크게 Untracked, Tracked 의 상태를 가지며 Tracked 상태의 파일들은 다시 Unmodified, Modified, Staged 의 상태를 가진다.

 

Untracked : 파일의 수정 여부를 git이 신경쓰지 않는 상태. 

Tracked : 파일의 수정이 일어났을 때 git이 파일의 변경을 감지하는 상태.

Unmodified : 추적중인 파일의 수정이 없는 상태

Modified : 추적중인 파일의 수정이 발생한 상태

Staged : 수정한 내용이 Staged area 에 올라가 Commit 할 수 있는 상태

 

* 새로 파일을 만들면 Untracked 상태가 된다. git add 명령어를 통해 Staging area 에 저장하면서 해당 파일을 Tracked 상태로 변경할 수 있다.

 

 

Git Repository 생성 후, 처음 파일 Push

 

1. Git Repository 생성

 

 

 

2. workspace 설정

 

git bash 를 사용하여 workspace 아래에서 작업

 

$ git init
$ git remote add origin 'git_repository_url'
$ git remote -v

 

 

3. push

 

git bash 를 사용하여 workspace 아래에서 작업

 

$ git add --all
$ git commit -m "comment"
$ git push origin master

 

 

 

 

Git Repository Clone

 

git bash 를 사용하여 workspace 아래에서 작업

 

$ git clone 'git_repository_url'

 

 

 

 

작업 내용 Push

 

$ git pull origin master         // 푸시 전 저장소 동기화
$ git status                            // 스테이징

$ git add -p                           // 스테이징할 파일 선택 y : 스테이징함, n : 스테이징 하지 않음, q : 명령어 종료 
$ git commit -m "comment" // 커밋
$ git push origin master       // 푸시

 

 

++

--allow-unrelated-histories  
서로 관련 없는 두 프로젝트를 병합을 허용하는 옵션

 

$ git pull origin master --allow-unrelated-histories  
반응형

'도구, 툴' 카테고리의 다른 글

[docker] 기본 명령어  (0) 2020.05.24
[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Kibana  (1) 2019.01.29
[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
반응형

작성일자 : 2019.11.03

환경 : npm 6.12.0

 

 

1. create-react-app 설치

 

> npm -g install create-react-app 

 


2. Project 생성

 

> create-react-app "ProjectName"

 

# VSCode 내 터미널에서는 명령어 안먹힘 -> CMD 사용


3. Project 실행

 

> cd "PrjoectName"
> npm start

 

확인 

Port : 3000

 

 

 

 

반응형

'도구, 툴 > 세팅' 카테고리의 다른 글

[vue] vuetify 사용 설정  (1) 2019.07.21
SVN 저장소 설정  (0) 2018.07.21
GIT 저장소 설정  (0) 2018.07.15
node.js 설치  (0) 2018.06.10
VSCode 설치  (0) 2018.06.10
반응형

[vue] vuetify 사용 설정

 

작성일자 : 2019.07.21

환경 : Vue 2.6.10, Vue-Cli 2.9.10, npm 6.9.0, webpack 3.12.0

 

 

1. vuetify 추가

 

%ProjectPath%> npm install vuetify

 

node_modules 밑에 vuetify 생성 확인

 

 

 

2. vuetify 사용 설정

 

%ProjectPath%> vue add vuetify

 

아래 설정이 자동으로 추가됨

 

main.js

...
import vuetify from './plugins/vuetify'
new Vue({
  render: h => h(App),
  vuetify,
  router
}).$mount('#app')

...

 

src/plugins/vuetify.js

import Vue from 'vue';
import Vuetify from 'vuetify/lib/framework';

Vue.use(Vuetify);

export default new Vuetify({
});

 

src/components/HelloWorld.vue

<template> 
   ...
   ...
</template>

<script>
   export default {
      ...
      ...
   }
</script>

 

app.vue template 수정

 

 

3. 확인

 

vuetify 버튼 적용 확인

 

 

<template>
  <v-app id="app">
    <v-btn color="success">Success</v-btn
    <v-btn color="error">Error</v-btn>
    <v-btn color="warning">Warning</v-btn>
    <v-btn color="info">Info</v-btn>
  </v-app>
</template>

 

접근 시 vuetify 버튼 확인 가능

 

4. 사용 예시

 

vuetify 홈페이지에서 추가하고 싶은 Component를 찾기

https://vuetifyjs.com/ko/components/api-explorer

 

'Footer를 만들어보자'

 

예제 우측 상단 <> 버튼을 누르면 template과 script 코드가 나온다

 

 

foorter.vue 생성 후 template, script 복붙

 

 

 

컴포넌트를 사용할 vue에 추가

 

...
<script>
import vfooter from '@/components/footer'
export default {
   name: 'App',
   components: {
      vfooter
   }
}
</script>
...

 

template에 추가 

# vuetify 컴포넌트는 <v-app> 태그 안에 존재해야함

 

 

footer 추가 확인

반응형

'도구, 툴 > 세팅' 카테고리의 다른 글

[React] 기본 프로젝트 띄우기  (0) 2019.11.03
SVN 저장소 설정  (0) 2018.07.21
GIT 저장소 설정  (0) 2018.07.15
node.js 설치  (0) 2018.06.10
VSCode 설치  (0) 2018.06.10
반응형

[Spring boot] Logback 설정

 

작성일자 : 2019.07.14

환경 : Spring Boot 2.1.6

 

Logback이란 SLF4J의 구현체로 자바 오픈소스 로깅 프레임워크

 

# Spring Boot의 기본 로그 객체로 포함되어 있어 Gradle이나 Maven 설정없이 바로 사용 가능

# spring-boot-starter-web 안에 spring-boot-starter-logging 포함

 

 

1. 사용 방법

 

application.properties

..

..

# 전체 로그 레벨 설정

logging.level.root=info

 

 

# 특정 클래스만 설정

logging.level.com.example.demo.SpringboottestApplication=debug

..

..

 

 

MyClass.java

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory;

 

public class MyClass {

 

       private static final Logger logger = LoggerFactory.getLogger(MyClass.class);

 

       public void method() {

 

               logger.info("info");

               logger.debug("debug");

               

       }

 

}

 

2. 결과

 

Console에서 로그 내용 확인 가능

 

----

 

로그 레벨

이미지 출처 : http://myblog.opendocs.co.kr/archives/tag/%EB%A1%9C%EA%B7%B8-%EB%A0%88%EB%B2%A8

반응형

'도구, 툴' 카테고리의 다른 글

[docker] 기본 명령어  (0) 2020.05.24
GIT example  (0) 2020.05.01
[ELK] Kibana  (1) 2019.01.29
[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
반응형

[ELK] Kibana

작성일자 : 2019년 01월 29일




1. Kibana란?


Kibana는 Elasticsearch와 함께 작동하도록 설계된 오픈 소스 분석 및 시각화 플랫폼입니다. Kibana를 사용하여 Elasticsearch 색인에 저장된 데이터를 검색하고보고 상호 작용할 수 있습니다. 고급 데이터 분석을 쉽게 수행하고 다양한 차트, 테이블 및 맵에서 데이터를 시각화 할 수 있습니다.




2. 설치 및 실행


환경 : Windows 7, Elasticsearch 6.5.4, Kibana 6.5.4, JDK 1.8


설치파일 다운로드

https://www.elastic.co/kr/downloads/kibana




압축 해제로 설치 후 디렉터리 구조




설치 완료 후 %KIBANA_HOME%/bin/kibana.bat을 실행하여 kibana 실행

- Elasticsearch가 실행 중 이여야 합니다.



Status changed from yellow to green - Ready 문구가 보이면 성공 !!



※ 환경설정


%KIBANA_HOME%/config/kibana.yml을 통해 환경설정이 가능합니다.

아래는 기본 환경설정파일의 일부이며 Default 설정이 주석으로 적혀 있습니다.  


# Kibana is served by a back end server. This setting specifies the port to use.

..


#server.port: 5601

#server.host: "localhost"

#elasticsearch.url: "http://localhost:9200" 


...





3. 기본 사용법


3.1 Main

브라우저로 localhost:5601(default) 접근 시 메인화면 




현재 Elasticsearch에 저장된 데이터가 없기 때문에 kibana에서 제공하는 sample data를 추가하여 사용합니다.




적당한 데이터를 선택



Sampel을 추가하면 Elasticsearch에 해당 데이터셋이 저장되고 저장한 데이터를 kibana를 통해 시각화할 수 있습니다.

아래와 같이 추가된 Sample data를 확인할 수 있습니다.



- kibana


메인 > Management >Kibana > Index Patterns




kibana_sample_data_logs의 pattern 확인 !!



- Elasticsearch


elasticsearch index 확인 명령어(curl 사용)

curl -XGET 'localhost:9200/_cat/indices?v&pretty' 



kibana_sample_data_logs의 index 확인 !!



3.2 Discover 


데이터 셋을 raw한 json 형태로 확인할 수 있습니다.



3.3 Visualize


데이터 셋을 시각화 자료 추가 및 기존 시각화 자료 확인이 가능합니다.



기존의 시각화 자료




3.4 Dashboard


Visualize한 데이터를 토대로 자유롭게 커스터마이징 할 수있는 Dashboard입니다. Dashboard는 각각의 Panel로 이루어져 있습니다.





4. Reference


위 데이터 셋 및 시각화 자료는 Kibana에서 제공하는 Sample입니다. 

직접 자신의 데이터셋을 시각화 하고싶다면 아래 kibana user guide를 참고하시기 바랍니다.


Elastic kibana user guide : https://www.elastic.co/guide/en/kibana/6.5/index.html


반응형

'도구, 툴' 카테고리의 다른 글

GIT example  (0) 2020.05.01
[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
반응형

[ELK] Logstash

작성일자 : 2019년 01월 28일




1. Logstash란?


Logstash는 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진입니다. Logstash는 서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로 데이터를 정규화할 수 있습니다. 다양한 고급 다운스트림 분석 및 시각화 활용 사례를 위해 모든 데이터를 정리하고 대중화합니다.


logstash는 아래와 같은 아키텍처를 가지고 있습니다.



Input을 받아 커스텀 가능한 Filters로 가공하여 Output으로 내보내는 역할을 수행합니다.  Logstash는 Elasticsearch와 연동하여 많이 사용되며 이 경우 Logstash의 Output이 Elasticsearch의 Input이 되어 동작합니다.



Filters


필터는 아래와 같은 config 형식을 사용하여 커스텀이 가능합니다. 


input {

...

}


filter {

...

}


output {

...

}




2. 설치 및 실행


환경 : Windows 7, logstash 6.5.4, JDK 1.8


https://www.elastic.co/kr/downloads/logstash



ZIP 파일 다운로드 후 압축 해제로 간단하게 설치되며, 아래와 같은 디렉터리 구조 확인 가능



압축 해제한 폴더의 bin 아래의 logstash 실행파일을 CLI로 config 설정과 함께 실행


실행 명령어

$LOGSTASH_HOME ./bin/logstash.bat -e "input { stdin { } } output { stdout { } }"  


-e 옵션을 통해 config 설정을 명령어 라인으로 직접 입력할 수 있습니다.



Successfully started 문구가 보이면 실행 성공!




3. 기본 동작


Input Text(stdin) 입력 > Filter > Output Text(stdout)



현재 Filter를 따로 두지 않아 input이 자체 폼으로 변형 후 그대로 output으로 출력되는 모습을 확인할 수 있습니다.



  • config 파일 생성하기


-e 옵션을 통해 위와 같이 커맨드로 config 설정을 할 수 있지만, 매번 사용하기에는 번거로우니 config파일을 만들어서 적용시킬 수 있습니다.

-f 옵션을 통해 미리 만들어 놓은 config 파일을 사용할 수 있습니다.


logstash.conf Example

input{

 stdin{ }

}

filter{


}

output{

 stdout{ }

}


실행 명령어

$LOGSTASH_HOME ./bin/logstash.bat -f %CONFIG_HOME%/%CONFIG_FILE%





4. Logstash - Elasticsearch 연동


환경 : Windows 7, JDK 1.8, logstash 6.5.4, Elasticsearch 6.5.4

시나리오 : 동일 서버(localhost)에 있는 logstash와 Elasticsearch를 연동하여 logstash에 넣은 input을 가공하여 Elasticsearch에 저장 


4.1 Logstash config 설정


input {

  stdin {

  }

}

filter {

}

output {

  elasticsearch {

    hosts => ["localhost:9200"]

    index => "database"

    document_type => "table"

    document_id => "row"

  }

  stdout {

  }


- input text(stdin)을 입력 받아 필터링 없이 Elasticsearch에 저장 후 Output(stdout)을 출력

- 단순 Test를 위해 document_id를 고정

- Elasticsearch Default Port : 9200


4.2 확인


  • Logstash


"connectinTest" 직접 입력  >  Elasticsearch에 저장(로그 X)  >  stdout에 저장 내용 출력



message => connectingTest 확인 성공!!



  • Elasticsearch


Logstash에서 text 입력 후 conf 파일에 설정한 내용을 토대로 조회



message : connectingTest 확인 성공!!




5. Reference


본 과정은 필터가 없는 Input > Output의 시나리오로 진행 하였습니다.

보다 자세한 filter 사용법은 아래 User Guide를 참고하시기 바랍니다.


Logstash User Guide : https://www.elastic.co/guide/en/logstash/6.5/index.html

반응형

'도구, 툴' 카테고리의 다른 글

[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Kibana  (1) 2019.01.29
[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
R 설치  (0) 2019.01.07
반응형

[ELK] Elasticsearch


작성일자 : 2019년 01월 28일


1. Elasticsearch란?


Elasticsearch는 Elastic에서 제공하는 확장성이 뛰어난 오픈 소스 텍스트 검색 및 분석 엔진입니다. 대량의 데이터를 신속하고 거의 실시간으로 저장, 검색 및 분석 할 수 있습니다. 일반적으로 복잡한 검색 기능과 요구 사항이 있는 응용 프로그램을 구동하는 기본 엔진 / 기술로 사용됩니다.



2. 기본 개념


DB와 컨셉은 유사하고 DB와 비교하여 이해하면 이해하기 용이하다.


ElasticSearch 

DB 

Index

Database 

Type 

Table 

Document 

Row 

Field 

Column 

Mapping 

Schema 


다만 저장 방식은 DB와 차이를 보인다.

RDB의 경우 document=Item로 저장되어, 특정 Item을 검색하기 위해서는 모든 document를 조회하며 조건에 맞는 Item을 검색하는 반면,

Elasticsearch의 경우 Item=document의 방식으로 저장되어, 특정 Item을 가지는 document가 이미 저장 되어있어 검색시 매우 빠른 속도를 가진다. 

 

또한 Elasticsearch는 REST API를 기본으로 동작한다.



3. 설치 및 실행


환경 : Windows 7, Elasticsearch 6.5.4, JDK 1.8


3.1 설치파일 다운로드 


https://www.elastic.co/downloads/elasticsearch




3.2 알집 해제




3.3 elasticsearch.bat 실행




started 문구가 보이면 실행 성공!


3.4 확인


브라우저 접속 후 localhost:9200 접근 ( Elasticsearch Default port : 9200 )


4. 기본 동작


curl을 사용하여 CRUD 기본동작을 검증 ( Window에선 curl 사용을 위해선 추가 설치가 필요하며 본 과정에서는 Git Bash를 활용 )


  • Create (==Insert)


-XPOST localhost:9200/index/type/document -d "{"Item":"test"}" -H 'Content-Type: application/json'

( == INSERT INTO type (Item) VALUES ("test"); ) 

 


id가 "document"인 document에 { Item=test } JSON 형태의 값을 삽입 


  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> Item=test 데이터 조회 성공


  • Update

-XPUT localhost:9200/index/type/document -d "{"Item":"ModTest"}" -H 'Content-Type: application/json'

( == UPDATE type set Item="ModTest" WHERE id = "document"; )



id가 "document"인 document의 Item의 값을 "ModTest"로 수정



  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> Item=ModTest 수정된 데이터 조회 성공


  • Delete

-XDELETE localhost:9200/index/type/document

( == DELETE from type WHERE id="document"; ) 



id가 "document"인 document를 삭제 


  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> 삭제 된 데이터의 조회 실패 ( 삭제 성공 )

반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Kibana  (1) 2019.01.29
[ELK] Logstash  (0) 2019.01.28
[ELK] ELK 개요  (0) 2019.01.23
R 설치  (0) 2019.01.07
SVN 권한 설정  (1) 2018.02.10
반응형

[ELK] ELK 개요

작성일자 : 2019년 01월 30일



1. ELK란? 

ELK( ELK Stack )는 Elastic사 에서 제공하는 Elasticsearch, Logstash, Kibana의 세 가지 오픈 소스 프로젝트의 약자입니다. 

각 제품이 연동되어 데이터 수집 및 분석 툴로서 동작합니다. Elastic이라는 기업명에 걸맞게 높은 확장성과 뛰어난 이식성을 가지고 있어 다른 여러가지 툴과도 연동이 가능합니다.





Elasticsearch는 검색 및 분석 엔진입니다. RDB와 비슷하나 검색 및 분석 성능은 훨씬 뛰어납니다.




Logstash는 여러 소스의 데이터를 동시에 가져 와서 변환 한 다음 Elasticsearch와 같은 stash로 보내는 서버 측 데이터 처리 파이프 라인입니다. 




Kibana를 사용하면 Elasticsearch에서 차트와 그래프로 데이터를 시각화 할 수 있습니다.




+ Beats란?

단일 목적의 데이터 수집기 플랫폼인 Beats는 수백 수천 개의 장비와 시스템으로부터 Logstash나 Elasticsearch에 데이터를 전송합니다.



2. Architecture

1. 1개 이상의 Client( 수집할 Data 발생 서버 )에서 beats가 특정 트리거에 의해 logstash로 Data를 전송합니다. (각 Client마다 Beats 존재)

2. logstash로 전달 된 Data를 커스터마이징이 가능한 필터를 통해 가공하여 Elasticsearch로 전달 합니다.

3, Elasticsearch로 전달 받은 데이터를 서버(Elasticsearch)에 저장합니다.

4. kibana에서 연동되있는 Elasticsearch에 저장된 데이터 셋을 토대로 시각화를 제공 합니다.




3. Reference

주로 많이 함께 사용하는 제품들을 묶어 ELK( ELK Stack)이라 부르고 있으나, 앞서 말했듯이 각 제품은 확장성이 뛰어나기 때문에 모든 제품을 같이 사용할 필요는 없습니다. 적용할 상황에 따라 다른 제품으로 대체할 수도 있고 특정 제품은 제외시킬 수도 있습니다. 


Elastic ELK : https://www.elastic.co/kr/elk-stack

반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
R 설치  (0) 2019.01.07
SVN 권한 설정  (1) 2018.02.10
Eclipse/SVN 연동  (0) 2018.02.10
반응형

R 설치


작성일자 : 2019년 01월 07일

환경 : Win7, R 3.5.2


1. R이란?


R 프로그래밍 언어(줄여서 R)는 통계 계산[2]과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경 - 위키백과



2. R 설치


2.1 http://healthstat.snu.ac.kr/CRAN/ 접속

2.2 Download R for Windows > base > Download R 3.5.2 for Windows 순서로 설치파일 다운로드 후 설치



3. Hello World


R x64 3.5.2 실행


반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
SVN 권한 설정  (1) 2018.02.10
Eclipse/SVN 연동  (0) 2018.02.10
[Linux, Tomcat7] WAS 개념, 설치  (0) 2018.02.09

+ Recent posts