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
Từ , chọn gói thuê bao
Từ Chọn một ứng dụng, hãy chọn ứng dụng Relic mới của bạn
Đặ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
Khởi động lại máy phát điện của bạn
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ụ
Chạy lệnh sau, trong đó
1 làheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
heroku addons:create newrelic:$planlevel
Sao chép
Đặ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
Khởi động lại máy phát điện của bạn
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
Tạo hoặc chỉnh sửa các yêu cầu. txt, thêm dòng
newrelic
Sao chép
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
2. Ví dụheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
web: newrelic-admin run-program gunicorn mysite.wsgi
Sao chép
Đẩ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
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ể [
3] với tên góiheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
newrelic==n.n.n.n
Sao chép
Đẩ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
- Từ gốc của dự án của bạn, tìm Procfile
- Sửa đổi mục nhập
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ạnheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
- Tham khảo các ví dụ sau để chèn
2 vào đầu lệnhheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
- 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
0Sao chép
Bình với gunicorn
heroku addons:create newrelic:$planlevel
1Sao chép
Django với gunicorn được liệt kê trong
heroku config:set NEW_RELIC_APP_NAME='Your Application Name'
6heroku addons:create newrelic:$planlevel
2Sao 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
3Sao 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'
7heroku addons:create newrelic:$planlevel
4Sao 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'
8Tiề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ạnheroku addons:create newrelic:$planlevel
5Sao 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
6Sao 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ạyheroku addons:create newrelic:$planlevel
7Sao 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ạyheroku addons:create newrelic:$planlevel
8Sao 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
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
3, bao gồm cài đặt cấu hình cụ thể;heroku config:set NEW_RELIC_APP_NAME='Your Application Name'
9heroku addons:create newrelic:$planlevel
Sao chép
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
Sử dụng lệnh
4 để đặt biến môi trường NEW_RELIC_CONFIG_FILE cho ứng dụng đã triển khai của bạnheroku config:set NEW_RELIC_APP_NAME='Your Application Name'
0heroku config:set NEW_RELIC_APP_NAME='Your Application Name'
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