본문 바로가기

Linux is..../OpenSource Software

오픈 프로젝트 - 시스템관리솔루션 COCKPIT

http://cockpit-project.org/

 

이번엔 시스템관리 솔루션중에서 익히 알려져 있는 오픈소스 프로젝트의 COCKPIT에 대해 소개해볼까 합니다.
아마 아시는 분은 알고 모르는 분들은 모를꺼라 보이는데요.

 

REDHAT에서 배포하는 Release Note에서 보신 분은 아시겠지만 RHEL/CentOS 7버전부터 시스템관리 솔루션인 COCKPIT 오픈소스 프로젝트가 REDHAT에 참여하게 되었습니다.

 

GETTING STARTED WITH COCKPIT
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/getting_started_with_cockpit/


 

먼저 COCKPIT 이라는 넘을 전통적인 시스템관리자는 잘 모를수도 있지만 모니터링 솔루션을 개발하거나 프로젝트를 참여했던 개발자라면 익히 많이 들어온 프로젝트일 것 입니다.

 

COCKPIT 을 간단하게 소개하면 다음과 같은 특징을 꼽을수 있습니다.
1) RHEL의 경우 RHN(RedHat Network)을 통해 RPM으로 배포되기 때문에 인터넷이 연결된 사용자라면 누구나 손쉽게 설치가 가능합니다.(물론 기본 레포지토리에서 제공되기 때문에 ISO파일내에도 포함)

2) IE, Firefox, Chrome 등 여러 웹브라우저를 통해 사용자가 손쉽게 UI접근이 가능하고 확인이 가능합니다.

3) 별도의 인터페이스 필요없이 시스템 콘솔과 WEB Tool사용이 가능하게 됨에 따라 즉시 시스템의 상태(system resource, log messages, Networking, Services)를 확인이 가능합니다.

4) 여러 멀티 서버(물리서버, 가상서버, Container, 마이크로서비스 등)까지도 시스템관리가 가능합니다.

 

 

그럼 한번 설치해보면서 이넘이 다른 넘가 무슨 차이가 있는지 확인해보도록 합니다.


# yum install cockpit
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
Resolving Dependencies
--> Running transaction check
---> Package cockpit.x86_64 0:138-9.el7 will be installed
--> Processing Dependency: cockpit-bridge = 138-9.el7 for package: cockpit-138-9.el7.x86_64
--> Processing Dependency: cockpit-system = 138-9.el7 for package: cockpit-138-9.el7.x86_64
--> Processing Dependency: cockpit-ws = 138-9.el7 for package: cockpit-138-9.el7.x86_64
--> Running transaction check
---> Package cockpit-bridge.x86_64 0:138-9.el7 will be installed
---> Package cockpit-system.noarch 0:138-9.el7 will be installed
---> Package cockpit-ws.x86_64 0:138-9.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch        Version          Repository               Size
================================================================================
Installing:
 cockpit             x86_64      138-9.el7        rhel-7-server-rpms       43 k
Installing for dependencies:
 cockpit-bridge      x86_64      138-9.el7        rhel-7-server-rpms      451 k
 cockpit-system      noarch      138-9.el7        rhel-7-server-rpms      861 k
 cockpit-ws          x86_64      138-9.el7        rhel-7-server-rpms      422 k

Transaction Summary
================================================================================
Install  1 Package (+3 Dependent packages)

Total download size: 1.7 M
Installed size: 2.4 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): cockpit-138-9.el7.x86_64.rpm                        |  43 kB   00:06
(2/4): cockpit-bridge-138-9.el7.x86_64.rpm                 | 451 kB   00:07
(3/4): cockpit-ws-138-9.el7.x86_64.rpm                     | 422 kB   00:00
(4/4): cockpit-system-138-9.el7.noarch.rpm                 | 861 kB   00:01
--------------------------------------------------------------------------------
Total                                              206 kB/s | 1.7 MB  00:08
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : cockpit-bridge-138-9.el7.x86_64                              1/4
  Installing : cockpit-system-138-9.el7.noarch                              2/4
  Installing : cockpit-ws-138-9.el7.x86_64                                  3/4
  Installing : cockpit-138-9.el7.x86_64                                     4/4
  Verifying  : cockpit-138-9.el7.x86_64                                     1/4
  Verifying  : cockpit-bridge-138-9.el7.x86_64                              2/4
  Verifying  : cockpit-system-138-9.el7.noarch                              3/4
  Verifying  : cockpit-ws-138-9.el7.x86_64                                  4/4

Installed:
  cockpit.x86_64 0:138-9.el7

Dependency Installed:
  cockpit-bridge.x86_64 0:138-9.el7      cockpit-system.noarch 0:138-9.el7
  cockpit-ws.x86_64 0:138-9.el7

Complete!


 

# systemctl start cockpit

# systemctl enable cockpit.socket
Created symlink from /etc/systemd/system/sockets.target.wants/cockpit.socket to /usr/lib/systemd/system/cockpit.socket.

 

서버접근은 웹브라우저에서 https://(server's hostname or IP address):9090/ 으로 접근할수 있습니다.

User name : root / Password : root password

 

 

1) 메인화면

- 웹콘솔에서 시스템의 restart / shut down이 가능합니다.

- 특정 도메인에 Joined가능하며 별도의 솔루션 연동없이 COCKPIT만으로 통합관리 가능합니다.

 

 

2) 시스템 로그(System Log)

- Error / Warining / Notice 형태로 일자별로 로그 확인이 가능합니다.

 

 

3) 웹 콘솔(Terminal)

- 별도의 User Interface없이 웹콘솔에서 Terminal 접근이 가능합니다.

- 우리가 익히 알고 있는 noVNC 사용할것으로 추정

 

 

4) 서비스 관리

- 시스템에 설치되어 있는 서비스의 Running상태와 Inactive에 대해서 확인할수 있습니다.

- 서비스의 소켓별 확인 가능하며 Timer기능으로 프로세스 동작 상태를 식별할수 있습니다.

 

 

현재 COCKPIT 프로젝트는 레드햇 Developer 또는 오픈소스 진영 컨트리뷰터에 의해 활발하게 움직이고 있는 오픈프로젝트이며 특히 REDHAT에서는 COCKPIT대쉬보드를 이용하여

- RHV(레드햇 가상화) - OVirt(오픈 가상화 관리)

- RHOSP(레드햇 오픈스택 플랫폼) - RDO Project

- REDHAT HIGH-Availability - Pacemaker 등

 

여러 플랫폼 기반의 솔루션을 사용자 UI부분에 COCKPIT을 적용하여 통합하고 있는 상태입니다.

이외에도 COCKPIT Project는 다양한 프로젝트에도 참여하고 있습니다.

 

- GIT HUB

https://github.com/cockpit-project/cockpit

https://github.com/cockpit-project

 

- Server Appliance

https://github.com/cockpit-project/cockpit/wiki/Server-Applications

 

- Atomic Project

http://www.projectatomic.io/docs/cockpit/

 

 

앞으로의 COCKPIT은?

- 요 몇일 COCKPIT 또는 GIT HUB에 올라와 있는 프로젝트를 살펴본 결과 향후 방향성에 대해 좀더 뚜렷하게 확인해볼수 있는 기회였던거 같습니다.

- 어차피 레드햇입장에서는 이 많은 솔루션을 하나의 대쉬보드형태로 제공되어져야만 할것이고COCKPIT이 가장 확장성이 높다고 판단할수 있었을 것입니다.

- 어찌되었든 지난 3~4년동안 COCKPIT 대쉬보드를 통해 많은 솔루션을 통합한 만큼 이미 레드햇사용자한테는 익숙해진 인터페이스일꺼고 그 바탕으로 앞으로도 전략적인 측면에서 COCKPIT이 빠지지 않을꺼라 보입니다.