JSON & log aplikasi

Ubah Application Logs menjadi tabel yang dapat dikueri.

Baris JSON dari ECS, Serilog, pino, atau Bunyan, serta teks biasa berformat stempel waktu [LEVEL] logger: message — dengan stack trace tetap melekat pada baris yang memicunya, alih-alih tersebar menjadi empat puluh baris tak berguna.

Gunakan hasilnya di Excel, Google Sheets, alat AI, dan aplikasi Anda melalui Database REST API.

Semua jenis konektor tersedia di paket Free. Mulai dengan 2 sumber data dan 1 agen.

Log AplikasiFile dibaca di lokasi penyimpanannya
Di dalam jaringan AndaAgen Jaringan Aliran Permintaan

Baca, atur, dan kueri di mesin Anda.

Kueri hanya-baca · koneksi keluar

File sumber tetap di tempatnya. Alat Anda menerima hasil kueri.

Sumber → agent → hasil yang diizinkan

Query Streams mengubah log aplikasi menjadi tabel SQL langsung yang dapat dibaca dari Microsoft Excel, Google Sheets, asisten AI melalui MCP, REST API, dan Power BI. Baris JSON terstruktur — ECS, Serilog, pino, Bunyan — hadir sebagai kolom bertipe; log teks biasa diuraikan berdasarkan tata bahasa. Perbedaan pentingnya adalah penanganan baris jamak: stack trace menjadi bagian dari baris yang memicunya, dan driver log mempertahankannya di sana, alih-alih mengubah satu pengecualian menjadi empat puluh baris yatim. Di Debian dan Ubuntu, log dpkg dan apt juga tercakup, sehingga perubahan pada mesin dapat dikueri bersama hal yang dikatakan aplikasi.

  • Stack trace tetap dalam satu baris
  • ECS, Serilog, pino, dan Bunyan
  • dpkg dan apt juga tercakup

Hubungkan Application Logs dengan pengaturan yang tepat.

Pertahankan koneksi di Network Agent. Berikut detail khusus untuk Application Logs.

Map
Direktori log aplikasi, atau folder tempat log dikumpulkan — disk lokal atau berbagi jaringan yang ditulis sebagai \\server\share (jangan pernah menggunakan huruf drive yang dipetakan; di Linux atau Mac, pasang terlebih dahulu)
Format
Baris JSON dari logger terstruktur, dan teks biasa berformat stempel waktu [LEVEL] logger: message; ditambah dpkg dan apt di Debian dan Ubuntu
Baris jamak
Sebuah rekaman berakhir saat stempel waktu berikutnya dimulai, sehingga stack trace dan baris lanjutan yang menjorok tetap berada di baris yang memicunya
Rotasi
Sepuluh pola rotasi bernama ditambah file biasa yang tidak dirotasi; arsip terkompresi dibaca langsung
Baris yang tidak cocok
Disimpan apa adanya dalam events_raw_lines, tidak pernah dibuang
Kredensial
Tidak ada—tidak ada server; agen membaca file di lokasi aslinya
Dialek SQL
DuckDB — SQL standar, tidak perlu mempelajari hal khusus untuk logger

Jika logger Anda menulis format yang tidak cocok dengan profil mana pun — dan aplikasi internal sering melakukannya — jelaskan sekali dengan konektor Custom Logs dan format itu akan menjadi tabel sejenis. Tidak ada yang berubah pada bagian lain halaman ini; hanya asal nama kolomnya.

Dirancang untuk cara kerja Application Logs.

Stack trace tetap melekat

Stack trace sepanjang empat puluh baris adalah satu peristiwa, bukan empat puluh. Setiap pengurai yang menganggap satu baris sebagai satu rekaman biasanya keliru dalam hal ini, sehingga menghasilkan tabel tempat teks pengecualian dan pesan pemicunya berada di baris berbeda tanpa penghubung.

  • Batas rekaman merupakan bagian dari format, sehingga rekaman berakhir saat stempel waktu berikutnya dimulai, bukan pada baris baru berikutnya.
  • Seluruh trace tetap berada di baris yang memicunya, sehingga pengelompokan pengecualian berdasarkan jenis cukup dilakukan dengan GROUP BY, bukan pekerjaan merekonstruksi.
  • Logger terstruktur mempertahankan bidangnya — level, logger, message, dan apa pun yang dibawa JSON hadir sebagai kolom, bukan satu gumpalan teks.
  • Baris yang tidak cocok dengan tata bahasa mana pun disimpan apa adanya di events_raw_lines, sehingga baris log dari pustaka yang tidak Anda duga tidak hilang begitu saja.
-- Logger mana yang menghasilkan error, dan seberapa sering
SELECT   logger, level, COUNT(*) AS events
FROM     fileset.events
WHERE    level IN ('ERROR','FATAL')
GROUP BY logger, level
ORDER BY events DESC

Dan apa yang berubah pada mesin

Di Debian dan Ubuntu, log dpkg dan apt mencatat setiap paket yang dipasang, ditingkatkan, atau dihapus, beserta stempel waktunya. Keduanya memiliki profil di sini karena menjawab pertanyaan yang muncul setelah sebagian besar insiden: aplikasi mulai gagal pukul empat — apa yang berubah di mesin ini sebelumnya?

Format dan perilakunya, secara terperinci.

Buka referensi yang Anda perlukan untuk Application Logs.

Folder log Anda akan berubah menjadi tabel yang dapat Anda gunakan untuk mengelompokkan data.
Ide besar

Folder log Anda akan berubah menjadi tabel yang dapat Anda gunakan untuk mengelompokkan data.

Bukan grep, dan bukan tumpukan log. Query Streams membaca file yang sudah ditulis aplikasi Anda, menetapkan formatnya, dan menyediakan kolom bertipe — jadi pertanyaan “logger mana yang paling banyak menghasilkan error minggu ini” cukup dijawab dengan satu kueri, bukan pekerjaan sepanjang sore. Baris yang tidak dapat dibaca pengurai disimpan sebagai baris dengan alasannya, bukan dibuang diam-diam.

Folder logdi server Anda
shopfront-api/app.jsonlJSON
pekerja-toko/aplikasi.logteks
riwayat.logtepat

Rotasi, arsip terkompresi, dan file yang dibaca ulang — ditangani

noiseest-loggers.sqlSQL
PILIH aplikasi, pencatat,
       menghitung(*) AS kesalahan
DARI   kumpulan file.kejadian
DI MANA  level = 'KESALAHAN'
KELOMPOKKAN BERDASARKAN aplikasi, pencatat
PESAN OLEH kesalahan DESC
Hasilkesalahan oleh logger
aplikasipencatatkesalahan
API tampilan tokoKlien Pembayaran412
API tampilan tokoOrderRepo96
pekerja tokoPengirim Email31
toko-webFilter Sesi4

Gabungkan dengan basis data aplikasi Anda dalam kueri yang sama.

File-file yang sudah ditulis oleh aplikasi Anda, kini menjadi tabel yang dapat Anda gunakan untuk membuat laporan.

Dua bentuk yang ditulis aplikasi Anda, dua bentuk yang ditulis kotak tersebut.
Sumber

Dua bentuk yang ditulis aplikasi Anda, dua bentuk yang ditulis kotak tersebut.

Setiap kartu mencantumkan file persis yang dibaca Query Streams dan hasil yang Anda peroleh. Anda tidak perlu mengadopsi pustaka logging atau mengubah format agar ini berfungsi — format yang didukung adalah format yang sudah dihasilkan alat-alat ini secara default.

Log aplikasi yang didukung

4 format
Logo Elastic - Query Streams membaca file log aplikasi JSON Skema Umum Elastic. Baris JSONECS, Serilog kompak, pino, Bunyan
  • Satu objek JSON per baris di .jsonl, .ndjson atau *-json.log
  • Nama bidang ECS dipetakan langsung — tingkat log., nama host, nama layanan
  • Serilog compact, pino dan Bunyan read too: kunci yang sama, ejaan berbeda
  • Objek bersarang diratakan menjadi kolom putus-putus; apa pun yang tidak dipetakan akan berada di data
  • Lampiran; rotasi bertanggal dan .gz diikuti
Ikon log aplikasi - Query Streams membaca file log aplikasi teks berstempel waktu dengan jejak tumpukan. Catatan tekscap waktu, level, pencatat, pesan
  • Bentuk default: stempel, level dalam tanda kurung, pencatat, pesan
  • Stack trace digabungkan dengan baris yang memicunya — satu baris, bukan empat puluh
  • pada …, Disebabkan oleh: dan Penelusuran balik semuanya dibaca sebagai kelanjutan
  • Membaca .log, .keluar dan .txtFile JSON dikecualikan berdasarkan deklarasi.
  • Milidetik dengan koma atau titik; waktu lokal dibaca sebagai waktu lokal Agent
Logo Debian - Query Streams membaca log paket dpkg di Debian dan Ubuntu dpkglog paket
  • Satu baris per langkah pengemasan: memasang, meningkatkan, menghapus, konfigurasi
  • kemasan, versi dan versi baru sebagai kolom mereka sendiri
  • status baris membawa status dpkg memindahkan paket ke
  • /var/log/dpkg.log dan nomornya .gz rotasi
  • Tidak ada zona waktu di file; dibaca sebagai waktu lokal Agent
Logo Debian - Query Streams membaca log riwayat apt di Debian dan Ubuntu tepatlog riwayat
  • Satu Kunci: nilai blok per transaksi, baris kosong di antara blok.
  • Tepatnya Baris perintah yang terjadi, dan apa yang diubahnya.
  • Tanggal Mulai adalah waktu acara; Tanggal Akhir merupakan kolom tersendiri
  • Transaksi yang belum selesai akan menunggu daripada dibagi menjadi dua.
  • /var/log/apt/history.log ditambah lagi .gz rotasi
Lebih banyak yang datang.Ini baru permulaan, bukan batas atas.

Format log aplikasi dan paket baru ditambahkan dengan setiap rilis Agent. Karena Agent selalu memperbarui diri, format yang ditambahkan belakangan akan muncul di konektor Anda tanpa perlu ada yang menyentuh server.

Keempat pengurai dibuat dan diuji menggunakan file log hasil tangkapan nyata, termasuk rotasi dan arsip terkompresi. Kedua log paket hanya untuk Debian dan Ubuntu — tidak ada profil untuk distribusi berbasis RPM atau riwayat paket Windows, dan kami lebih memilih menyatakannya daripada membiarkan Anda mengetahuinya saat penyiapan.
Log aplikasi Anda dari setiap wilayah, dibaca di tempat aplikasi berjalan
Di mana pun ia berjalan

Log aplikasi Anda dari setiap wilayah, baca di mana letaknya

Satu aplikasi jarang hanya berjalan di satu server. API berada di satu region cloud, worker di region lain, dan ada sesuatu yang masih berjalan di mesin di kantor. Setiap lokasi menjalankan Network Agent yang membaca file log di tempatnya berada dan membuat koneksi keluar ke Query Streams. Dari sudut pandang firewall, ini adalah koneksi keluar biasa — tak ada yang perlu dibuka, tak perlu membangun VPN, dan tak perlu menambahkan pustaka logging ke aplikasi Anda.

Uni Eropa Barat API tersebut menulis baris JSON, satu file per layanan. menelepon keluar
AS-Timur Para pekerja menulis log teks, jejak tumpukan, dan semua hal terkait. menelepon keluar
Kantor pusat Kotak lama, beserta riwayat dpkg dan apt di sampingnya. menelepon keluar

Tiga koneksi keluar, satu tempat untuk menguerinya — tanpa port masuk, tanpa VPN, tanpa perubahan firewall

Satu agen per lokasi

Satu Agent mencakup seluruh lokasi, bukan hanya satu log: baris JSON, log teks, dan riwayat paket di lokasi tersebut masing-masing menjadi konektor File Set sendiri pada Agent yang sama. Paket Free menjalankan satu Agent, sedangkan paket berbayar menjalankan lebih banyak.

1 lokasi = 1 agen = banyak konektor

Tidak ada yang bisa dibuka

Agent membuat satu koneksi keluar terenkripsi, dan permintaan keluar serta baris data yang kembali sama-sama melewatinya. Tak ada port masuk, tak perlu VPN, tak perlu meminta perubahan firewall — dan tak ada yang perlu ditambahkan ke aplikasi agar fitur ini berfungsi.

satu koneksi, dua arah

Satu kueri lintas wilayah

Setiap sumber dalam sebuah kueri terfederasi menamai Agent-nya sendiri, sehingga satu pernyataan dapat menampilkan error API di satu region berdampingan dengan error worker di region lain — atau dengan riwayat paket yang menjelaskan kapan masalah itu dimulai. Tersedia pada paket Business dan Enterprise.

2 wilayah → 1 set hasil

Mereka selalu memperbarui pengetahuan mereka.

Agen memperbarui diri secara otomatis, sehingga format log yang ditambahkan pada rilis selanjutnya mencapai setiap lokasi tanpa perlu penyebaran sendiri. Itulah yang membuat daftar di atas menjadi titik awal, bukan daftar tetap.

Format baru hadir bersama Agen.

Jejak tumpukan, jam, dan kemiripan
Bagian tersulit

Jejak tumpukan, jam, dan kemiripan

Log aplikasi adalah file paling berantakan di server: satu kejadian dapat mencakup empat puluh baris, dua format yang tidak terkait dapat terlihat identik, dan setengah dari file ini sama sekali tidak mencantumkan zona waktu. Masing-masing hal tersebut ditangani dengan deklarasi, bukan dengan tebakan.

Satu acara, bukan empat puluh baris.

Baris yang tidak diawali dengan stempel waktu termasuk ke baris di atasnya. Itulah mengapa jejak tumpukan tetap terhubung dengan pesan yang memunculkannya, alih-alih terpecah menjadi puluhan fragmen yang tidak lagi relevan. KELOMPOKKAN BERDASARKAN bisa dipasang kembali.

baris lanjutan → digabungkan, hingga 200

Dua batang kayu yang tampak serupa

Baris aplikasi JSON, envelope Docker, dan baris akses JSON server web semuanya adalah “JSON dengan timestamp di dalamnya”. Format ditentukan oleh isi baris, sehingga masing-masing menggunakan profilnya sendiri — bukan berdasarkan percabangan nama file.

Isi file yang menentukan, bukan nama file.

Jam tanpa zona waktu

Log teks, dpkg, dan apt semuanya mencatat waktu lokal host tanpa menyertakan offset. Alih-alih menebak, profil tersebut menyatakan bahwa timestamp bersifat lokal dan membacanya sebagai zona waktu Agent — sementara string aslinya tetap disimpan di kolom tersendiri.

jam lokal → dinyatakan, tidak pernah disimpulkan

Transaksi masih berlangsung.

apt menulis awal pembaruan segera dan baris akhirnya hanya ketika dpkg selesai, yang bisa memakan waktu beberapa menit kemudian. Blok yang belum ditutup akan menunggu, alih-alih dipotong menjadi dua dan muncul sebagai peristiwa tanpa awal.

menunggu hingga Tanggal Akhir, maksimal 30 menit

Dalam berkas5 baris
2026-09-08 14:02:11,431 [KESALAHAN] PaymentClient: pengisian daya gagal java.net.SocketTimeoutException: Waktu baca habis di java.base/java.net.SocketInputStream.read pada PaymentClient.charge(PaymentClient.java:88) ... 24 lainnya
Dalam tabel1 baris
waktu_acara
2026-09-08 14:02:11.431
tingkat
KESALAHAN
pencatat
Klien Pembayaran
pesan
pembayaran gagal ↵ java.net.SocketTimeoutException: Waktu tunggu baca habis ↵ at …
Hitung pengecualiannya, bukan baris yang dicetak.
Kolom yang sebenarnya Anda dapatkan
Skema

Kolom yang sebenarnya Anda dapatkan

Bukan gumpalan teks dengan timestamp di sampingnya. Setiap format diuraikan menjadi kolom bertipe yang dapat langsung Anda filter, kelompokkan, dan agregasikan — dan jika log aplikasi Anda berisi JSON terstruktur, setiap field di dalamnya juga diurai menjadi kolom.

Logo elastis
Baris JSONECS · Serilog · pino · Bunyan
tingkatpencatatpesantuan rumahmelayanisungai kecildata
Ikon log aplikasi
Catatan teksjejak tumpukan digabungkan
tingkatpencatatpesan
Logo Debian
log paket dpkgDebian · Ubuntu
tindakannegarakemasanversiversi barudetail
Logo Debian
log riwayat aptsatu blok per transaksi
baris perintahdiminta olehmemasangmeningkatkanmenghapusmembersihkankesalahantanggal_akhirdata

Setiap baris juga membawa waktu_acara, stempel mentah tempat data dibaca, dan file asalnya. Log aplikasi Anda diidentifikasi oleh aplikasi dan dua log paket oleh tuan rumah — keduanya diambil dari folder tempat file berada, sehingga folder per layanan atau per mesin memberi Anda kolom yang rapi untuk dikelompokkan. Log teks tiga kolom ini memang dirancang demikian: alih-alih menebak field yang tidak selalu tersedia dalam pesan bebas, seluruh pesan disimpan utuh, termasuk stack trace di dalamnya.

Apa yang sengaja tidak dilakukan oleh hal ini

Apa yang sengaja tidak dilakukan oleh hal ini

Ini bukan live tail. Query Streams membaca file sebagaimana adanya di disk saat Anda menjalankan kueri, sehingga lonjakan kesalahan muncul sebagai baris, bukan sebagai aliran yang Anda pantau. Jika Anda membutuhkan peringatan di bawah satu detik pada sebuah baris saat dicetak, pipeline log adalah alat yang tepat dan kami akan mengatakannya.

Log aplikasi Anda berisi apa pun yang dicetak aplikasi, dan hal ini perlu disampaikan dengan jelas: jika aplikasi mencatat token, email pelanggan, atau isi lengkap permintaan, string tersebut sudah ada di file dan juga akan ada di kolom. Tidak ada pemetaan field untuk mengecualikannya seperti pada log server web. Perlakukan tabel yang dihasilkan dengan kehati-hatian yang sama seperti file tersebut.

Sebagian dari apa yang dapat direkam oleh log paket dikenali berdasarkan bentuknya, bukan dibuktikan melalui tangkapan. dpkg mendokumentasikan baris file konfigurasi dan membersihkan dan menghilang tindakan; dokumen yang tepat Diminta Oleh, Kesalahan, Membersihkan, Instal ulang dan Penurunan peringkat. Tidak satu pun dari hal tersebut muncul dalam log yang menjadi acuan pembuatan profil ini, jadi semuanya dinyatakan, bukan dibuktikan — dan kedua log paket tersebut tidak mencakup distribusi berbasis RPM atau Windows.

Satu detail pengaturan, bukan batasan: kolom identitas berasal dari folder tempat file berada di bawah folder yang Anda tunjuk. Arahkan konektor ke direktori yang berisi satu subfolder per layanan atau per mesin dan Anda akan mendapatkan nama yang berguna secara gratis; arahkan langsung ke direktori file yang terpisah dan setiap baris akan diberi nama sesuai dengan direktori tersebut. Hanya perlu meluangkan waktu tiga puluh detik untuk mengaturnya.

Selebihnya mengikuti desain yang biasa. Agen terhubung keluar dan membaca file; tidak ada yang diinstal bersama aplikasi Anda, tidak ada yang ditulis kembali, tidak ada proses yang dilampirkan atau diinstrumentasi, dan aksesnya hanya baca.

Dari koneksi hingga hasil yang bermanfaat.

  1. Instal Network Agent di tempat yang dapat mengakses folder log aplikasi' Anda — server aplikasi, host kontainer, atau lokasi berbagi tempat log dikumpulkan.
  2. Arahkan konektor ke sana dan pilih profil: baris JSON untuk logger terstruktur, atau profil teks biasa untuk tata letak timestamp [LEVEL] logger: message.
  3. Rekaman multibaris ditangani berdasarkan batas rekaman, bukan kebetulan — rekaman baru dimulai saat timestamp dimulai, sehingga stack trace yang menjorok tetap tergabung dengan barisnya sendiri.
  4. Hanya byte baru yang dibaca pada setiap sinkronisasi, dan rotasi file juga diikuti, sehingga layanan yang aktif mencatat log tidak menambah biaya setiap hari.
  5. Jalankan kueri. Tingkat error menurut logger, pengecualian yang dikelompokkan berdasarkan jenis, atau satu ID permintaan yang ditelusuri di berbagai layanan.

Manfaatkan hasil Application Logs Anda.

Satu koneksi melayani spreadsheet, aplikasi, dan alat AI Anda. Bagikan izin untuk menjalankan kueri tersimpan; penerima hanya melihat hasil yang diizinkan, sementara SQL dan login sumber tetap tersembunyi.

Untuk tim, vendor, dan mitra Anda

Bagikan hasil Application Logs langsung kepada siapa pun — rekan kerja, vendor, atau mitra — sebagai kisi yang dapat ditandai dan menjalankan ulang kueri terbaru saat dibuka, di ponsel, tablet, atau desktop. Mereka melihat hasilnya, bukan SQL atau file.

Cara kerja Penampil Data

Untuk aplikasi dan sistem

Publikasikan kueri Application Logs sebagai endpoint JSON terautentikasi yang dapat dipanggil oleh aplikasi apa pun, lengkap dengan spesifikasi OpenAPI 3.1 dan koleksi Postman, Insomnia, serta Hoppscotch siap pakai. Tidak ada port database yang dibuka.

Jelajahi REST API

Tempelkan Power Query M yang dihasilkan ke Advanced Editor Power BI, lalu laporan akan membaca hasil Application Logs terbaru melalui HTTPS — tanpa driver ODBC dan tanpa membuka port database.

Jelajahi Power BI

Untuk alat AI

Berikan akses hanya-baca ke Application Logs kepada asisten AI, beserta skema yang diperlukan untuk menulis SQL yang benar — tanpa kredensial di dalam chat.

Jelajahi MCP

Dikirimkan kepada orang-orang

Gabungkan Application Logs dengan data Anda yang lain.

Satukan basis data, API bisnis, file, dan log dalam satu kueri hanya-baca. Setiap konektor mendukung Federated Queries.

Sebutkan koneksi dan tabel. Query Streams menangani kueri ke sumber dan menggabungkan hasilnya.

Jelajahi Federated Queries
Contoh kueri lintas sumber
-- tidak ada yang disalin, tidak ada yang digabungkan, tidak ada yang dijadwalkan
PILIH   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
DARI     applogs.fileset.orders1  f
GABUNG     pg_crmpelanggan umum2 c ON c.id = f.customer_id
GABUNG     penagihan.stripe.faktur3 i ON i.customer = c.stripe_id
KELOMPOKKAN BERDASARKAN c.wilayah
PESAN OLEH ditagih DESC;

Gunakan nama koneksi, skema, tabel, dan kolom Anda sendiri.

Berlaku untuk seluruh rangkaian konektor.

Setiap konektor log juga menyediakan

  • events — satu baris untuk setiap baris yang diurai, dengan stempel waktu, kolom yang dinamai oleh tata bahasa, dan _source_file yang menunjukkan nama file asalnya.
  • events_raw_lines — baris yang tidak cocok dengan tata bahasa, disimpan apa adanya alih-alih dibuang, sehingga format yang tidak Anda antisipasi tetap bisa ditanyakan.
  • files_current dan files_events — inventaris aktif dan jejak audit: apa yang muncul, apa yang dirotasi, apa yang menghilang, dan apa pun yang ditahan, beserta nama file dan alasannya.
  • Rotasi dipahami, bukan diakali — sepuluh pola rotasi bernama ditambah file biasa yang tidak dirotasi, sehingga log kemarin dan arsip terkompresinya menjadi tabel yang sama dengan log hari ini.

Bagus untuk diketahui

  • Hanya-baca, diberlakukan — satu pernyataan setiap kali, hanya SELECT dan perintah sejenis. Log Anda tidak pernah kami tulis, pindahkan, rotasi, atau potong.
  • Tidak ada yang diunggah — baris diurai dan di-cache dalam keadaan terenkripsi, di mesin Anda sendiri, di samping agent. Hanya hasil kueri yang keluar dari jaringan Anda.
  • Hanya byte baru yang dibaca — agent melanjutkan dari posisi terakhir di setiap file, bukan membacanya ulang, sehingga log yang sibuk tidak makin membebani setiap hari.
  • Dialek SQL-nya adalah DuckDB — SQL yang sama seperti yang akan Anda gunakan untuk konektor lain.

Pertanyaan tentang Log Aplikasi

Di mana saya dapat menggunakan hasil kueri Application Logs?

Gunakan hasil Application Logs di Excel, Google Sheets, Data Viewer, aplikasi Anda melalui Database REST API, dan alat AI melalui MCP atau Nova. Hasil tersimpan juga menjadi sumber bagi tujuan Automation yang didukung, laporan, dan peringatan. Ketersediaan tujuan dan batas penggunaan bergantung pada paket Anda.

Apakah saya perlu membuka port masuk untuk Application Logs?

Tidak. Instal Network Agent pada mesin yang dapat menjangkau Application Logs. Agent terhubung keluar ke Query Streams; tidak diperlukan port masuk atau VPN. Sumber Anda tetap harus mengizinkan mesin agent untuk terhubung sesuai aturan aksesnya sendiri.

Apakah file Application Logs saya diunggah?

Network Agent membaca file di lokasi asalnya dan menyimpan cache di mesin agen. File sumber tidak diunggah, dipindahkan, atau ditulis ulang. Hanya hasil kueri yang diminta yang keluar dari jaringan Anda melalui koneksi terenkripsi keluar.

Apa yang saya perlukan untuk menghubungkan Application Logs?

Folder: Direktori log aplikasi, atau folder tempat log dikumpulkan — disk lokal atau berbagi jaringan yang ditulis sebagai \\server\share (jangan pernah menggunakan huruf drive yang dipetakan; di Linux atau Mac, pasang terlebih dahulu). Format: Baris JSON dari logger terstruktur, dan teks biasa bertanda waktu [LEVEL] logger: message; serta dpkg dan apt di Debian dan Ubuntu. Multibaris: Sebuah rekaman berakhir saat timestamp berikutnya dimulai, sehingga pelacakan tumpukan dan baris lanjutan yang menjorok tetap berada di baris yang sama dengan pemicunya. Rotasi: Sepuluh pola rotasi bernama ditambah file biasa yang tidak dirotasi; arsip terkompresi dibaca langsung di tempatnya

Dapatkah saya menggabungkan Application Logs dengan sumber lain yang terhubung?

Ya. Federated Queries mendukung semua jenis konektor, termasuk basis data, API bisnis, file, dan log. Sebutkan koneksi dan tabel dalam satu kueri hanya-baca. Query Streams menerjemahkan bagian kueri untuk sumber sesuai kebutuhan dan menggabungkan hasilnya. Lihat cara kerja Federated Queries.

Pustaka logging mana yang perlu saya gunakan?

Tidak ada yang khusus. Jika Anda menulis baris JSON, nama bidang Elastic Common Schema langsung dipetakan, dan format ringkas Serilog, pino, serta Bunyan juga dapat dibaca karena menggunakan kunci tingkat teratas yang sama dengan ejaan berbeda — timestamp diambil dari nama umum mana pun yang benar-benar digunakan oleh baris Anda.

Jika Anda menulis teks biasa, yang biasa stempel waktu [TINGKAT] pencatat: pesan Shape adalah format yang didukung dengan sendirinya. Tidak ada yang perlu diadopsi dan tidak ada yang perlu dikonfigurasi ulang.

Apa sebenarnya yang terjadi pada stack trace?

Semua itu tetap menyertai error yang memicunya. Rekaman dimulai pada baris yang diawali timestamp, dan setiap baris berikutnya yang tidak diawali timestamp dianggap sebagai kelanjutannya — persis seperti bentuk pelacakan Java, .NET, atau Python. Kelas pengecualian, si pada … bingkai, sebuah Disebabkan oleh: rantai dan ular piton Penelusuran balik Semua header dikenali sebagai bagian dari baris di atasnya.

Perbedaan praktisnya adalah menghitung kesalahan memang menghitung kesalahan. Tanpa ini, satu pengecualian akan memperbesar angka Anda sebanyak jumlah frame yang kebetulan dicetak, dan pesan yang sebenarnya ingin Anda baca berada di baris yang berbeda dari nama kelas.

Mengapa dpkg dan apt ada bersama log aplikasi?

Karena log tersebut menjawab pertanyaan yang langsung Anda ajukan setelah “kapan ini mulai gagal?” — yaitu “apa yang berubah?”. Itu adalah log milik pengelola paket, berada di pohon folder yang sama, dibaca dengan cara yang sama, dan merupakan informasi pendamping yang paling berguna bagi log error.

Riwayat apt lebih mudah dibaca: satu blok per transaksi, berisi perintah persis yang dijalankan dan apa yang dipasang, ditingkatkan, atau dihapus. Log dpkg lebih terperinci, satu baris untuk setiap langkah paket. Dengan keduanya, Anda dapat mencocokkan perubahan dengan tanggal, alih-alih mencoba mengingatnya.

Bisakah saya menghubungkan kesalahan saya dengan pembaruan yang menyebabkannya?

Ya, dengan satu hal yang perlu diketahui: konektor membaca satu format, jadi log aplikasi Anda dan /var/log/apt/history.log Terdapat dua konektor, bukan satu. Kueri terfederasi menggabungkannya dalam satu pernyataan, mekanisme yang sama yang menggabungkan log ke basis data produksi.

Itulah kueri yang layak dibuat dengan keluarga log ini — jumlah error per jam berdampingan dengan transaksi yang berjalan hari itu, keduanya dibaca dari file yang tidak perlu dikirim ke mana pun.

Apakah ini waktu nyata?

Prosesnya dilakukan sesuai permintaan, bukan secara streaming. File dibaca sesuai kondisinya saat kueri dijalankan, jadi baris baru muncul saat aplikasi Anda menulisnya dan file tersebut terdeteksi — bukan berdasarkan jadwal malam yang tetap, tetapi juga bukan tail langsung.

Untuk menanyakan pertanyaan beberapa minggu terakhir dan memasukkan jawabannya ke dalam spreadsheet atau laporan terjadwal, bentuk ini sangat berguna dan membutuhkan lebih sedikit mesin daripada tumpukan kayu gelondongan.

Log saya memiliki kolom yang belum Anda cantumkan. Apakah kolom-kolom tersebut hilang?

Tidak. Pada format JSON dan apt, apa pun yang tidak dipetakan ke kolom bernama akan disimpan di dalam sebuah data Kolom tersebut tidak dibuang, sehingga ID permintaan, penyewa, atau durasi yang Anda catat masih dapat dicari. Objek bersarang diratakan menjadi nama bertitik saat dimasukkan.

Baris yang sama sekali tidak cocok dengan format yang ditetapkan juga tetap disimpan — sebagai baris mentah dengan alasan yang dilampirkan, sehingga perubahan format yang tak terduga terlihat dan dapat Anda periksa, bukan menjadi celah tersembunyi dalam angka Anda.

Bagaimana dengan sejarah paket Red Hat, Fedora, atau Alpine?

Tidak ada profil untuk dnf, enak atau apk saat ini, dan tidak ada padanannya di Windows. Dua format paket yang tersedia di sini adalah log dpkg dan riwayat apt, yang mencakup Debian dan Ubuntu.

Log milik aplikasi Anda sendiri tidak terpengaruh oleh semua itu — format JSON dan teks tidak bergantung pada distribusi yang menjalankannya. Dan jika Anda tidak yakin bagaimana folder Anda akan dikenali, Test connection akan melaporkan apa yang ditemukan sebelum Anda memutuskan untuk melanjutkan.

Tempatkan Log Aplikasi di tempat pekerjaan berlangsung.

Mulai dengan Free: semua jenis konektor, 2 sumber data, dan 1 Network Agent. Tambahkan kuota paket seiring bertambahnya kebutuhan Anda.