분류 기타

집의 Linux 서버 관리를 위해 Cockpit을 ​​사용하는 방법

컨텐츠 정보

  • 조회 548 (작성일 )

본문

가정 사용자부터 대규모 네트워크 관리자에 이르기까지 누구나 Cockpit을 ​​통해 엔터프라이즈급 서버 관리에 액세스할 수 있습니다.


Cockpit은 호스트 관리 및 모니터링을 위한 웹 기반 인터페이스를 제공하는 Linux용 서비스입니다. 

소규모 사무실을 포함한 모든 규모의 조직에 배포할 수 있으며 가정 사용자가 가족 IT 인프라를 유지 관리할 수 있는 좋은 방법입니다. 

나는 그것을 사용하여 Raspberry Pi를 포함하여 집에 있는 모든 컴퓨터를 관리하고 모니터링합니다.


Cockpit은 LGPL v2.1+에 따라 출시된 무료 오픈 소스 소프트웨어 프로젝트입니다. Red Hat이 후원하며 Red Hat Enterprise Linux에 RHEL 웹 콘솔로 포함되어 있습니다.


Using Cockpit 


Cockpit을 ​​사용하면 네트워크의 Linux 장치를 원격으로 관리할 수 있습니다. 사용자를 추가 또는 제거하고 NFS(Network File System) 공유를 연결하고 서비스를 시작 및 중지할 수 있습니다. 내가 가장 좋아하는 간단한 Cockpit 작업 중 하나는 업데이트를 수행하는 것입니다. 로그인, 업데이트, 재부팅 및 대기를 위해 각 장치를 수집하기 위해 더 이상 사무실이나 집 주변을 돌아다닐 필요가 없습니다. 엔터프라이즈 관리자는 데이터 센터에 배지를 붙일 필요가 없습니다. 대신 사무실에서 편안하게 장치를 관리할 수 있습니다.


하지만 이것이 전부는 아닙니다. Cockpit의 고급 기능에는 LDAP 서버, 가상 머신 및 스토리지 관리가 포함됩니다. Docker 또는 Podman 컨테이너를 설치하는 데 사용할 수도 있습니다.


모니터링 측면에서 Cockpit은 예상 CPU, 메모리 및 디스크 공간 메트릭에 대한 가시성을 제공합니다. 그러나 제조업체, BIOS 및 CPU 브랜딩과 같은 정보도 노출하고 노스브리지사우스브리지 칩 및 다양한 컨트롤러와 같은 하드웨어 요소를 자세히 살펴봅니다. 여기에는 그래픽, 스토리지 및 네트워크 통신 장치와 메모리 컨트롤러 및 메모리 유형이 나열됩니다. Cockpit을 ​​사용하여 로그를 검토할 수도 있습니다.


Install Cockpit 


Cockpit은 대부분의 주요 배포판에 포함되어 있습니다. 웹사이트는 Red Hat, Fedora, Ubuntu, Debian, Arch 및 기타 여러 곳에 설치하기 위한 문서를 제공합니다. Linux 배포판에서 표준 패키지 관리 명령을 사용하여 설치할 수 있습니다. 원 클릭 프로세스를 위해 일반적으로 GNOME 소프트웨어 센터와 같은 그래픽 유틸리티에서 찾을 수도 있습니다.


  • Fedora: dnf install cockpit
  • Ubuntu: apt install cockpit

액세스 및 로그인 


기본 수신 포트는 9090입니다. 서버의 Cockpit 인터페이스에 액세스하려면 브라우저에서 hostname:9090을 가리키면 됩니다. 로그온한 로컬 서버에 localhost:9090을 사용할 수 있습니다. 이 계정에 대한 루트 권한을 갖는 것이 유리하므로 공통 계정으로 로그인하십시오.


Cockpit Login Screen 


다른 서버에 원격으로 액세스하려면 해당 호스트 이름을 사용합니다(예: https://hostname:9090). 그러나 하나의 호스트를 관리 서버로 지정하고 통합 보기를 위해 대시보드에 모든 서버를 추가할 수 있습니다.


로그인하면 첫 번째 화면이 대시보드입니다. 다른 옵션은 호스트 보기입니다.


대시보드 보기 


대시보드 보기는 깨끗하고 복잡하지 않습니다. 아래 이미지는 시스템에 연결된 모든 서버에 대한 성능 모니터를 보여줍니다. CPU, 메모리, 네트워크 및 디스크 I/O를 그래프로 표시합니다. 처음 실행하고 아직 서버에 연결하지 않은 경우 로컬 시스템에 대한 그래프만 표시됩니다.


Cockpit Dashboard 


파란색 더하기(+) 버튼을 클릭하여 서버를 추가합니다.


Adding a machine to Cockpit 


서버를 추가한 후 아래로 스크롤하여 전체 목록을 확인합니다. 이미 몇 가지 시스템이 설정되어 있습니다.


Cockpit server list 


호스트 보기 


호스트 보기는 모든 재미가 시작되는 곳입니다. 이 섹션에서는 대시보드에 추가된 각 서버를 표시하고 액세스 권한을 부여합니다. 여기서 주요 관심 영역은 개요, 로그, 저장소, 네트워킹 및 기타 몇 가지 항목을 포함하는 왼쪽 열이며 맨 아래에는 터미널이 있습니다. 각 항목을 클릭하면 시스템의 이러한 부분을 관리할 수 있습니다. 이 섹션의 항목은 설치될 수 있는 다른 기능에 따라 다를 수 있습니다.


개요 


서버를 선택하면 호스트 화면에서 특정 호스트 시스템에 대한 컨트롤이 있는 개요 섹션이 열립니다. 개요 화면은 상태, 사용, 구성 및 시스템 정보에 대한 사분면으로 나뉩니다.


Cockpit Host Overview 


자세한 성능 그래프 보기에 대한 사용 링크 및 하드웨어 세부 정보에 대한 시스템 정보 링크. 일부 관리 제어는 이 화면에서 직접 사용할 수 있습니다. 예를 들어, 시스템 호스트 이름을 변경하거나 서버를 엔터프라이즈 도메인에 가입시킬 수 있습니다.


Storage 


Storage 섹션의 이 이미지에서 상단 부분에는 읽기/쓰기 활동 그래프가 있고 그 아래에는 로컬 파일 시스템 목록이 있습니다. 더 나아가 NFS 마운트를 추가하거나 로그를 볼 수 있습니다. RAID 장치와 볼륨 그룹을 생성할 수도 있습니다.


Cockpit Host Storage View 


Networking 


네트워킹 섹션에서는 방화벽 및 네트워크 인터페이스를 관리할 수 있습니다. 방화벽 규칙 및 영역을 편집하고 본딩, 팀 구성, 브리지 및 VLAN을 사용하여 네트워킹을 조작할 수 있습니다.


Cockpit Host Networking View 


소프트웨어 업데이트 


서버에 원격으로 업데이트를 적용할 수 있어 매우 편리합니다. 가족이라도 5~10대의 컴퓨터를 가지고 있을 수 있습니다. 그러나 수백 또는 수천 대의 헤드리스 서버가 수 마일 떨어진 건조하고 어두운 데이터 센터에 랙을 설치한 기업에는 확실히 이 기능이 필요합니다. 소프트웨어 업데이트 섹션에는 사용 가능한 업데이트가 나열됩니다.


Cockpit host updates 


모든 업데이트를 설치할지 아니면 보안과 관련된 업데이트만 설치할지 선택할 수 있으며 업데이트가 설치되는 동안 Cockpit은 진행률 표시줄을 표시합니다. 프로세스가 완료되면 시스템을 다시 시작할 수 있습니다.


Terminal 


호스트 보기의 마지막 항목은 모든 일반 명령줄 옵션을 수행할 수 있는 터미널입니다. 

제가 터미널을 사용한 한 가지 방법은 Cockpit 기능 세트의 불일치를 극복하는 것입니다. 

대부분 Linux 버전 차이로 인한 것일 수 있습니다. Ubuntu Linux 18.04를 실행하는 Media Center PC에서 이것을 발견했습니다. 

이 버전의 Ubuntu에서 개요 섹션에는 시스템 레이블이 지정되어 있습니다. 

사용 가능한 버그 수정 업데이트를 나타내지만 업데이트 적용 버튼이 없습니다. 

예상되는 개요 섹션 및 업데이트 기능이 있는 최신 Ubuntu 20.04 LTS의 경우는 그렇지 않습니다. 

어느 쪽이든 터미널을 활용하여 일반적인 Apt 업데이트 명령을 실행할 수 있기 때문에 걱정할 필요가 없습니다.


Cockpit Terminal 


애플리케이션 


내가 호스트 보기에서 애플리케이션 섹션을 건너뛴 것을 눈치채셨을 것입니다. 이 섹션은 Cockpit 서비스의 보기와 기능을 조작할 수 있으므로 주의를 기울여야 합니다. 여기에서 389 LDAP 서버 또는 진단 보고서 및 커널 덤프를 수집하거나 서버 이미지를 빌드하기 위한 도구와 같은 추가 기능 또는 응용 프로그램을 설치할 수 있습니다. Machines 섹션은 가상 머신 관리를 가능하게 하고 Podman은 컨테이너 관리 기능을 제공합니다. Cockpit을 ​​실행하고 나면 애플리케이션 섹션을 탐색하는 것이 좋습니다.


Cockpit Applications 


마지막 생각들 


Cockpit은 SSH(Secure Shell) 클라이언트를 사용하여 원격 서버에 액세스하므로 각 관리 서버에 연결된 SSH 연결이 있으므로 위에서 설명한 통합 보기를 생성하는 시스템에 약간의 리소스 영향이 있을 수 있습니다.


ps fax |grep cockpit
2064515 ?        Ssl    0:50 /usr/libexec/cockpit-tls
2064521 ?        Ssl    0:41 /usr/libexec/cockpit-ws --for-tls-proxy --port=0
2064527 ?        S      0:00  \_ /usr/libexec/cockpit-session localhost
2064537 ?        Sl     0:38      \_ cockpit-bridge
2064636 ?        S      1:37          \_ /usr/libexec/cockpit-ssh webserver
2064639 ?        S      1:37          \_ /usr/libexec/cockpit-ssh smtpserver
2064640 ?        S      1:37          \_ /usr/libexec/cockpit-ssh ftpserver
2064670 ?        Sl     0:02          \_ /usr/bin/cockpit-bridge --privileged
2076607 ?        S      0:21          \_ /usr/libexec/cockpit-ssh ldapserver
2078182 ?        S      0:10          \_ /usr/libexec/cockpit-ssh teaserver 


저는 관리, 모니터링, 프로비저닝, 배포 및 보안 작업을 위해 이와 같은 폐쇄형 및 개방형 소스와 같은 많은 운영 도구를 사용해 왔습니다. Cockpit은 모든 규모의 조직에 적합한 훌륭한 도구입니다.


출처 : https://opensource.com/article/20/11/cockpit-server-management