웹사이트 검색

Ubuntu 20.04에 Sensu 모니터링을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Redis 및 RabbitMQ 설치
  4. Sensu 서버 설치
  5. Sensu 구성
  6. Sensu Dashboard 설치 및 구성
  7. Sensu 대시보드 액세스
  8. 결론

Sensu는 인프라 및 애플리케이션 상태를 모니터링하는 데 사용되는 무료 오픈 소스 도구입니다. Ruby로 작성되었으며 RabbitMQ를 사용하여 메시지를 처리하고 Redis를 사용하여 데이터를 저장합니다. Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows 등 대부분의 운영 체제에 설치할 수 있습니다. Zabbix, Icinga 및 Nagios와 같은 다른 모니터링 시스템을 대체하는 가장 인기 있고 차세대 플랫폼 중 하나입니다. Sensu는 클라이언트-서버 모델을 사용합니다. 모니터링하려는 각 시스템에 sensu 클라이언트만 설치하면 됩니다.

이 튜토리얼에서는 Ubuntu 20.04 서버에 Sensu 모니터링 서버를 설치하는 방법을 보여줍니다.

전제 조건

  • Ubuntu 20.04를 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

먼저 시스템을 최신 안정 버전으로 업데이트해야 합니다. 다음 명령을 사용하여 모든 시스템 패키지를 업데이트하면 됩니다.

apt-get update -y

시스템이 업데이트되면 다음 명령을 사용하여 다른 종속성을 설치합니다.

apt-get install gnupg2 curl wget unzip -y

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Redis 및 RabbitMQ 설치

Sensu는 RabbitMQ를 사용하여 메시지를 처리하고 Redis를 사용하여 데이터를 저장합니다. 따라서 두 패키지가 모두 시스템에 설치되어 있어야 합니다. 기본적으로 RabbitMQ는 Ubuntu 20.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 RabbitMQ 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 GPG 키를 가져옵니다.

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -

그런 다음 다음 명령을 실행하여 리포지토리를 추가합니다.

echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list

다음으로 다음 명령을 사용하여 리포지토리를 업데이트하고 RabbitMQ 패키지를 설치합니다.

apt-get update -y
apt-get install rabbitmq-server -y

설치가 완료되면 Sensu용 RabbitMQ 가상 호스트를 생성해야 합니다. 다음 명령으로 만들 수 있습니다.

rabbitmqctl add_vhost /sensu

다음 출력이 표시되어야 합니다.

Adding vhost "/sensu" ...

그런 다음 다음 명령을 사용하여 가상 호스트를 관리할 사용자를 만듭니다.

rabbitmqctl add_user sensu password

다음 출력이 표시되어야 합니다.

Adding user "sensu" ...

다음으로 가상 호스트 /sensu에 대한 전체 권한을 할당해야 합니다.

rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

다음과 같은 결과가 표시되어야 합니다.

Setting permissions for user "sensu" in vhost "/sensu" ...

다음으로 다음 명령을 사용하여 Redis 서버를 설치합니다.

apt-get install redis-server -y

설치가 완료되면 Redis 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start redis-server
systemctl enable redis-server

완료되면 다음 단계로 진행할 수 있습니다.

Sensu 서버 설치

기본적으로 Sensu는 Ubuntu 공식 저장소에서 사용할 수 없습니다. 따라서 시스템에 Sensu 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 리포지토리 GPG 키를 가져옵니다.

wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -

그런 다음 다음 명령을 사용하여 저장소를 추가하십시오.

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list

리포지토리가 추가되면 리포지토리를 업데이트하고 다음 명령을 사용하여 Sensu를 설치합니다.

apt-get update -y
apt-get install sensu -y

Sensu가 설치되면 다음 단계로 진행할 수 있습니다.

Sensu 구성

다음으로 RabbitMQ, Redis 및 Api에 대한 구성 파일을 만들어야 합니다. 먼저 다음 명령을 사용하여 api.json 파일을 만듭니다.

nano /etc/sensu/conf.d/api.json

다음 줄을 추가합니다.

{
  "api": {
    "host": "localhost",
    "bind": "0.0.0.0",
    "port": 4567
  }
}

파일을 저장하고 닫은 후 다음 명령을 사용하여 redis.json 파일을 만듭니다.

nano /etc/sensu/conf.d/redis.json

다음 줄을 추가합니다.

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

파일을 저장하고 닫은 후 다음 명령을 사용하여 RabbitMQ 구성 파일을 만듭니다.

nano /etc/sensu/conf.d/rabbitmq.json

다음 줄을 추가합니다.

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

완료되면 파일을 저장하고 닫습니다.

Sensu Dashboard 설치 및 구성

다음으로 시스템에 Uchiwa 대시보드를 설치해야 합니다. Uchiwa는 웹 인터페이스를 통해 Sensu를 모니터링하는 오픈 소스 대시보드입니다.

다음 명령으로 Uchiwa를 설치할 수 있습니다.

apt-get install uchiwa -y

Uchiwa를 설치한 후 다음 명령을 사용하여 Uchiwa용 구성 파일을 만듭니다.

nano /etc/sensu/uchiwa.json

다음 줄을 추가합니다.

{
  "sensu": [
    {
      "name": "Sensu",
      "host": "127.0.0.1",
      "port": 4567,
      "timeout": 10
    }
  ],
  "uchiwa": {
    "host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

완료되면 파일을 저장하고 닫습니다.

다음으로 Sensu 서버 자체를 모니터링하기 위해 client.json 파일을 생성해야 합니다. 다음 명령으로 만들 수 있습니다.

nano /etc/sensu/conf.d/client.json

다음 줄을 추가합니다.

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "management",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

완료되면 파일을 저장하고 닫습니다.

다음으로 다음 명령을 사용하여 Sensu 서버, Api, Uchiwa 및 Sensu 클라이언트 서비스를 시작합니다.

systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client

모든 서비스가 시작되면 다음 명령을 사용하여 모든 서비스의 상태를 확인할 수 있습니다.

systemctl status sensu-server sensu-api sensu-client uchiwa

다음과 같은 결과가 표시되어야 합니다.

? sensu-server.service - sensu server
     Loaded: loaded (/lib/systemd/system/sensu-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:43 UTC; 4min 18s ago
   Main PID: 10031 (sensu-server)
      Tasks: 24 (limit: 2353)
     Memory: 20.6M
     CGroup: /system.slice/sensu-server.service
             ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:43 ubunt4 systemd[1]: Started sensu server.

? sensu-api.service - sensu api
     Loaded: loaded (/lib/systemd/system/sensu-api.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 19s ago
   Main PID: 10023 (sensu-api)
      Tasks: 2 (limit: 2353)
     Memory: 18.9M
     CGroup: /system.slice/sensu-api.service
             ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>

Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu api.

? sensu-client.service - sensu client
     Loaded: loaded (/lib/systemd/system/sensu-client.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 18s ago
   Main PID: 10027 (sensu-client)
      Tasks: 2 (limit: 2353)
     Memory: 17.0M
     CGroup: /system.slice/sensu-client.service
             ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:42 ubunt4 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubunt4 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu client.

? uchiwa.service - LSB: Uchiwa, a Sensu dashboard.
     Loaded: loaded (/etc/init.d/uchiwa; generated)
     Active: active (exited) since Sun 2020-08-23 09:04:41 UTC; 4min 19s ago

완료되면 다음 단계로 진행할 수 있습니다.

Sensu 대시보드에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip:3000을 입력하십시오. 다음 화면에 Sensu 대시보드가 표시되어야 합니다.

이제 왼쪽 창에서 클라이언트 아이콘을 클릭합니다. 다음 화면에서 Sensu 클라이언트의 상태를 확인해야 합니다.

결론

축하합니다! Ubuntu 20.04 서버에 Sensu 및 Uchiwa를 성공적으로 설치 및 구성했습니다. 이제 더 많은 클라이언트를 추가하고 Uchiwa 대시보드에서 모니터링을 시작할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.