munin main 설치하는거나 노드 설치시 centos 나 우분투에 설치하는건 워낙 많으니 패스하고.

여기서는 munin node를 windows 와 macos x 에 설치해볼 예정이다.

 

먼저 윈도우

 

https://github.com/singularcitrus/munin-node-win32

https://github.com/singularcitrus/munin-node-win32/releases/tag/1.7.3.0

 

singularcitrus/munin-node-win32

Munin Node for Windows. Contribute to singularcitrus/munin-node-win32 development by creating an account on GitHub.

github.com

이사람께 가장 최근(2020년)에 올라온 윈도우용 노드 설치같다.

 

munin master 설정파일은
    apache_accesses.graph_args  --upper-limit 500
    load.graph_args     --upper-limit 50
    netstat.graph_args  --upper-limit 2000
    iostat.graph_args   --upper-limit 5000 --lower-limit -5000
    if_eth0.graph_args  --upper-limit 100000000 --lower-limit -100000000
    memory.graph_args   --upper-limit 128000000000
    cpu.graph_args      --upper-limit 800
    cpu.idle.colour     D4E4F7



방화벽 허용해주고 저거 실행하면 일단... 되긴 하는것같다. df나 몇몇개는 되는데 안되는게 있다.

 

cpu나 network는 기존 munin에서 불러오는 파일 네임이 다르다. 따라서 소스를 수정해주거나 혹은 파일을 심볼릭 링크 걸어줘야 한다.
munin의 아파치 접속되는 소스 홈디렉토리로 들어간 뒤 모니터링 할 서버의 파일이 위치한 곳에서 아래와 같이 심볼릭링크를 걸자.

기존 munin이 참조하는 파일 네임은 cpu.html cpu-day.png 혹은 if_eth0-day.png 등이다. (이건 설치한 munin마다 다를 수 있을듯)
허나 윈도우에 설치한 munin node는 위와같이 cpunew*, network로 생성이 된다. 따라서 심볼릭링크가 필요.

그외에 vmstat 이나 iostat이 안되는게 있는데 이건 아에 windows munin node 에서 생성을 안하는듯 한다.

이건 윈도우의 perfmon 기능을 통해 윈도우 자체에서 생성을 해주고 이걸 munin이 가지고 오게 해야 할 듯 하다.

위 부분을 참고하면 될 것 같은데... 추후에 꼭 진행해볼 예정이다.일단 지금은 macos에도 munin node를 설치해야 하니 패스하고..

----------------

window munin install 두번째 방법
windows subsystem linux(wsl)을 이용하여 윈도우에 우분투를 설치 한 뒤 apt-get으로 munin-node를 설치. 
서버 사양에 큰 무리가 없다면 이방법이 가장 심플하고 좋다.

 

 

---------

다음은 macos에 munin install.
Install munin on OSX 요약
1. Install Xcode
2. Install Xcode Developer Tools, the easy way is to type in terminal
  $ sudo xcode-select --install
3. Install MacPorts
4. Update port(always useful)
  $ sudo port selfupdate
6. Install munin using port
  $ sudo port install munin
7. Install suggested plugins
  $ sudo -u munin munin-node-configure --suggest --shell | sudo sh
8. Enable munin at startup
  $ sudo port load munin

 


macos에서 munin-node가 실행되기 위해서는 Xcode가 설치돼있어야한다.
macos의 버전에맞는 xcode를 설치 한 뒤 munin-node를 설치를 진행한다.

centos의 yum이나 ubuntu의 apt-get 같은 패키지 관리 소프트웨어인 macos의 homebrew를 통해서는 munin을 설치할 수 없다. homebrew에서 munin 패키지를 제공하지 않는다. 따라서 macos의 다른 패키지 관리 소프트웨어인 macports를 통해 설치가 필요하다. 

 

macports를 설치 하고 munin을 인스톨해준다.
그리고 설정을 불러와주고. /etc/munin.conf에 접근권한을 수정해주고(메인서버에서 노드서버로 접속하여 정보를 가져갈 수 있도록)

 

이글은 마리아디비 공식 홈페이지에 있는 내용만을 참고하여서 오인입된 내용은 없을것같다.
영어에 익숙치 않고 columnstore가 뭔지 & 어떻게 사용하는지에 대해 알아보는 글이고, 알아보면서 한번에 이해되지 않는 용어들은 구글링해서 적어둠

1.mariadb columnstore란 

더보기

MariaDB ColumnStore is a columnar storage engine that utilizes a massively parallel distributed data architecture. It's a columnar storage system built by porting InfiniDB 4.6.7 to MariaDB, and released under the GPL license.
It is designed for big data scaling to process petabytes of data, linear scalability and exceptional performance with real-time response to analytical queries. It leverages the I/O benefits of columnar storage, compression, just-in-time projection, and horizontal and vertical partitioning to deliver tremendous performance when analyzing large data sets.


컬럼지향 스토리지 엔진이고(columnar storage)

더보기

<정의> columnar storage engine 이란

데이터의 저장을 칼럼단위로 처리하는 데이터베이스를 말한다. 

<장점>

칼럼 단위의 값은 데이터가 유사할 가능성이 높다. 이로 인해 높은 압축율을 얻을 수 있다. 

MIN, MAX, SUM, COUNT 와 같은 연산에서 높은 성능을 얻을 수 있다. 

<종류>

아마존 Redshift, 아파치 Cassandra, HBase 등이 있다. 

출처: https://118k.tistory.com/400 [개발자로 살아남기]

대용량 병렬 분산 데이터 아키텍처를 사용(massively parallel distributed data architecture)
페타단위의처리를 위한 빅데이터 확장(big data scaling to process petabytes of data)
선형 확장성과 분석쿼리에 대한 실시간 응답을 통한 탁월한 성능(linear scalability and exceptional performance with real-time response to analytical queries)

더보기

선형 확장성이란 
If the scalability factor stays constant as you scale. This is called linear scalability.
말그대로 노드(컬럼스토어엔진에서는 퍼포먼스모듈, PM)가 1대 > 2대가되면 성능은 2배가 된다. 1대가 3대되면 성능은 3배, 2대가 3배되면 성능은 1.5배. 즉 선형적(linear)으로 확장성을 제공한다.

한마디로 빅데이터 분석과 같은 MPP(대용량 병렬 분산 처리)용으로 설계된 columner 스토리지엔진이다.

 

2.architecture 

더보기

Deployments are composed of several MariaDB servers, operating as modules, working together to provide linear scalability and exceptional performance with real-time response to analytical queries. These modules include User, Performance and Storage.

user모듈(UM), performance모듈(PM), storage로 구성

 

user module이란

더보기

User Modules are MariaDB Server instances configured to operate as a front-ends to ColumnStore.

The server runs a number of additional processes to handle concurrency scaling. When a client queries the server, the storage engine passes the query to one of these processes, which then break down the SQL request and distributed the various parts to one or more Performance Modules to process the query and read from storage. The User module then collects the query results and assembles them into the result-set to return to the client.

For more information, see the ColumnStore User Module.

프론트엔드로 작동한다. concurrency scaling(동시성확장? 동시에 실행되는 쿼리를 일관된 속도로 빠르게 처리하기 위해) 에 중점을 두고 있다. 
여기서 프론트엔드와 concurrency scaling 가 중요한듯 하다.
프론트엔드 : 엔드유저의 쿼리를 관리&제어한다. 허나 해당 쿼리를 실제로 처리하는건 퍼포먼스모듈임. 그래서 프론트엔드

더보기

The User Module manages and controls the operation of end user queries. It maintains the state of each query, issues requests to one or more Performance Modules to process the query, and resolves the query by aggregating the various result-sets from all participating Performance Modules into the one returned to the end user.

concurrency scaling : 컬럼스토어엔진은 빅데이터 처리를 위한 엔진이기 때문에 concurrency scaling가 굉장히 중요하다. 그렇기 때문에 컬럼스토어에서는 여러개의 프로세스를 추가로 실행한다.

더보기

The server runs a number of additional processes to handle concurrency scaling.

마지막으로 유저모듈에서 실행하는 프로세스들이 몇가지 있다. 마찬가지로 퍼포먼스 모듈에서도 몇가지 실행하는 프로세스들이 있는데 퍼포먼스 모듈 설명 말미에 스샷과 함께 설명할 예정

performance module이란

더보기

Performance Modules are responsible for storing, retrieving and managing data, processing block requests for query operations, and for passing it back to the User module or modules to finalize the query requests.

유저 모듈을 통해 받은 쿼리(데이터 저장 검색 관리등)를 처리하여 사용자 모듈로 다시 전달(셀렉쿼리 같은건 전달해야하고)해주거나 혹은 처리(인설트같은건 처리)하는 모듈

 

 

위 스크린샷처럼 각종 프로세스가 있다.
mysqld, exemgr, ddlproc,dmlproc는 유저모듈에서 실행하는 프로세스이고 나머지는 퍼포먼스 모듈에서 실행하는 프로세스다. 각각마다 기능이 있다. 예를들어 mysqld는 mariadb쿼리를 처리하기 위해 실행되는 프로세스로 쿼리 구문을 컬럼스토어가 처리할 수 있게 변환해준다. ddl/dml 은 각각 ddl/dml 처리하기 위한 프로세스일꺼고. 프로세스모니터는 procmon 등 자세히 알고 싶으면 공식독스 참고.(근데 굳이 이것까지 알아야 할 필요가 있나 싶다.)

 

 

 

storage란

 

 

3.query process는 ?

 

4.install & start & stop

 

5

 

 

 

키사에서 제공되는 안내서는 (구)ISMS는 현재 사장된 인증이고 현재는 ISMS-P로 봐야 한다.
isms-p 에서 isms & isms-p로 나뉜다. isms-p는 개인정보가 포함된 인증

 

의무대상자

 

ISMS-P_인증제도_안내_리플릿.pdf
1.12MB

간략한 내용은 위 pdf를 참고하면 되고

 

ISMS-P_인증기준_세부점검항목(2019.01.17).xlsx
0.05MB

세부항목은 위 파일을 참고하면 된다.

 

 

인증 절차 및 소요 기간
ISMS 구축(N개월) -> ISMS 운영(2개월) -> 신청서 접수 -> 인증심사(1개월) -> 보완조치 (100일) -> 인증위원회 심의, 의결(1개월) -> 인증서발급

 

 

최초인증시에는 준비된 서류가 없기때문에 굉장히 힘들다고 한다. 그래서 컨설팅업체를 끼고하는게 대부분이다. 

 

---------------아래는 isms 준비하면서 공부 된것들, 몰랐던것들, 중요하다고 내가 판단한것들 두서없이 적어본다.
1.isms 정책 문서는 정보보호 정책&지침과 이를 이행하기 위한 방법,절차,주기등이 규정된 메뉴얼들은 CEO(or 위임받은) 의 승인을 받아 모든 조직원이 접근하기 쉬운 형태로 제공

 

'일상 > 기타' 카테고리의 다른 글

ISMS인증 안내서 요약  (0) 2021.04.27

+ Recent posts