Computer >> 컴퓨터 >  >> 프로그래밍 >> Ruby

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

상상해 보세요. 새로운 Rails 앱 작업을 마치고 DigitalOcean과 같은 클라우드 제공업체에 배포했습니다. 다른 개발자와 마찬가지로 당신도 자신의 작업에 대해 매우 자랑스러워하지만 여전히 다음과 같은 질문이 많이 있습니다.

  • 새 앱이 트래픽을 얼마나 잘 처리할 것인가
  • 적용한 최적화가 실제로 작동하는지 여부 등

귀하의 목표는 최고의 사용자 경험을 제공하는 것입니다. 오류나 기타 중요한 이벤트가 발생할 때마다 알림을 받아 빠르게 처리할 수 있기를 원합니다.

애플리케이션을 자동으로 모니터링하는 설정이 있으면 좋을 것입니다. AppSignal을 입력하세요! 2부로 구성된 시리즈의 첫 번째 부분인 이 기사에서는 DigitalOcean에 호스팅된 Rails 앱을 효과적으로 모니터링할 수 있도록 AppSignal을 설정하겠습니다.

전제조건

따라가려면 다음 사항을 확인하세요.

  • Ruby의 로컬 설치(이 튜토리얼에서는 버전 3.3.0을 사용합니다.)
  • 로컬 PostgreSQL 설치(Docker 버전 또는 로컬에 설치된 버전을 사용할 수 있음)
  • 애플리케이션을 배포하기 위한 DigitalOcean 계정.
  • AppSignal 계정(30일 무료 평가판 사용 가능)

Ruby On Rails 앱 소개

이 튜토리얼에서는 간단한 Rails 7 비용 추적기 앱을 사용하겠습니다. 사용자는 등록하고 개인 비용 항목을 작성하여 시간 경과에 따른 비용을 추적할 수 있습니다.

이 앱을 DigitalOcean에 배포한 다음 AppSignal의 모니터링 솔루션을 구성하여 내부에서 일어나는 일을 추적하겠습니다.

소스 코드를 가져오거나 여기에서 앱을 포크하여 따라갈 수 있습니다.

DigitalOcean에 Rails 앱 배포

우리는 DigitalOcean의 앱 플랫폼을 사용하여 애플리케이션을 배포할 것입니다. 아래 단계에서는 위에서 설명한 비용 추적기 앱을 이미 포크했고 DigitalOcean 계정을 사용할 준비가 되었다고 가정합니다.

로그인한 후 앱을 만들고 실행해 보겠습니다. 하지만 우리는 이 프로세스의 일부를 제어하고 싶기 때문에 첫 번째 단계는 앱용 데이터베이스를 만드는 것입니다.

앱 데이터베이스 생성

데이터베이스를 클릭하세요. 링크를 클릭한 다음 데이터베이스 만들기를 클릭하세요. 새로운 PostgreSQL 데이터베이스 생성 링크:

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

다음 화면에서 데이터베이스 설정을 완료한 후 데이터베이스 연결 문자열을 기록해 두십시오. 다음 단계에서 앱을 만들 때 환경 변수로 사용하게 됩니다.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

이 시점에서 데이터베이스가 들어오는 모든 연결에 열려 있다는 경고를 받게 될 것입니다. 이 보안 경고를 처리하려면 첨부된 링크를 따르세요.

앱 생성 및 배포

마지막으로 먼저 을 클릭하여 앱을 만듭니다. 왼쪽 메뉴의 링크:

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

그런 다음 아래와 같이 앱의 코드 저장소 리소스를 연결합니다.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

환경 변수 화면으로 계속 진행하여 복사된 데이터베이스 URL 문자열을 삽입합니다. 또한 RAILS_MASTER_KEY를 추가하세요. 배포 프로세스에서 사용되므로 환경 변수로 사용됩니다.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

그런 다음 이러한 환경 변수를 배치한 상태에서 다음을 클릭하세요. 앱을 배포하는 버튼:

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

앱이 성공적으로 배포되었으므로 이제 AppSignal을 사용하여 모니터링을 설정하겠습니다.

Rails 앱을 모니터링하기 위해 AppSignal 설정

먼저 AppSignal 계정에 로그인하고 'Ruby &Rails'를 선택하세요.

이제 Rails 앱에 AppSignal gem을 추가하세요. 이 멋진 보석은 오류, 예외 및 관련 성능 데이터를 수집하고 분석을 위해 AppSignal로 전달합니다.

앱의 Gemfile을 열고 gem을 추가하세요:

 

그런 다음 bundle install을 실행하세요. .

마지막으로, 계정별 API 키가 첨부된 설치 스크립트를 실행해야 합니다. 이 설치 스크립트를 실행하면 아래와 비슷한 결과가 나타납니다:

 

스크립트를 실행할 때 주의해야 할 몇 가지 사항이 있습니다:

  • AppSignal 대시보드에 표시될 앱 이름을 변경하거나 기본 옵션을 그대로 둘 수 있는 옵션이 제공됩니다.
  • 앱에 AppSignal을 구성하는 방법을 선택할 수 있는 옵션도 제공됩니다. 제 경우에는 구성 파일 옵션을 사용하여 config/appsignal.yml에 구성 파일을 만들었습니다. , 아래 내용:
 

여기서는 다음을 정의합니다:

  • push_api_key 앱을 AppSignal에 연결합니다.
  • AppSignal에 표시되는 앱 이름입니다.
  • AppSignal이 앱을 모니터링하는 환경(이 경우 개발 및 프로덕션 환경 모두)

그런데 개발 환경에서 AppSignal 모니터링을 끄려면 active를 설정하면 됩니다. false로 플래그 지정 , 다음과 같습니다:

 

도움말 :구성 파일과 환경 변수 옵션 모두 동일한 작업을 수행합니다. AppSignal이 앱에 연결하는 방법, 앱 이름, 모니터링할 환경을 정의합니다.

모든 것이 계획대로 진행된다고 가정하면 AppSignal이 앱에서 데이터를 수신하고 있음을 보여주는 화면이 표시됩니다!

AppSignal의 Rails용 대시보드 소개

이제 모든 것이 올바르게 설정되었고 AppSignal이 앱에서 데이터를 수신하고 있으므로 아래와 같이 기본 앱 모니터링 대시보드 보기에 액세스할 수 있습니다.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

도움말 :개발 환경과 프로덕션 환경 모두에 대해 모니터링을 설정한 경우 화살표로 표시된 선택 항목에서 쉽게 전환할 수 있습니다.

기본 보기에서는 다음 기본 차트에 액세스할 수 있습니다:

  • 오류율 - 단위 시간당 앱에서 발생하는 오류의 비율을 보여줍니다.
  • 처리량 - 여기에서 분당 요청 수를 기준으로 앱이 처리할 수 있는 처리량에 대한 스냅샷을 얻을 수 있습니다.
  • 응답 시간 - 앱의 응답 시간이 표시됩니다.
  • 최근 열기 오류 - 이 섹션에는 앱 내에서 발생할 수 있는 최신 오류가 나열됩니다.
  • 최신 공개 성능 측정 - 이 섹션에는 메소드 호출, API 요청 등을 포함한 최신 성능 측정이 나열되어 있습니다.

다음으로 AppSignal을 사용하여 Rails 애플리케이션에 대한 적절한 오류 추적을 설정하는 방법을 살펴보겠습니다.

AppSignal을 통한 오류 모니터링

실행 중인 Ruby on Rails 앱에 영향을 미칠 수 있는 오류 유형은 10가지가 넘습니다. 분명히 일부는 다른 것보다 더 일반적입니다. 이 섹션에서는 이러한 오류 중 몇 가지를 시뮬레이션하고 AppSignal이 이를 처리하는 방법을 살펴보겠습니다. 먼저 간단한 예부터 시작해 보겠습니다.

비용 추적기 앱은 인증을 위해 Devise를 사용하고 있으므로 사용자가 로그인했는지 확인하는 기능을 추가해 보겠습니다. 권장되는 user_signed_in?을 사용하는 대신 메서드, 잘못된 user_logged_in?를 사용해 봅시다 ActionView::Template::Error을 트리거해야 하는 메소드 :

 

이 변경 사항을 배포하고 프로덕션 앱을 다시 로드한 다음 AppSignal의 프로덕션 환경 대시보드로 이동하여 이 오류가 어떻게 나타나는지 확인하세요.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

AppSignal을 사용하면 애플리케이션에서 발생하는 오류에 대한 자세한 내용을 쉽게 얻을 수 있습니다. 예를 들어 ActionView에 대한 세부정보를 얻을 수 있습니다. '최근 열기 오류' 대시보드 패널에서 템플릿을 클릭하면 오류가 발생합니다.

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

오류를 수정하기 위한 올바른 방향을 알려주는 정의되지 않은 메소드로 인해 오류가 발생했다는 것을 분명히 알 수 있습니다.

AppSignal의 오류 대시보드는 로그북을 통해 추가 정보도 제공합니다. 및 설정 패널:

AppSignal을 사용하여 DigitalOcean에서 Ruby on Rails 앱 실행:단계별 가이드

  • 일지 - 여기에서 귀하 또는 귀하의 팀원은 AppSignal이 추적하는 오류에 댓글을 추가할 수 있습니다. 로그북 패널에는 문제의 오류와 관련하여 취한 모든 조치가 시간순으로 분석되어 표시됩니다.
  • 설정 - 이 패널에서 다른 팀 구성원에게 오류를 할당하고, 경고 설정을 변경하고(이 튜토리얼의 두 번째 부분에서 자세히 확인하겠습니다), 오류 심각도를 설정할 수 있습니다.

이것이 시리즈의 이번 편입니다!

마무리

이 튜토리얼에서는 간단한 Rails 애플리케이션을 DigitalOcean의 앱 플랫폼에 배포하고 이를 AppSignal의 애플리케이션 모니터링 플랫폼에 연결했습니다. 또한 AppSignal의 오류 대시보드에서 오류가 모니터링되고 표시되는 방법도 살펴보았습니다.

분명히 이것은 AppSignal로 가능한 것의 표면적인 부분에 불과합니다. 이 시리즈의 두 번째 부분에서는 성능 측정, 이상 탐지, 가동 시간 모니터링 및 로깅에 대해 자세히 살펴보겠습니다.

그동안 즐거운 코딩 되세요!

추신 Ruby Magic 게시물이 보도되는 즉시 읽으려면 Ruby Magic 뉴스레터를 구독하고 단 하나의 게시물도 놓치지 마세요!