Ubuntu 20.04에 Sensu 모니터링을 설치하는 방법
이 페이지에서
- 전제 조건
- 시작하기\n
- Redis 및 RabbitMQ 설치
- Sensu 서버 설치
- Sensu 구성
- Sensu Dashboard 설치 및 구성
- Sensu 대시보드 액세스
- 결론
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 대시보드에서 모니터링을 시작할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.