Python ghi nhật ký Heroku

Heroku là một giải pháp Nền tảng dưới dạng Dịch vụ [PaaS] để lưu trữ các ứng dụng web bằng nhiều ngôn ngữ đại lý khác nhau, bao gồm cả Python. Với tác nhân, bạn có thể mở rộng Heroku bằng các số liệu từ Di tích mới

Tài liệu này mô tả những cân nhắc đặc biệt khi sử dụng Heroku làm dịch vụ lưu trữ với tác nhân Python

Cài đặt tiện ích bổ sung Di tích mới

Sau khi triển khai ứng dụng Python của bạn trên Heroku, hãy cài đặt tác nhân Python

Qua trang web Heroku

Để cài đặt tiện ích bổ sung Di tích mới thông qua trang web Heroku, bạn phải đăng nhập vào Heroku

  1. Từ , chọn gói thuê bao

  2. Từ Chọn một ứng dụng, hãy chọn ứng dụng Relic mới của bạn

  3. Đặt tên mô tả cho ứng dụng của bạn bằng lệnh Heroku toolbelt này

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    Sao chép

  4. Khởi động lại máy phát điện của bạn

  5. Tạo một số lưu lượng truy cập cho ứng dụng của bạn

Thông qua dây đai công cụ Heroku

Để cài đặt tiện ích bổ sung tác nhân Python với Heroku, thanh công cụ

  1. Chạy lệnh sau, trong đó

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    1 là

    heroku addons:create newrelic:$planlevel

    Sao chép

  2. Đặt tên mô tả cho ứng dụng của bạn bằng lệnh toolbelt này

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    Sao chép

  3. Khởi động lại máy phát điện của bạn

  4. Tạo một số lưu lượng truy cập cho ứng dụng của bạn

Cài đặt tiện ích bổ sung sẽ tự động tạo tài khoản Relic mới riêng tư và định cấu hình quyền truy cập cho máy chủ Heroku. Tác nhân sẽ bắt đầu theo dõi hiệu suất ứng dụng, trải nghiệm người dùng cuối và hiệu suất máy chủ được thu thập sau khi cài đặt tiện ích bổ sung. Trong vòng vài phút, dữ liệu sẽ bắt đầu xuất hiện trên trang Tóm tắt APM của bạn

Nâng cấp từ cài đặt đại lý hiện có

Nếu một tác nhân đã được cài đặt, hãy cài đặt lại tiện ích bổ sung bằng lệnh Heroku toolbelt

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

Sao chép

Cài đặt tác nhân Python

Để cài đặt gói Python của bên thứ ba, chẳng hạn như tác nhân Python của chúng tôi trên Heroku, hãy sử dụng pip. Heroku tự động tìm kiếm một yêu cầu. txt trong thư mục gốc của dự án của bạn. Nó cài đặt mọi thứ được liệt kê trong tệp đó khi bạn đẩy dự án của mình lên Heroku

  1. Tạo hoặc chỉnh sửa các yêu cầu. txt, thêm dòng

    newrelic

    Sao chép

  2. người dùng Django. Sửa đổi mục web của Procfile của bạn, thêm tiền tố vào giá trị bằng

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    2. Ví dụ

    web: newrelic-admin run-program gunicorn mysite.wsgi

    Sao chép

  3. Đẩy dự án của bạn lên Heroku

Thao tác này sẽ cài đặt gói tác nhân Python với phiên bản mới nhất được liệt kê trên Chỉ mục gói Python [PyPi]

Cập nhật tác nhân Python

Heroku lưu trữ các gói và không phát hiện khi có phiên bản mới hơn của tác nhân Python. Buộc nâng cấp

  1. Chỉnh sửa các yêu cầu. txt bằng cách bao gồm phiên bản tác nhân Python cụ thể [

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    3] với tên gói

    newrelic==n.n.n.n

    Sao chép

  2. Đẩy dự án của bạn lên Heroku

Xác minh tiện ích bổ sung Di tích mới

Để xác minh rằng tiện ích bổ sung Di tích mới đã được bật, hãy chạy

heroku run env | grep NEW_RELIC

Sao chép

Điều này tạo ra một danh sách các biến môi trường dành riêng cho Di tích mới trong Heroku. Tác nhân Python sử dụng những dữ liệu này để xác định dữ liệu ứng dụng và tài khoản Relic mới nào sẽ sử dụng cho dữ liệu báo cáo

Ở mức tối thiểu, bạn sẽ thấy

NEW_RELIC_LOG=stdout

NEW_RELIC_LICENSE_KEY=0000000000000000000000000000000000000000

NEW_RELIC_APP_NAME=Your app name

Sao chép

Tài khoản Relic mới của bạn là duy nhất

Khắc phục sự cố cài đặt của bạn

Trong vòng vài phút sau khi cài đặt và định cấu hình tác nhân, dữ liệu sẽ bắt đầu xuất hiện trong trang Tóm tắt APM của ứng dụng của bạn. Nếu không có dữ liệu nào xuất hiện, hãy kiểm tra xem các biến môi trường có được phát hiện đúng không bằng cách chạy

heroku run newrelic-admin validate-config - stdout

Sao chép

Thao tác này sẽ tạo kết nối và báo cáo dữ liệu giao dịch thử nghiệm trong ứng dụng Python Agent Test. Nắm bắt đầu ra từ việc chạy thử nghiệm và sử dụng dữ liệu để khắc phục sự cố. Nếu bạn cần hỗ trợ thêm, hãy làm theo quy trình xử lý sự cố tác nhân Python

Khởi tạo tác nhân Python

Để khởi tạo tác nhân Python

  1. Từ gốc của dự án của bạn, tìm Procfile
  2. Sửa đổi mục nhập

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    4 trong Procfile của bạn để xác định những việc cần làm để khởi động ứng dụng web Python của bạn
  3. Tham khảo các ví dụ sau để chèn

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    2 vào đầu lệnh
  4. Chạy ứng dụng web Python của bạn dưới sự kiểm soát của tập lệnh quản trị của tác nhân Python

Cơ chế lưu trữ

Mục nhập web ví dụ

Flask với máy chủ phát triển tích hợp

heroku addons:create newrelic:$planlevel

0

Sao chép

Bình với gunicorn

heroku addons:create newrelic:$planlevel

1

Sao chép

Django với gunicorn được liệt kê trong

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

6

heroku addons:create newrelic:$planlevel

2

Sao chép

thận trọng

Tránh sử dụng máy chủ phát triển tích hợp sẵn của bất kỳ khung web nào trước phiên bản Python 2. 7. 4 hoặc trước Django 1. 4. Thay vào đó, hãy sử dụng gunicorn hoặc uWSGI

Máy chủ WSGI sử dụng mô-đun wsgiref không hoàn toàn tuân thủ WSGI cho các máy chủ phát triển trước phiên bản Python 2. 7. 4. Điều này khiến tác nhân Python không thể báo cáo dữ liệu chính xác

Gói ứng dụng WSGI

Tác nhân cung cấp gói tự động của điểm ứng dụng WSGI cho các khung web này

  • Chai
  • Django
  • Bình giữ nhiệt

Nếu bạn đang sử dụng bất kỳ khung web Python nào trong số này, thì không cần thực hiện thêm bước nào

Đối với những người khác, bạn phải sửa đổi tệp mã Python bằng điểm nhập ứng dụng WSGI của mình để bọc đối tượng ứng dụng WSGI bằng trình bao bọc ứng dụng WSGI. Điều này sẽ khởi tạo thời gian cho các yêu cầu web mà ứng dụng của bạn nhận được

Nếu điểm vào là thế này

Làm cái này

Điểm vào là một chức năng

Bọc nó trong một trang trí

heroku addons:create newrelic:$planlevel

3

Sao chép

Điểm vào là một chức năng hoặc đối tượng được nhập từ một mô-đun khác

Bọc nó theo phong cách trang trí

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

7

heroku addons:create newrelic:$planlevel

4

Sao chép

Theo dõi nhiệm vụ cần tây

Để ghi lại thời gian thực hiện cho các tác vụ Celery dưới dạng các tác vụ nền đối với ứng dụng web của bạn, hãy kết thúc phần khởi động của máy chủ Celery bằng lệnh

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

8

Tiền tố lệnh khởi động hiện có được xác định bởi mục nhập

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

9 trong Procfile của bạn

heroku addons:create newrelic:$planlevel

5

Sao chép

Gỡ lỗi tác nhân Python

Để bắt đầu gỡ lỗi, hãy thu thập đầu ra nhật ký từ tác nhân Python. Heroku gửi đầu ra của tác nhân Python thành đầu ra tiêu chuẩn và ghi lại nó trong nhật ký máy chủ web

Để có quyền truy cập vào nhật ký máy chủ web cho Heroku, hãy chạy

heroku addons:create newrelic:$planlevel

6

Sao chép

Theo mặc định, tác nhân Python sẽ đăng nhập ở cấp độ

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

0. Nếu Hỗ ​​trợ di tích mới yêu cầu cấp độ ghi nhật ký thay thế, bạn phải thêm biến cấu hình theo cách thủ công. Ví dụ: để đặt đầu ra ghi nhật ký thành

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

1, hãy chạy

heroku addons:create newrelic:$planlevel

7

Sao chép

Ứng dụng của bạn tự động khởi động lại khi bạn thay đổi cấp độ nhật ký

thận trọng

Mức nhật ký

heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

1 tạo ra số lượng lớn đầu ra. Đảm bảo xóa cài đặt này ngay khi không còn cần thiết, bằng cách chạy

heroku addons:create newrelic:$planlevel

8

Sao chép

Chỉnh sửa tệp cấu hình đại lý

Khi sử dụng tiện ích bổ sung của Heroku với Di tích mới, tiện ích này sẽ tự động đặt các biến môi trường chính cho tác nhân Python. Bạn cũng có thể tùy chỉnh cài đặt bổ sung với tệp cấu hình tác nhân hoặc sử dụng

Không thêm các cài đặt cốt lõi như khóa cấp phép, tên ứng dụng, v.v. vào tập tin cấu hình. Heroku tự động thêm các cài đặt này

Để tùy chỉnh các cài đặt khác, hãy sử dụng tệp cấu hình tác nhân Python với Heroku

  1. Thêm di tích mới. ini tệp cấu hình tác nhân vào thư mục gốc của kho lưu trữ dự án mà bạn đang đẩy lên Heroku. Trong phần

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    3, bao gồm cài đặt cấu hình cụ thể;

    heroku addons:create newrelic:$planlevel

    9

    Sao chép

  2. Gửi tệp cấu hình vào kho lưu trữ của bạn và đẩy thay đổi lên Heroku

  3. Sử dụng lệnh

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    4 để đặt biến môi trường NEW_RELIC_CONFIG_FILE cho ứng dụng đã triển khai của bạn

    heroku config:set NEW_RELIC_APP_NAME='Your Application Name'

    0

    Sao chép

Nếu bạn đang sử dụng chương trình trình bao bọc newrelic-admin để khởi chạy máy chủ WSGI của mình, các cài đặt cho mã cấp phép, tên ứng dụng, v.v. , sẽ được chọn từ các biến môi trường do Heroku đặt. Mọi cài đặt bổ sung bạn đặt trong tệp cấu hình tổng đài viên cũng sẽ được áp dụng. Sau đó, khi tác nhân đăng ký với New Relic, mọi cấu hình phía máy chủ cũng sẽ được hợp nhất để tạo cấu hình cuối cùng mà tác nhân sẽ sử dụng

Làm cách nào để lưu trữ API Python trên Heroku?

Vì vậy, hãy đánh nó. .
Tạo repo trên GitHub. Trước tiên, chúng tôi cần mã làm việc của mình có sẵn trên GitHub, vì đó là cách chúng tôi liên kết nó với Heroku. .
Tạo một venv. .
kích hoạt venv. .
Cài đặt bình và gunicorn. .
tạo. .
Tạo api. tập tin py. .
Tạo một yêu cầu. .
Tạo một hồ sơ

Làm cách nào để tạo Procfile Python?

HƯỚNG DẪN .
Đảm bảo nằm trong thư mục Image-Classification-App. cd ~ cd Ứng dụng phân loại hình ảnh
Tạo một tệp có tên Procfile bằng lệnh sau trong bảng điều khiển. hồ sơ nano
Ngoài ra, hãy viết phần sau vào Procfile. Nên có một không gian giữa web. và gunicorn. trang web. ứng dụng gunicorn. ứng dụng

Làm cách nào để cài đặt các gói Python trong Heroku?

Heroku cũng hỗ trợ phân phối gói Python truyền thống, được hỗ trợ bởi thiết lập. py. Nếu ứng dụng Python của bạn chứa một thiết lập. py nhưng loại trừ một yêu cầu. txt, thiết lập python. py phát triển sẽ được sử dụng để cài đặt gói của bạn và giải quyết các phụ thuộc của bạn . Điều này hoạt động tốt nhất với setuptools.

Heroku trong Python là gì?

Heroku giúp dễ dàng triển khai và mở rộng quy mô ứng dụng Python . Cho dù bạn thích các khuôn khổ như Django hay Flask hay bị vấy bẩn với các ổ cắm Xoắn hoặc thô, Heroku sẽ giúp bạn xây dựng mọi thứ theo cách của bạn bằng các công cụ bạn yêu thích.

Chủ Đề