Docker 컨테이너에서 Checkmk로 Windows 시스템을 모니터링하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. Windows에 Checkmk Raw Edition 설치
  4. Checkmk에서 비밀번호 변경\n
  5. Checkmk에 localhost를 첫 번째 호스트로 추가\n
  6. Checkmk로 Windows 시스템 모니터링
  7. 마지막 단계: Checkmk에서 변경 사항 활성화\n

모니터링 도구를 사용하면 인프라의 가동 시간과 안정성을 높일 수 있는 좋은 기회를 얻을 수 있습니다. 실제로 모니터링은 모든 조직에 필수적입니다. 이전 튜토리얼에서 이미 모니터링의 중요성에 대해 언급했고 Linux 서버에 Checkmk를 설치하는 방법을 보여주었습니다. 이제 Windows 10에서 실행되는 일반 PC를 사용하여 Docker에서 Checkmk를 실행하고 일반 컴퓨터에서 Checkmk를 실행할 수 있는 방법을 보여주고 싶습니다. 모니터링이나 Linux 경험이 필요하지 않습니다. 이 자습서는 Windows 사용자에게도 적합하며 전문 모니터링 세계에 대한 쉬운 소개를 제공합니다.

요구 사항

Docker 컨테이너를 실행할 수 있는 호스트 시스템이 필요합니다. 이 자습서에서는 다른 Docker 엔진을 사용하지 않는 한 첫 번째 단계로 설치해야 하는 Windows용 Docker Desktop 버전 4.3.2를 사용합니다. Windows에서 Docker를 사용하는 경우 호스트 시스템에 충분한 하드웨어 리소스가 있는지 확인하십시오. Linux 기반 도구인 Checkmk는 시스템 요구 사항이 상당히 낮지만 호스트 시스템으로서의 Windows와 컨테이너 가상화의 조합은 상당히 추가됩니다. 오버 헤드의. 그 외에도 호스트가 인터넷에 연결되어 있어야 합니다. 이 튜토리얼은 Checkmk Raw Edition 버전 2.0.0p17을 기반으로 합니다.

시작하기

첫 번째 단계로 Windows용 Docker Desktop 또는 선택한 다른 Docker 엔진을 다운로드하여 설치해야 합니다. 개인 사용자에게는 무료이고 사용하기 쉽기 때문에 Docker Desktop을 사용했습니다.

  • Windows용 Docker Desktop을 다운로드하여 설치합니다.\n
  • Windows 버전에 따라 Docker Desktop을 설치한 후 Windows용 WSL2 Linux 커널 업데이트도 다운로드하여 설치해야 합니다.\n
  • WSL2 Linux 커널 업데이트 패키지를 다운로드하여 설치한 후 명령 프롬프트를 엽니다. 시작 메뉴 에서 "cmd"를 검색하십시오.\n
  • Docker Desktop과 같은 Linux 기반 시스템을 설치할 때 WSL 2를 기본 버전으로 설정해야 합니다. 다음 명령을 사용하십시오.\n

wsl --set-default-version 2

Windows에 Checkmk Raw Edition 설치

이 튜토리얼에서는 Docker Hub에서도 사용할 수 있는 커뮤니티 GPLv2 에디션인 Checkmk Raw 에디션을 사용할 것입니다. 대안으로 Checkmk Enterprise Edition의 평가판이 있습니다. Enterprise Edition에는 몇 가지 추가 기능이 포함되어 있으며 평가판을 사용하면 30일 동안 무료로 모든 기능을 사용할 수 있습니다. 튜토리얼은 Enterprise Edition과 매우 유사합니다. 가장 큰 차이점은 Docker 허브에서 Enterprise Edition을 가져올 수 없지만 다음 단계를 수행하기 전에 Checkmk 웹 사이트에서 다운로드해야 한다는 것입니다. Checkmk Raw Edition을 사용하는 경우 Windows 터미널에 머물면서 다음 명령을 사용하여 Raw Edition을 가져올 수 있습니다.

docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name cmk_demo -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

명령에는 Docker용 Checkmk 가이드에서 권장하는 매개 변수를 추가했습니다. 물론 자유롭게 조정할 수 있지만 그렇게 하기 전에 가이드 페이지를 읽어야 합니다. Docker가 Checkmk 이미지를 가져올 때까지 기다립니다. 이제 Checkmk를 실행하는 컨테이너(제 경우에는 "cmk_demo"라고 함)를 만들었습니다. 또한 이 컨테이너에 있는 사이트의 데이터를 Docker 노드 파일 시스템의 영구 위치에 바인딩했습니다. 볼륨 이름을 "모니터링"으로 지정했습니다. 원하는 경우 다른 이름을 선택할 수 있습니다.

이제 모니터링이 이미 실행 중이지만 cmkadmin 사용자에 대해 임의로 생성된 암호를 알아야 합니다. 기본적으로 Checkmk는 Checkmk 사이트에 대한 임의의 비밀번호를 사용하여 첫 번째 사용자 "cmkadmin"을 생성합니다. 컨테이너 로그에서 해당 암호를 찾습니다. docker container logs 명령을 사용하고 Windows 명령 프롬프트에 Checkmk 사이트 이름을 추가하십시오.

docker container logs cmk_demo

암호를 변경하는 터미널 명령에 대해 걱정하지 마십시오. Docker Desktop(Windows 명령 프롬프트 아님)에서 이 컨테이너의 CLI를 열고 "omd su cmk" 및 "htpasswd etc/htpasswd cmkadmin" 명령을 사용할 수 있습니다. 그러나 Checkmk의 사용자 인터페이스에서 그렇게 하는 것이 더 쉽습니다.

비밀번호를 복사하세요. 다음 단계에서 필요합니다. 설치가 제대로 된 경우 브라우저에서 http://localhost:8080/cmk/check_mk/ 링크를 사용하여 Checkmk 사이트에 액세스할 수 있습니다.

Checkmk에서 비밀번호 변경

  • 이전에 명령 프롬프트에서 복사한 암호와 "cmkadmin" 사용자로 Checkmk에 로그인합니다.\n
  • 모니터링에 아직 호스트가 포함되어 있지 않기 때문에 빈 대시보드가 표시됩니다. 추가하기 전에 먼저 왼쪽 메뉴에서 "사용자"로 이동하여 비밀번호 변경을 클릭하십시오.\n
  • 이전 비밀번호를 입력하고 새 비밀번호를 확인합니다.\n

Checkmk에 localhost를 첫 번째 호스트로 추가

첫 번째 호스트로 모니터링 호스트를 추가해야 합니다. 이 경우에는 도커 컨테이너입니다. Checkmk는 정교한 Docker 및 Kubernetes 모니터링이지만 이 경우 시작하기 가장 쉬운 버전은 Checkmk 컨테이너에서 이미 실행 중인 Checkmk Linux 에이전트를 사용하는 것입니다.

  • 왼쪽 사이드바에서 설정 -> 호스트로 이동하고 "호스트 추가"를 클릭합니다.\n
  • "호스트 이름" 아래에 "localhost"를 입력하고 "저장 및 서비스 구성으로 이동"을 클릭합니다.\n

    • 자동화된 서비스 검색을 기다립니다. Checkmk는 이제 에이전트에서 데이터를 가져올 수 있는지와 새로운 모니터링 서비스가 있는지 확인하고 있습니다.\n
    • 내 경우 Checkmk는 13개의 서비스와 몇 개의 레이블을 감지했습니다. 모든 서비스를 모니터링에 추가하려면 "모두 수정" 버튼을 클릭하십시오.\n

    이 경우 Checkmk는 Checkmk 에이전트가 제공하는 컨테이너에서 서비스를 발견했지만 자동화된 서비스 발견은 SNMP 또는 기타 프로토콜과도 작동하므로 Checkmk는 네트워크 모니터링에 좋은 도구가 됩니다. 라벨 자동 감지는 다양한 종류의 장치를 관리하는 좋은 방법이며 자신만의 라벨을 추가할 수도 있습니다. "모두 수정 버튼"은 감지된 모든 서비스 및 호스트 레이블을 모니터링 대시보드에 추가하고 사라진 서비스를 제거합니다. 물론 서비스를 수동으로 관리할 수도 있지만 모두 수정 기능을 사용하면 훨씬 쉽게 관리할 수 있습니다.

    Checkmk로 Windows 시스템 모니터링

    컨테이너가 내 Windows 랩톱에서 실행되기 때문에 Checkmk로 Windows 시스템을 모니터링하는 방법을 보여주고 싶습니다. Windows 장치를 모니터링하는 가장 좋은 방법은 Windows용 Checkmk 에이전트입니다. Linux 에이전트가 Checkmk 컨테이너에서 이미 실행 중인 동안 호스트를 모니터링에 추가하기 전에 먼저 Windows 시스템에 설치해야 합니다.

    • 설정 -> 에이전트로 이동하여 운영 체제에 적합한 패키지를 선택하십시오. 제 경우에는 설정 -> 에이전트 -> Windows -> check_mk_agent.msi
    • 에이전트를 클릭하여 다운로드하고 설치합니다. .msi 파일을 실행합니다.\n

    • 설정 -> 호스트를 클릭하고 이전과 같이 "호스트 추가"를 클릭합니다.\n
    • "기본 설정"의 "호스트 이름"에 Windows 호스트 이름을 추가하고 "IPv4 주소" 옆 필드의 "네트워크 주소"에 호스트의 IP 주소를 추가합니다. Windows 호스트의 IP 주소가 확실하지 않은 경우 Windows 명령 프롬프트에서 ipconfig 명령을 사용할 수 있습니다.\n
    • 다른 영역은 변경하지 않고 그대로 두고 "저장하고 서비스 구성으로 이동"을 클릭합니다. 자동화된 서비스 검색을 기다린 후 "모두 수정"을 클릭하십시오.\n

    마지막 단계: Checkmk에서 변경 사항 활성화

    이제 모니터링에 두 개의 호스트가 있지만 Checkmk에는 안전 메커니즘이 있습니다. 모든 변경 사항은 "대기 중인 변경 사항"에 먼저 나열되므로 모니터링에 영향을 미치기 전에 변경 사항을 검토할 수 있습니다.

    • 오른쪽 상단 모서리에 노란색 느낌표(!)가 있는 강조표시된 필드를 클릭하여 변경 사항을 활성화합니다.\n
    • "선택한 사이트에서 활성화"를 클릭하면 호스트를 모니터링에 성공적으로 추가했습니다.\n

    Checkmk는 호스트, 서비스 및 설정을 관리하는 구성 환경인 설정과 실제 운영 모니터링이 이루어지는 모니터라는 영역을 구분합니다. 새 호스트 및 구성의 기타 변경 사항은 초기에 모니터링에 영향을 주지 않습니다. 프로덕션에 들어가기 전에 이를 활성화해야 합니다.

    그리고 그게 다였다. 왼쪽 메뉴에서 모니터 -> 모든 호스트를 클릭하여 호스트를 찾습니다. Windows에서 Docker를 결합하는 것은 매우 일반적이지 않지만 Checkmk를 테스트하거나 Windows 환경에서 서버를 모니터링하는 데 적합합니다. 더 큰 환경을 모니터링하고 Windows 서버만 있는 경우 모니터링을 위해 가상 또는 물리적 Checkmk 어플라이언스를 사용하는 것을 고려해야 합니다.