Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Hãy tưởng tượng điều này:bạn vừa hoàn thành công việc trên ứng dụng Rails hoàn toàn mới của mình và đã triển khai nó cho một nhà cung cấp đám mây như DigitalOcean. Giống như bất kỳ nhà phát triển nào, bạn rất tự hào về công việc của mình nhưng bạn vẫn có rất nhiều câu hỏi, như:

  • Ứng dụng mới của bạn sẽ xử lý lưu lượng truy cập tốt như thế nào
  • Liệu những tối ưu hóa bạn áp dụng có thực sự hiệu quả hay không, v.v.

Mục tiêu của bạn là cung cấp trải nghiệm người dùng tốt nhất. Bạn muốn được thông báo mỗi khi có lỗi hoặc sự kiện quan trọng khác xảy ra để bạn có thể xử lý chúng nhanh chóng.

Sẽ thật tuyệt nếu có một thiết lập tự động giám sát ứng dụng của bạn. Nhập tín hiệu ứng dụng! Trong bài viết này, phần đầu tiên của loạt bài gồm hai phần, chúng tôi sẽ thiết lập AppSignal để bạn có thể giám sát hiệu quả ứng dụng Rails được lưu trữ trên DigitalOcean.

Điều kiện tiên quyết

Để theo dõi, hãy đảm bảo bạn có:

  • Bản cài đặt cục bộ của Ruby (hướng dẫn này sử dụng phiên bản 3.3.0).
  • Bản cài đặt PostgreSQL cục bộ (bạn có thể sử dụng phiên bản Docker hoặc phiên bản được cài đặt cục bộ).
  • Tài khoản DigitalOcean để triển khai ứng dụng.
  • Tài khoản AppSignal (có bản dùng thử miễn phí 30 ngày).

Giới thiệu về ứng dụng Ruby On Rails của chúng tôi

Đối với hướng dẫn này, chúng tôi sẽ sử dụng ứng dụng theo dõi chi phí Rails 7 đơn giản. Người dùng sẽ có thể đăng ký và tạo các mục chi tiêu cá nhân của họ để theo dõi chi phí của họ theo thời gian.

Chúng tôi sẽ triển khai ứng dụng này lên DigitalOcean, sau đó định cấu hình giải pháp giám sát của AppSignal để theo dõi những gì đang diễn ra.

Bạn có thể lấy mã nguồn hoặc phân nhánh ứng dụng từ đây để làm theo.

Triển khai ứng dụng Rails của bạn lên DigitalOcean

Chúng tôi sẽ sử dụng nền tảng ứng dụng của DigitalOcean để triển khai ứng dụng của mình. Các bước bên dưới giả định rằng bạn đã phân nhánh ứng dụng theo dõi chi phí được mô tả ở trên và bạn đã có tài khoản DigitalOcean sẵn sàng hoạt động.

Sau khi đăng nhập, chúng tôi sẽ tạo một ứng dụng và khởi động nó. Tuy nhiên, vì chúng tôi muốn kiểm soát một số phần của quy trình này nên bước đầu tiên là tạo cơ sở dữ liệu cho ứng dụng.

Tạo cơ sở dữ liệu ứng dụng

Nhấp vào Cơ sở dữ liệu trên menu bên trái, sau đó nhấp vào Tạo cơ sở dữ liệu liên kết để tạo cơ sở dữ liệu PostgreSQL mới:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Sau khi hoàn tất cài đặt cơ sở dữ liệu ở màn hình tiếp theo, hãy lưu ý chuỗi kết nối cơ sở dữ liệu. Bạn sẽ sử dụng nó làm biến môi trường khi tạo ứng dụng ở bước tiếp theo:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Tại thời điểm này, bạn có thể nhận được cảnh báo rằng cơ sở dữ liệu của bạn mở cho tất cả các kết nối đến. Hãy nhấp vào liên kết kèm theo để xử lý cảnh báo bảo mật này.

Tạo và triển khai ứng dụng

Cuối cùng, tạo ứng dụng bằng cách nhấp vào Ứng dụng trước liên kết ở menu bên trái:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Sau đó kết nối tài nguyên kho mã của ứng dụng như hiển thị bên dưới:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Tiếp tục đến màn hình biến môi trường và chèn chuỗi URL cơ sở dữ liệu đã sao chép. Ngoài ra, hãy thêm RAILS_MASTER_KEY dưới dạng biến môi trường vì nó sẽ được sử dụng trong quá trình triển khai.

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Sau đó, với các biến môi trường này đã sẵn sàng, hãy nhấp vào Tiếp theo nút để triển khai ứng dụng:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Sau khi triển khai thành công ứng dụng, giờ đây chúng tôi sẽ thiết lập giám sát bằng AppSignal.

Thiết lập AppSignal để giám sát ứng dụng Rails của bạn

Trước tiên, hãy đăng nhập vào tài khoản AppSignal của bạn và chọn 'Ruby &Rails'.

Bây giờ hãy thêm đá quý AppSignal vào ứng dụng Rails. Viên ngọc tiện lợi này sẽ thu thập các lỗi, ngoại lệ và dữ liệu hiệu suất có liên quan rồi chuyển dữ liệu đó sang AppSignal để phân tích.

Mở Gemfile của ứng dụng và thêm gem:

 

Sau đó chạy bundle install .

Cuối cùng, bạn sẽ cần chạy tập lệnh cài đặt đi kèm với khóa API dành riêng cho tài khoản của bạn. Khi chạy tập lệnh cài đặt này, bạn sẽ nhận được kết quả tương tự như bên dưới:

 

Có một số điều cần lưu ý khi chạy tập lệnh:

  • Bạn sẽ có tùy chọn thay đổi tên ứng dụng của mình vì nó sẽ xuất hiện trên trang tổng quan của AppSignal hoặc để nguyên tùy chọn mặc định.
  • Bạn cũng sẽ có tùy chọn để chọn cách bạn muốn định cấu hình AppSignal cho ứng dụng của mình. Trong trường hợp của tôi, tôi đã sử dụng tùy chọn tệp cấu hình, tạo tệp cấu hình trong config/appsignal.yml , với nội dung dưới đây:
 

Ở đây, chúng tôi xác định:

  • A push_api_key kết nối ứng dụng với AppSignal.
  • Tên của ứng dụng sẽ xuất hiện trên AppSignal.
  • Các môi trường trong đó AppSignal sẽ giám sát ứng dụng (trong trường hợp này là cả môi trường phát triển và sản xuất).

Nhân tiện, nếu bạn muốn tắt tính năng giám sát AppSignal trên môi trường phát triển, chỉ cần đặt active gắn cờ tới false , đại loại như vậy:

 

Mẹo :Cả tệp cấu hình và tùy chọn biến môi trường đều thực hiện điều tương tự. Chúng xác định cách AppSignal sẽ kết nối với ứng dụng của bạn, tên ứng dụng và môi trường nào sẽ được giám sát.

Giả sử mọi thứ diễn ra theo đúng kế hoạch, bạn sẽ thấy một màn hình hiển thị rằng AppSignal đang nhận dữ liệu từ ứng dụng của bạn!

Giới thiệu về Bảng điều khiển dành cho Rails của AppSignal

Bây giờ mọi thứ đã được thiết lập chính xác và AppSignal đang nhận dữ liệu từ ứng dụng của bạn, bạn có thể truy cập vào chế độ xem trang tổng quan giám sát ứng dụng mặc định như hiển thị bên dưới:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Mẹo :Nếu bạn thiết lập giám sát cho cả môi trường phát triển và sản xuất, bạn có thể dễ dàng chuyển đổi giữa chúng từ lựa chọn được hiển thị bằng mũi tên.

Từ chế độ xem mặc định, bạn có quyền truy cập vào các biểu đồ mặc định sau:

  • Tỷ lệ lỗi - Điều này sẽ hiển thị tỷ lệ lỗi xảy ra trong ứng dụng của bạn trên một đơn vị thời gian.
  • Thông lượng - Tại đây, bạn sẽ có được ảnh chụp nhanh về thông lượng mà ứng dụng của bạn có thể xử lý tính theo số yêu cầu mỗi phút.
  • Thời gian phản hồi - Điều này sẽ hiển thị thời gian phản hồi của ứng dụng của bạn.
  • Lỗi mở mới nhất - Phần này sẽ liệt kê các lỗi mới nhất sẽ xảy ra trong ứng dụng của bạn.
  • Đo lường hiệu suất mở mới nhất - Phần này liệt kê các phép đo hiệu suất mới nhất, bao gồm lệnh gọi phương thức, yêu cầu API, v.v.

Tiếp theo, chúng ta sẽ xem cách thiết lập theo dõi lỗi thích hợp cho ứng dụng Rails bằng AppSignal.

Theo dõi lỗi bằng AppSignal

Có hơn mười loại lỗi có thể ảnh hưởng đến ứng dụng Ruby on Rails đang chạy. Rõ ràng, một số phổ biến hơn những cái khác. Trong phần này, chúng tôi sẽ mô phỏng một số lỗi này và xem cách AppSignal xử lý chúng. Trước tiên hãy bắt đầu với một ví dụ đơn giản.

Vì ứng dụng theo dõi chi phí đang sử dụng Devise để xác thực nên hãy thêm kiểm tra xem người dùng đã đăng nhập hay chưa. Thay vì sử dụng user_signed_in? được đề xuất phương pháp này, hãy sử dụng user_logged_in? bị lỗi phương thức này sẽ kích hoạt ActionView::Template::Error :

 

Triển khai thay đổi này, tải lại ứng dụng sản xuất, sau đó truy cập trang tổng quan môi trường sản xuất trong AppSignal và xem lỗi này xuất hiện như thế nào:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

AppSignal giúp bạn dễ dàng biết thêm thông tin chi tiết về bất kỳ lỗi nào xảy ra trong ứng dụng. Ví dụ:chúng tôi có thể nhận thông tin chi tiết về ActionView lỗi mẫu bằng cách nhấp vào nó từ bảng điều khiển 'Lỗi mở mới nhất'.

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

Bạn có thể thấy rõ rằng lỗi xảy ra do một phương pháp không xác định, phương pháp này chỉ cho chúng tôi hướng đi đúng để khắc phục.

Bảng điều khiển Lỗi của AppSignal cũng cung cấp cho bạn thông tin bổ sung thông qua Nhật kýCài đặt bảng điều khiển:

Khởi chạy ứng dụng Ruby on Rails của bạn trên DigitalOcean với AppSignal:Hướng dẫn từng bước

  • Nhật ký - Tại đây, bạn hoặc các thành viên trong nhóm của bạn có thể thêm nhận xét về lỗi đang được AppSignal theo dõi. Bảng Nhật ký cũng hiển thị phân tích theo trình tự thời gian của mọi hành động được thực hiện liên quan đến lỗi được đề cập.
  • Cài đặt - Từ bảng điều khiển này, bạn có thể chỉ định lỗi cho thành viên khác trong nhóm, thay đổi cài đặt cảnh báo (chúng tôi sẽ kiểm tra chi tiết những điều này trong phần thứ hai của hướng dẫn này) và đặt mức độ nghiêm trọng của lỗi.

Và thế là xong phần này của loạt bài!

Kết thúc

Trong hướng dẫn này, chúng tôi đã triển khai một ứng dụng Rails đơn giản lên nền tảng ứng dụng của DigitalOcean và kết nối nó với nền tảng giám sát ứng dụng của AppSignal. Chúng tôi cũng đã tìm hiểu cách theo dõi và hiển thị lỗi trong bảng điều khiển Lỗi của AppSignal.

Rõ ràng, đây chỉ là bề nổi của những gì có thể làm được với AppSignal. Trong phần thứ hai của loạt bài này, chúng ta sẽ tìm hiểu sâu hơn về đo lường hiệu suất, phát hiện sự bất thường, giám sát thời gian hoạt động và ghi nhật ký.

Trong lúc chờ đợi, chúc bạn viết mã vui vẻ!

Tái bút. Nếu bạn muốn đọc các bài đăng của Ruby Magic ngay khi chúng được đăng tải, hãy đăng ký nhận bản tin Ruby Magic của chúng tôi và không bao giờ bỏ lỡ một bài đăng nào!