Dalam dunia yang Sistem Teragih dan Perkhidmatan Mikro berleluasa, menjadi sangat sukar untuk menyemak operasi sistem atau menjejaki ralat. Dalam persekitaran ini, banyak perkhidmatan perlu menghantar data dalam format biasa dan menyambungkannya untuk menganalisis sistem.
Opentelemetri (selepas ini otel) ialah rangka kerja yang dicipta untuk meningkatkan kebolehmerhatian dalam aliran perisian terkini. Kami menyediakan API, konvensyen, kit alat, dsb.
Tetapi walaupun ia hanya satu perkhidmatan, nampaknya lebih mudah untuk melihat log, dan menyediakannya tidaklah begitu sukar (asalkan anda tidak melakukan apa-apa yang pelik...), jadi ia bukan satu idea yang tidak baik untuk mencubanya.
Untuk memahami otel, anda perlu tahu Kebolehmerhatian.
Walaupun sukar untuk ditakrifkan dengan jelas, saya fikir ia boleh ditakrifkan sebagai keupayaan untuk menjawab soalan ‘Mengapa ini berlaku?’
Untuk berbuat demikian, program mesti 'dilengkapi dengan baik'.
Ini adalah ungkapan yang sering anda temui apabila melaksanakan Opentelementry. Dalam bahasa Korea, ini bermaksud 'ukuran', tetapi anda boleh menganggapnya sebagai mengukur sesuatu dengan baik dan merekodkannya.
Sebagai contoh, terdapat beberapa isyarat (juga dipanggil data telemetri) yang diukur dan log, surih dan metrik tergolong dalam isyarat ini. (Isyarat ini akan muncul semula kemudian)
Otel ialah vendor dan alat agnostik, jadi ia boleh digunakan secara meluas. Tiada kewajipan untuk menggunakan bahagian belakang yang boleh diperhatikan. Anda boleh menggunakan sumber terbuka yang memenuhi piawaian Otel.
Untuk menggunakan Otel, anda hanya perlu mempelajari sedikit(?) konsep dan API.
Anda perlu mempelajari elemen yang membentuk Otel.
Pengesanan yang diedarkan
Log, Span, Jejak
Penyebaran konteks
Isyarat
Pengumpul
Ini adalah untuk menjejaki apa yang berlaku apabila permintaan dibuat dalam sistem yang diedarkan. Ini adalah sesuatu yang Otel memandang serius. Sistem Teragih merujuk kepada sistem di mana satu permintaan diselesaikan melalui perkhidmatan A, perkhidmatan B dan perkhidmatan C.
Log ialah log yang sama yang selalu kami ambil semasa mengekod. Terdapat cap masa jadi ia ditulis pada masa itu. Ia banyak membantu dalam mentafsir gelagat sistem.
Walau bagaimanapun, sukar untuk memahami kod daripada log itu sendiri. Lebih banyak maklumat kontekstual perlu disertakan. Log lebih berguna apabila ia berkaitan dengan Span atau Trace.
Span ialah unit tindakan. Nama operasi tertentu, data berkaitan masa dan log yang disertakan dalam rentang mempunyai ciri yang dipanggil atribut span.
Sebagai contoh, ia mempunyai sifat seperti http.request.method dan url.path.
Proses dari awal hingga selesai permintaan dipanggil jejak. Jejak ini mungkin termasuk rentang daripada berbilang sistem, bukan hanya satu sistem.
Span pertama dipanggil Root Span.
Biasanya digambarkan sebagai gambar rajah air terjun.
Terus menyebarkan maklumat konteks supaya Isyarat dan Jejak yang berkaitan boleh disambungkan.
Penyebaran mensiri dan menyahsiri objek maklumat konteks ini, membolehkannya bergerak antara perkhidmatan dan proses. Dalam kes biasa, W3C TraceContext Propagator digunakan.
Isyarat ialah elemen koleksi Otel. Terdapat sejumlah 4: Log, Metrik, Jejak dan Bagasi.
Ini adalah log yang dinyatakan di atas. Ia mengandungi mesej yang diambil pada masa tertentu.
Ini adalah data untuk mengukur nombor yang perlu diukur dalam perkhidmatan. Sebagai contoh, ini adalah perkara yang perlu direkodkan untuk mengukur nombor seperti berapa kali sesuatu dipanggil dan berapa penuh baris gilir itu
Sama seperti Trace yang dinyatakan di atas.
Ini ialah maklumat yang disebarkan seperti konteks melalui stor nilai utama. Ia terutamanya menyimpan maklumat tambahan seperti ID Pengguna.
Ia dipanggil Opentelemetry Collector. Pengumpul bertanggungjawab untuk menerima data telemetri daripada aplikasi, memprosesnya dan mengeksportnya ke storan telemetri.
Tidak mengapa untuk menghantar data telemetri terus dari aplikasi ke storan tanpa pengumpul, tetapi lebih baik untuk menjalankan pengumpul dan menyerahkan pemprosesan data telemetri kepada pengumpul, dan aplikasi melakukan perkaranya sendiri.
Terdapat banyak kelebihan menggunakan pengumpul, seperti keupayaan untuk mengubah konfigurasi dan melakukan penapisan ekor rentang dalam pengumpul.
Atas ialah kandungan terperinci Konsep asas Opentelemetri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!