모니터링 솔루션 · 8 min read · Nov 11, 2025
우분투 22.04에 Sensu 모니터링 솔루션 설치하는 방법

Sensu는 컨테이너 및 비컨테이너 모니터링과 다중 클라우드 인프라를 위해 설계된 오픈 소스 인프라 및 애플리케이션 모니터링 시스템입니다.
Sensu는 기술 및 서버 인프라를 위한 확장 가능하고 안전하며 통합된 모니터링 솔루션입니다. 서버, 애플리케이션 상태 및 서비스를 모니터링하고, 타겟에 대한 알림을 전송하며, 타사 통합과 함께 사용할 수 있습니다.
이 가이드에서는 우분투 22.04 서버에 Sensu 모니터링 솔루션을 설정합니다. 또한 Sensu를 관리하는 데 사용될 Sensu-go-client를 설치하고 구성합니다. 마지막으로, 기본 시스템 모니터링을 위한 Sensu 체크를 설정하고 모니터링할 타겟 호스트에 Sensu Agent를 설치합니다.
필수 조건
이 가이드를 완료하려면 다음 요구 사항이 필요합니다:
- 두 개의 우분투 22.04 서버 - 첫 번째 서버는 Sensu 모니터링 솔루션을 설치하는 데 사용되며, 두 번째 서버는 모니터링할 타겟 서버입니다.
- sudo/root 관리자 권한이 있는 비루트 사용자.
아래는 이 가이드에 사용될 서버의 세부 사항입니다:
Hostname IP Address Used as
--------------------------------------------------
sensugo-server 192.168.5.100 Sensu Server
machine1 192.168.5.120 Target Monitoring이제 설치로 넘어갑니다.
Sensu 저장소 추가
Sensu는 리눅스, macOS, 윈도우 및 FreeBSD와 같은 여러 운영 체제에 설치할 수 있는 안전하고 확장 가능한 모니터링 솔루션입니다. Sensu는 RHEL 기반 및 Debian 기반 배포를 위해 특별히 자체 저장소를 제공합니다. sensu 패키지는 packagecloud.io 저장소를 통해 제공됩니다.
이 첫 번째 단계에서는 Sensu 서버와 타겟 모니터링 시스템 모두에 Sensu 저장소를 설정합니다.
시작하려면 아래의 apt 명령을 실행하여 패키지 인덱스를 업데이트하고 시스템에 몇 가지 기본 패키지를 설치합니다.
sudo apt update
sudo apt install wget curl gnupg2 apt-transport-https프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 누릅니다.

다음으로, 아래 명령을 실행하여 Sensu 안정 저장소를 시스템에 추가합니다. 이 명령은 우분투 시스템에 대해 Sensu 저장소를 자동으로 설정하고 구성하는 bash 스크립트를 다운로드합니다.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash다음과 유사한 출력을 받게 됩니다.

sensu 저장소가 추가된 후, 이제 Sensu 서버에서 Sensu Go 설치를 시작하고 타겟 모니터링에서 Sensu Agent를 설치할 준비가 되었습니다.
Sensu Go 백엔드 설치 및 구성
Sensu Go 백엔드는 Sensu 모니터링 플랫폼의 주요 구성 요소입니다. 웹 관리 대시보드와 HTTP API를 제공하여 명령줄을 통해 Sensu를 관리할 수 있으며, 타겟 머신/에이전트가 연결하는 데 사용될 WebSockets도 제공합니다.
시작하기 전에 모든 명령을 Sensu 서버에서 실행해야 합니다. 이 예제에서는 서버 호스트 이름이 ‘sensugo-server’입니다.
시작하려면 아래의 apt 명령을 실행하여 Sensu Go 백엔드를 설치합니다.
sudo apt install sensu-go-backend이제 설치가 시작되어야 합니다.

Sensu Go 백엔드가 설치된 후, 아래 wget 명령을 사용하여 샘플 구성을 ‘/etc/sensu/backend.yml’로 다운로드합니다. 그런 다음 nano 편집기 명령을 사용하여 파일을 엽니다.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml파일에서 다음 줄의 주석을 제거합니다.
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"
log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
다음으로, 아래 systemctl 명령 유틸리티를 실행하여 Sensu Go 백엔드 서비스 ‘sensu-backend‘를 시작하고 활성화합니다.
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend‘sensu-backend‘가 이제 실행 중이며 활성화되어야 합니다. 또한, 서비스는 부팅 시 자동으로 실행됩니다.

다음 systemctl 명령을 통해 ‘sensu-backend’ 서비스 상태를 확인합니다.
sudo systemctl is-enabled sensu-backend
sudo systemctl status sensu-backend다음과 유사한 출력을 받게 됩니다 - ‘sensu-backend‘ 서비스가 활성화되었으며 현재 실행 중입니다.

Sensu Go 백엔드가 실행 중인 상태에서, 관리 비밀번호를 설정하고 몇 가지 구성을 생성하여 Sensu Go 백엔드를 초기화합니다.
Sensu Go 백엔드 설치를 초기화하려면 아래 명령을 실행하여 Sensu 관리자 사용자 및 비밀번호를 설정하는 데 사용될 새로운 환경 변수를 생성합니다.
이 예제에서는 ‘sensuadmin‘을 사용자로, ‘sensupassword‘을 비밀번호로 사용할 것입니다. 따라서 관리자 사용자 및 비밀번호를 변경해야 합니다.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword이제 아래 ‘sensu-backend’ 명령을 실행하여 Sensu Go 백엔드 설치를 초기화합니다.
sensu-backend init다음과 유사한 출력을 받게 됩니다 - Sensu Go 백엔드가 이제 초기화되었으며 기본 포트 ‘3000‘에서 실행되고 있습니다.

이제 웹 브라우저를 열고 서버 IP 주소 뒤에 TCP 포트 3000을 입력합니다 (예: http://192.168.5.100:3000). 그러면 Sensu 로그인 페이지가 표시됩니다.
초기화 과정에서 입력한 사용자 이름과 비밀번호로 로그인하고 ‘SIGN-IN‘을 클릭합니다.

로그인 후, Sensu 관리 대시보드를 볼 수 있습니다. 이제 Sensu Go 백엔드 설치를 완료했습니다.

또한, Sensu API를 통해 Sensu Go 백엔드 서버의 상태를 확인할 수 있습니다.
아래의 apt 명령을 통해 시스템에 ‘jq‘ 패키지 유틸리티를 설치합니다.
sudo apt install jq -y이제 아래 curl 명령을 실행하여 기본 포트 ‘8080‘에서 실행 중인 Sensu 서버 API에 접근합니다. 이 명령은 Sensu 서버의 상태를 확인하고, 출력은 json 형식으로 포맷되어 가독성을 높입니다.
curl -s http://127.0.0.1:8080/health | jq .출력 - 다음 출력에서 ‘Healthy: true’와 오류가 없습니다.

sensuctl 설치 및 구성
Sensu Go 백엔드가 설치되고 구성된 후, Sensu 서버에 Sensu Go 클라이언트를 설치합니다. Sensu Go 클라이언트는 터미널 서버를 통해 Sensu를 관리할 수 있는 명령줄 유틸리티 ‘sensuctl’을 제공합니다.
‘sensuctl’은 Sensu 서버와 API를 통해 통신하여 리소스, 이벤트 및 엔터티를 생성, 읽기, 업데이트 및 삭제하는 방식으로 작동합니다.
아래의 apt 명령을 실행하여 Sensu Go 클라이언트를 설치합니다. 설치가 이제 시작되어야 합니다.
sudo apt install sensu-go-cli
‘sensu-go-cli‘가 설치된 후, 아래 nano 편집기 명령을 사용하여 ‘~ /.bashrc‘ 파일을 엽니다.
nano ~/.bashrc다음 줄을 맨 아래에 추가합니다. 이 구성은 ‘sensuctl’ 명령의 자동 완성을 활성화합니다.
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
source <(sensuctl completion bash)작업이 끝나면 파일을 저장하고 종료합니다.
다음으로, ‘~/.bashrc‘ 파일을 다시 로드하여 현재 세션을 새로 고칩니다. 그런 다음 ‘sensuctl’ 명령을 사용하여 확인합니다.
source ~/.bashrc
sensuctl TAB‘sensuctl’ 명령 뒤에 TAB 키를 누르면 해당 명령의 옵션 목록이 표시됩니다.

Sensu Go 클라이언트가 설치되었으므로 이제 Sensu 서버에 대한 연결을 구성하기 시작합니다.
아래 ‘sensuctl configure‘ 명령을 실행하여 Sensu 서버를 추가합니다.
sudo sensuctl configure이제 몇 가지 구성에 대해 질문을 받게 됩니다:
- 인증 방법? username/password
- Sensu 백엔드 API URL? Sensu API는 기본적으로 http://127.0.0.1:8080에서 실행됩니다.
- 네임스페이스? default
- 선호하는 출력 형식? 원하는 출력 형식을 선택합니다 - 이 예제는 표 형식입니다.
- 사용자 이름? Sensu의 관리자 사용자
- 비밀번호? Sensu 관리자 사용자의 비밀번호
‘sensuctl‘ 구성이 완료된 후, 아래 명령을 실행하여 현재 구성을 확인합니다.
sudo sensuctl config view다음과 유사한 출력을 받게 됩니다 - Sensu Go 클라이언트가 기본적으로 localhost:8080에서 실행되는 Sensu 서버에 HTTP API를 통해 연결되었습니다.

이 시점에서 Sensu Go 백엔드와 Sensu Go 클라이언트의 기본 구성을 완료했습니다. 다음 단계에서는 Sensu Agent를 통해 타겟 머신을 모니터링합니다.
타겟 머신에 Sensu Agent 설치
Sensu Agent는 모니터링하려는 타겟 머신에서 실행되는 경량 클라이언트입니다. WebSockets를 통해 Sensu 서버와 통신하며, 자체 등록, keepalive 메시지 전송 및 모니터링 체크 실행과 같은 기능을 제공합니다.
시작하기 전에 Sensu 저장소가 추가되었는지 확인합니다. 또한, 아래 명령을 타겟 머신에서 실행해야 합니다. 이 예제에서는 호스트 이름이 ‘machine1‘인 서버를 사용합니다.
아래의 apt 명령을 실행하여 시스템에 Sensu Agent를 설치합니다. 설치가 자동으로 진행되어야 합니다.
sudo apt install sensu-go-agent
Sensu Agent가 설치된 후, curl 명령을 사용하여 Sensu Agent의 구성 파일을 ‘ /etc/sensu/agent.yml ‘로 다운로드합니다. 그런 다음 nano 편집기 명령을 사용하여 파일 ‘ /etc/sensu/agent.yml ‘을 엽니다.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml
sudo nano /etc/sensu/agent.yml기본 구성을 다음 줄로 변경합니다. ‘name’을 타겟 머신의 호스트 이름으로 변경하고, 백엔드 URL은 기본 포트 ‘8081‘에서 실행되는 Sensu 서버의 WebSocket 주소로 설정합니다.
이 예제에서는 타겟 머신의 호스트 이름이 ‘machine1‘이고 Sensu 서버의 IP 주소가 ‘192.168.5.100‘입니다.
name: "machine1"
namespace: "default"
...
backend-url:
- "ws://192.168.5.100:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"
작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
다음으로, 아래 systemctl 명령 유틸리티를 실행하여 ‘sensu-agent‘ 서비스를 시작하고 활성화합니다. 서비스가 이제 실행 중이며 활성화되어야 하며, 이는 부팅 시 자동으로 시작됨을 의미합니다.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent
이제 아래 명령을 통해 ‘sensu-agent’ 서비스를 확인하여 서비스가 실행 중인지 확인합니다.
sudo systemctl is-enabled sensu-agent
sudo systemctl status sensu-agent다음과 같은 출력을 받게 됩니다 - ‘sensu-agent‘ 서비스가 활성화되었으며 현재 상태는 실행 중입니다.

마지막으로, Sensu 서버 터미널로 돌아가서 아래 ‘sensuctl’ 명령을 실행하여 타겟 머신 ‘machine1’이 Sensu 서버에서 사용 가능한지 확인합니다.
sensuctl entity list --format tabular다음과 유사한 출력을 받게 됩니다 - 타겟 머신 ‘machine1‘이 Sensu Agent를 통해 Sensu 서버에 추가되었습니다.

이제 타겟 머신 ‘machine1’이 Sensu 서버에 추가되었으므로, 기본 시스템 모니터링을 위한 체크를 설정합니다.
시스템 모니터링을 위한 체크 설정
Sensu에서 체크는 모니터링할 항목을 정의하는 곳입니다. 체크의 예로는 CPU 사용량, 메모리 사용량, 디스크 사용량 등이 있습니다. 체크는 동적 런타임의 일부로, 공유 가능하고 재사용 가능한 자산입니다.
이 단계에서는 CPU 사용량, 메모리 사용량 및 디스크 사용량을 모니터링하기 위한 새로운 체크를 생성합니다. 이러한 체크는 타겟 머신 ‘machine1‘을 모니터링하는 데 사용됩니다.
시작하려면 아래 sensuctl 명령을 실행하여 엔터티 또는 타겟 머신 ‘machine1‘을 업데이트합니다.
sensuctl entity update machine1클래스는 ‘agent‘여야 하며, 구독은 ‘System‘이어야 합니다.
이제 아래 sensuctl 명령 유틸리티를 실행하여 Sensu 서버에 자산을 추가합니다. Sensu의 다른 자산은 Sensu 자산 허브 https://bonsai.sensu.io에서 가져올 수 있습니다.
sensuctl asset add sensu/check-cpu-usage
sensuctl asset add sensu/check-memory-usage
sensuctl asset add sensu/check-disk-usage다음과 유사한 출력을 받게 됩니다.
런타임 자산 ‘sensu/check-cpu-usage‘ 추가 중

런타임 자산 ‘sensu/check-memory-usage‘ 추가 중.

런타임 자산 ‘sensu/check-disk-usage‘ 추가 중.

다음으로, 아래 sensuctl 명령을 통해 Sensu 서버에서 자산 목록을 확인합니다. 이러한 런타임 자산이 Sensu 서버에 추가되었는지 확인할 수 있습니다.
sensuctl asset list
Sensu 자산이 추가되었으므로, 추가한 자산을 기반으로 체크를 생성합니다.
아래 명령을 실행하여 체크 ‘check_cpu’를 생성합니다. 구독은 ‘ system ‘으로 설정하고 런타임 자산은 ‘ sensu/check-cpu-usage ‘를 사용합니다. ‘ command ‘ 옵션의 설정을 조정할 수 있습니다.
sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets sensu/check-cpu-usage
아래 명령을 실행하여 체크 ‘ check_mem ‘을 생성합니다. 구독은 ‘system’으로 설정하고 런타임 자산은 ‘ sensu/check-memory-usage ‘를 사용합니다. ‘ command ‘ 옵션의 설정을 조정할 수 있습니다.
sensuctl check create check_mem \
--command 'check-memory-usage -w 80 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets sensu/check-memory-usage
아래 명령을 실행하여 체크 ‘check_disk’를 생성합니다. 구독은 ‘ system ‘으로 설정하고 런타임 자산은 ‘sensu/check-disk-usage ‘를 사용합니다. ‘ command ‘ 옵션의 설정을 조정할 수 있습니다.
sensuctl check create check_disk \
--command 'check-disk-usage --include-fs-type "xfs,ext4" --exclude-fs-path "/boot" --warning 90 --critical 95' \
--interval 60 \
--subscriptions system \
--runtime-assets sensu/check-disk-usage이제 아래 ‘sensuctl’ 명령 유틸리티를 통해 Sensu 서버에서 체크 목록을 확인합니다. 생성한 세 개의 체크, check_cpu, check_mem, check_disk를 볼 수 있습니다.
sensuctl check list이제 웹 브라우저로 돌아가 Sensu 관리 대시보드를 방문합니다. ‘default‘ 네임스페이스에 있는지 확인한 후 ‘Entities‘를 클릭합니다.
타겟 머신 ‘machine1‘이 상태 OK로 추가된 것을 볼 수 있습니다.

‘machine1‘을 클릭하여 모니터링 세부 정보를 확인합니다. 생성한 모든 체크가 실행되고 있는 페이지를 볼 수 있습니다.

이제 Sensu 서버에서 시스템 모니터링을 위한 자산과 체크를 생성하고 구성했습니다.
결론
이제 우분투 22.04 서버에 Sensu 모니터링 솔루션을 설치했습니다. 또한 Sensu 백엔드를 관리하기 위한 Sensuctl 명령의 기본 사용법을 배웠습니다. 추가로, Sensu Agent를 통해 리눅스 호스트 머신을 성공적으로 모니터링하고 타겟 서버를 모니터링하기 위한
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.