Rumah pembangunan bahagian belakang Tutorial Python Mengautomasikan Muat Turun Log Pencetus Atlas MongoDB Melepasi Had GUI dan CLI

Mengautomasikan Muat Turun Log Pencetus Atlas MongoDB Melepasi Had GUI dan CLI

Nov 02, 2024 am 05:44 AM

Automating MongoDB Atlas Trigger Log Downloads Beyond the GUI and CLI Limitations

Baru-baru ini saya menghadapi senario di mana saya perlu memuat turun log yang banyak daripada MongoDB Atlas Triggers secara tempatan. Pada masa ini, terdapat tiga cara untuk memuat turun log daripada Atlas:

  1. Menggunakan GUI
  2. Menggunakan CLI
  3. Menggunakan API Pentadbir Perkhidmatan Apl

Walau bagaimanapun, pilihan GUI dan CLI mempunyai had mengenai volum log yang boleh dimuat turun, terutamanya had 10,000 log.

Had GUI dan CLI untuk Muat Turun Log

Menggunakan GUI

Dengan GUI, pengguna boleh menapis log mengikut tarikh, jenis, ID pengguna atau ID permintaan, tetapi had ditetapkan kepada 10,000 log semasa memuat turun.

Menggunakan CLI

Dengan CLI, kita boleh menjalankan arahan seperti:

appservices logs list --project 5e208aa2d5ec1375ecd5*** --app triggers_realmapp-**** --type=trigger --start="2024-10-15T00:00:00.000+0000" -o log.logs
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Walau bagaimanapun, ini juga mempunyai had muat turun yang sama iaitu 10,000 log.

Penyelesaian: API Pentadbir Perkhidmatan Apl dengan Penomboran

Untuk mengatasi had muat turun ini, API Pentadbir Perkhidmatan Aplikasi menyediakan cara untuk mengakses log dengan penomboran. Dengan melaksanakan penomboran, pengguna boleh mengambil log melebihi had 10K lalai.

Arahan terperinci tentang menggunakan penomboran dengan API boleh didapati dalam dokumentasi MongoDB: Dapatkan Log Penomboran.

Penyelesaian yang Dicadangkan: Skrip Automatik untuk Muat Turun Log Besar

Untuk menyelaraskan ini, saya membangunkan skrip yang mengambil log secara automatik menggunakan penomboran. Skrip ini tersedia dalam repositori awam di sini: Atlas App Logs Aggregator.

Ciri-ciri Utama Skrip

  • Pengambilan Log Automatik: Mengambil log daripada MongoDB Atlas App Services dengan sokongan untuk set log yang besar melalui penomboran.
  • Penapisan Julat Tarikh Fleksibel: Membenarkan penapisan tarikh pilihan menggunakan parameter tarikh_mula dan tarikh_akhir.
  • Pengesahan ISO 8601: Sahkan tarikh untuk memastikan ia mengikut format ISO 8601.
  • Pengesahan Selamat: Menyokong pengesahan menggunakan kunci API awam dan peribadi MongoDB Atlas.
  • ID pengguna pilihan untuk log penapisan ID pengguna.
  • Co_id pilihan untuk log penapisan ID korelasi.
  • Ambil log ralat sahaja menggunakan pilihan errors_only.
  • Tapis log mengikut pasangan nilai kunci menggunakan pilihan --filter.

Skrip hanya menggunakan titik akhir GET dan mengagregat log masuk ke dalam fail tanpa mengubah suai sebarang data.

Cara menggunakannya

Keperluan

  • Python 3.6 atau lebih tinggi.
  • kebergantungan perpustakaan requirements.txt.

Pemasangan

Cipta persekitaran maya

appservices logs list --project 5e208aa2d5ec1375ecd5*** --app triggers_realmapp-**** --type=trigger --start="2024-10-15T00:00:00.000+0000" -o log.logs
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Pasang kebergantungan

python3 -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`
Salin selepas log masuk

Penggunaan

Argumen Baris Perintah

  • project_id (diperlukan): ID Projek Atlas (rentetan heksadesimal). app_id (diperlukan): ID Apl (rentetan).
  • public_api_key (diperlukan): Kunci API Awam Atlas (rentetan).
  • private_api_key (diperlukan): Kunci API Peribadi Atlas (rentetan dengan sempang).
  • --start_date (pilihan): Tarikh Mula dalam format ISO 8601 (YYYY-MM-DDTHH:MM:SS.MMMZ).
  • --end_date (pilihan): Tarikh Tamat dalam format ISO 8601 (YYYY-MM-DDTHH:MM:SS.MMMZ).
  • --type (pilihan): Senarai jenis log yang disokong dipisahkan koma. Pada masa ini, jenis yang tersedia ialah: TRIGGER_FAILURE, TRIGGER_ERROR_HANDLER, DB_TRIGGER, AUTH_TRIGGER, SCHEDULED_TRIGGER, FUNCTION, SERVICE_FUNCTION, STREAM_FUNCTION, SERVICE_STREAM_FUNCTION, AUTH, API_PUSHL, AUTH, API_PUSHL, ENDPOINT_API, NECTION_START, SYNC_CONNECTION_END, SYNC_SESSION_START, SYNC_SESSION_END, SYNC_CLIENT_WRITE, SYNC_ERROR , SYNC_OTHER, SCHEMA_ADDITIVE_CHANGE, SCHEMA_GENERATION, SKEMA_VALIDATION, LOG_FORWARDER
  • --user_id (pilihan): Kembalikan hanya mesej log yang dikaitkan dengan user_id yang diberikan.
  • --co_id (pilihan): Kembalikan hanya mesej log yang dikaitkan dengan permintaan yang diberikan ID Korelasi.
  • --filter (pilihan): Tapis log mengikut pasangan nilai kunci (cth., --filter event_subscription_name=,function_name=).
  • --errors_only (pilihan): Kembalikan mesej log ralat sahaja.
  • --verbose (pilihan): Dayakan maklumat pengelogan verbose.

Contoh

pip install -r requirements.txt
Salin selepas log masuk

Dengan parameter pilihan

python main.py <project_id> <app_id> <public_api_key> <private_api_key> --start_date 2024-10-05T14:30:00.000Z --end_date 2024-10-06T14:30:00.000Z --type TRIGGER_FAILURE,SCHEMA_GENERATION
Salin selepas log masuk

Jika tarikh_mula dan tarikh_akhir tidak disediakan, skrip akan lalai tarikh_mula hingga 24 jam terakhir dari masa semasa.

 Penapisan Log

Pilihan --filter membolehkan anda menapis log mengikut pasangan nilai kunci. Pilihan ini menerima berbilang pasangan nilai kunci yang dipisahkan oleh ruang. Setiap pasangan kunci-nilai hendaklah dalam format key=value.

Pasangan nilai kunci mestilah nilai yang dikembalikan oleh titik akhir. Dengan cara ini ia akan menggunakannya untuk menapis dan hanya menyimpan yang sepadan. Contohnya, untuk "jenis": "SCHEDULED_TRIGGER", nilai kunci respons akan serupa dengan:

python main.py <project_id> <app_id> <public_api_key> <private_api_key> --start_date 2024-10-05T14:30:00.000Z --type TRIGGER_FAILURE,SCHEMA_GENERATION --user_id 671d2e2010733ecbaa2bab8f --filter event_subscription_name=getUnpausedClustersMetrics
Salin selepas log masuk

Kami boleh menggunakan mana-mana ini dalam pilihan --filter (cth., --filter event_subscription_name=getUnpausedClustersMetrics)

Pembalakan

Skrip menyokong pengelogan ke kedua-dua konsol dan fail log. Secara lalai, fail log disimpan dalam folder log. Nama fail log termasuk cap masa untuk memastikan keunikan bagi setiap larian.

--verbose: Apabila bendera ini digunakan, tahap log ditetapkan kepada DEBUG, memberikan maklumat pengelogan terperinci. Tanpa bendera ini, tahap log ditetapkan kepada INFO.

Lokasi Fail Log

Fail log disimpan dalam folder log. Setiap fail log dinamakan dengan cap masa untuk memastikan log daripada larian yang berbeza tidak menimpa satu sama lain.

Contoh Nama Fail Log

appservices logs list --project 5e208aa2d5ec1375ecd5*** --app triggers_realmapp-**** --type=trigger --start="2024-10-15T00:00:00.000+0000" -o log.logs
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Faedah

  • Pendapatan Log Automatik: Ambil log dengan mudah daripada MongoDB Atlas App Services tanpa campur tangan manual.
  • Penapisan Julat Tarikh: Tapis log mengikut julat tarikh untuk memfokus pada tempoh tertentu.
  • Sokongan Penomboran: Kendalikan set besar log dengan cekap menggunakan penomboran.
  • Pengesahan: Pastikan input tarikh berada dalam format yang betul untuk mengelakkan ralat.

PENAFIAN

Sila ambil perhatian: Repo ini dikeluarkan untuk kegunaan "SEBAGAIMANA ADANYA" tanpa sebarang jenis jaminan, termasuk, tetapi tidak terhad kepada pemasangan, penggunaan atau prestasinya. Kami menafikan mana-mana dan semua waranti, sama ada nyata atau tersirat, termasuk tetapi tidak terhad kepada sebarang waranti tanpa pelanggaran, kebolehdagangan dan/atau kesesuaian untuk tujuan tertentu. Kami tidak menjamin bahawa teknologi itu akan memenuhi keperluan anda, bahawa operasinya tidak akan terganggu atau bebas ralat, atau bahawa sebarang ralat akan dibetulkan.

Sebarang penggunaan skrip dan alatan ini adalah atas risiko anda sendiri. Tiada jaminan bahawa mereka telah melalui ujian menyeluruh dalam persekitaran yang setanding dan kami tidak bertanggungjawab atas sebarang kerosakan atau kehilangan data yang ditanggung dengan penggunaannya.

Anda bertanggungjawab untuk menyemak dan menguji mana-mana skrip yang anda jalankan dengan teliti sebelum digunakan dalam mana-mana persekitaran bukan ujian.

Atas ialah kandungan terperinci Mengautomasikan Muat Turun Log Pencetus Atlas MongoDB Melepasi Had GUI dan CLI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1671
14
Tutorial PHP
1276
29
Tutorial C#
1256
24
Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Python dan Masa: Memanfaatkan masa belajar anda Python dan Masa: Memanfaatkan masa belajar anda Apr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python vs C: Meneroka Prestasi dan Kecekapan Python vs C: Meneroka Prestasi dan Kecekapan Apr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python untuk Pembangunan Web: Aplikasi Utama Python untuk Pembangunan Web: Aplikasi Utama Apr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

See all articles