Apa itu OpenTelemetry?

Dua rekan kerja di ruang server melihat komputer laptop

Penyusun

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Apa itu OpenTelemetry?

OpenTelemetry, atau OTel, adalah kerangka kerja observabilitas sumber terbuka yang mencakup kumpulan kit pengembangan perangkat lunak (SDK), API vendor-agnostik, dan alat lain untuk aplikasi, sistem, dan instrumentasi perangkat.

OTel menyederhanakan bagaimana data telemetri dikumpulkan, terlepas dari bahasa pemrograman, infrastruktur, atau waktu proses, dan memungkinkan pengembang untuk menghasilkan, mengumpulkan, dan mengekspor data telemetri terstandardisasi untuk backend pengamatan apa pun. Kerangka kerja standar ini memperkuat dan memperluas kemampuan pengamatan, dan memberikan fleksibilitas yang lebih besar bagi tim TI dan DevOps.  

OTel diimplementasikan antara aplikasi, sistem dan perangkat, dan solusi backend — penyimpanan dan visualisasi sengaja diserahkan kepada alat lain, memberikan organisasi kebebasan untuk memilih alat yang paling sesuai dengan mereka.

Observabilitas adalah kemampuan untuk mendapatkan insight tentang cara kerja internal suatu sistem dengan menganalisis outputnya. Dalam operasi TI (ITOps) dan komputasi cloud, data telemetri (seperti log, metrik, dan jejak) digunakan untuk menilai kinerja dan kesehatan sistem. Para profesional DevOps mengandalkan instrumentasi-menambahkan kode ke aplikasi dan sistem untuk menghasilkan dan menangkap data telemetri-untuk menciptakan sistem yang dapat diamati.

Instrumentasi ini sering kali merupakan pekerjaan yang rumit ketika bekerja di lingkungan modern, dengan lingkungan hybrid cloud dan multicloud, aplikasi berbasis layanan mikro, kontainer Kubernetes, dan fitur lain dari lingkungan komputasi masa kini. Sistem terdistribusi ini, dan berbagai bahasa pemrograman dan waktu proses yang mereka gabungkan, menyajikan array yang rumit untuk instrumen, mengumpulkan, dan mengekspor untuk penyimpanan backend, visualisasi, dan analisis.

Untuk mendapatkan pemahaman komprehensif tentang layanan jaringan dan kinerja aplikasi, insinyur harus mengkonfigurasi instrumentasi khusus untuk aplikasi dan sistem di seluruh infrastruktur. OpenTelemetry membantu memecahkan masalah ini.

OTel menyediakan metode standar untuk mengumpulkan dan mengirimkan data pengamatan, yang membantu menyederhanakan pemantauan dalam sistem terdistribusi. Ini menggunakan pustaka dan API yang terpadu dan netral vendor untuk mengumpulkan dan mengirim data telemetri ke platform backend. Dengan mengadopsi OpenTelemetry, tim dapat mengumpulkan dan memproses telemetri secara seragam di seluruh sistem yang kompleks, terlepas dari aplikasi mana yang mereka kelola atau alat pengamatan yang mereka gunakan.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Mengapa OpenTelemetri penting untuk observabilitas?

Kode instrumentasi digunakan untuk sangat bervariasi. Dan karena tidak ada satu pun penyedia komersial yang menawarkan alat yang mampu mengumpulkan data dari setiap aplikasi dan layanan di jaringan, maka sulit bagi perusahaan untuk mengumpulkan data dalam berbagai bahasa dan format atau mengubah backend.

Jika, misalnya, tim pengembangan ingin mengganti alat backend, mereka harus sepenuhnya menginstruksikan ulang kode mereka dan mengonfigurasi agen baru untuk mengirim data telemetri ke server baru. Selain itu, pendekatan terfragmentasi ini menciptakan silo data dan kebingungan, sehingga sulit untuk memecahkan masalah dan menyelesaikan masalah kinerja secara efektif.

OpenTelemetry merupakan kemajuan yang signifikan dalam alat observabilitas karena alat ini menstandardisasikan cara data telemetri dikumpulkan, dianalisis, dan dikirim ke platform backend. Alat ini memberikan solusi sumber terbuka—berdasarkan standar berbasis komunitas—untuk mengumpulkan data tentang perilaku dan keamanan sistem, membantu tim merampingkan pemantauan dan observabilitas dalam ekosistem terdistribusi. Dengan demikian, OTel menawarkan pendekatan yang terbuka dan konsisten kepada bisnis untuk mengumpulkan data penting dari aplikasi dan layanan jaringan.

Evolusi OpenTelemetri

OpenTelemetry dibuat dengan menggabungkan kemampuan pelacakan terdistribusi dari OpenTracing dan OpenCensus menjadi satu alat. OpenTracing adalah proyek sumber terbuka yang dirancang oleh Cloud Native Computing Foundation (CNCF) untuk menyediakan para insinyur dengan API netral vendor untuk menambahkan instrumentasi pelacakan terdistribusi ke aplikasi. Ini menetapkan serangkaian konvensi semantik untuk membantu memastikan konsistensi dalam data telemetri

Namun, tidak seperti OpenTelemetry, OpenTracing itu sendiri bukan implementasi pelacakan. Sebaliknya, ia menyediakan antarmuka yang dapat diterapkan sistem pelacakan untuk memaksimalkan kompatibilitas lintas platform. OpenTracing adalah proyek yang tidak berfungsi (yang sekarang mendorong pengguna untuk bermigrasi ke OpenTelemetry), tetapi berbagai perangkat lunak dan solusi pelacakan masih bergantung pada API-nya.

OpenCensus adalah seperangkat pustaka instrumentasi —dikembangkan oleh Google, untuk mengumpulkan metrik aplikasi dan jejak terdistribusi —yang dapat mengekspor data ke backend yang berbeda secara real time. Pustaka ini mengumpulkan data menggunakan tag propagasi dan metadata yang konsisten—sebuah konsep yang sekarang ada di OpenTelemetry sebagai "sumber daya".

Dengan OpenCensus, aplikasi dapat mengimpor dan mengekspor data berdasarkan persyaratan spesifiknya, memastikan fleksibilitas dalam bagaimana metrik dan jejak dikirim ke backend observabilitas. OpenCensus belum secara resmi dihentikan seperti OpenTracing; OpenCensus masih menerima pemeliharaan rutin dan pembaruan keamanan. Namun, pengembangan aktif sebagian besar telah bergeser ke OpenTelemetry.

Kedua proyek tersebut bertujuan untuk mengatasi masalah yang sama. Pada saat itu, tim pengembang tidak memiliki cara standar untuk membuat kode instrumen dan mengirimkan data telemetri ke alat pengamatan backend.

Namun, tidak ada proyek yang dapat menyelesaikan masalah ini sendiri. Jadi, CNCF mensponsori proyek OpenTelemetry, menggabungkan fitur terbaik dari setiap solusi. OpenTelemetry menyatukan standardisasi API OpenTracing dan kemampuan pengumpulan data OpenCensus untuk menyediakan satu platform terpadu untuk mengirim, mengumpulkan, dan mentransfer data telemetri ke platform observabilitas backend.

Apa itu data telemetri?

Bagian penting dari menjalankan jaringan dan aplikasi yang cepat dan ketersediaan tinggi adalah mencapai full stack observability (atau visibilitas), yang memerlukan akses ke data telemetri. Solusi pengamatan mengumpulkan, memantau, dan menganalisis data telemetri untuk menentukan kesehatan sistem dan kemudian memberi tim TI wawasan yang dapat ditindaklanjuti untuk perbaikan dan pengoptimalan.

Untuk mendapatkan pemahaman yang lebih dalam tentang OpenTelemetry, mari selami apa itu data telemetri dan bagaimana organisasi menggunakannya. OpenTelemetry mendukung tipe data tertentu, yaitu output yang dikumpulkan dari log, metrik dan jejak (sering disebut “tiga pilar observabilitas”).

Metrik

Metrik adalah penilaian numerik kinerja sistem dan penggunaan sumber daya. Mereka memberikan gambaran umum tingkat tinggi tentang kesehatan jaringan dengan menangkap indikator kinerja utama (KPI) seperti latensi, kehilangan paket, pemanfaatan bandwidth, dan penggunaan CPU perangkat.

Metrik biasanya diringkas menggunakan dasbor dan visualisasi lainnya. Mereka sering memberi tim indikasi pertama dari masalah kinerja sistem atau aplikasi.

Log

Log adalah catatan terperinci dari setiap peristiwa atau tindakan yang terjadi dalam lingkungan. Log memberikan informasi terperinci tentang apa yang terjadi, kapan itu terjadi dan di mana di jaringan itu terjadi, memberi tim konteks yang berharga untuk pemecahan masalah, debugging, dan analisis forensik.

Log mengungkapkan penyebab utama masalah dengan merinci peristiwa sistem seperti perubahan konfigurasi perangkat, autentikasi yang gagal, dan koneksi yang terputus.

Jejak

Jejak menangkap aliran data di seluruh jaringan, memberikan insight tentang jalur dan perilaku paket saat melintasi beberapa perangkat dan sistem. Mereka penting untuk memahami sistem terdistribusi dan mendiagnosis masalah latensi.

Penelusuran data memungkinkan tim TI untuk melihat perjalanan transaksi secara menyeluruh, dari ujung ke ujung, sehingga membantu menunjukkan dengan tepat penundaan dan kegagalan yang terjadi di lingkungan yang kompleks dan berlapis-lapis.

Komponen OpenTelemetry

OpenTelemetry mengandalkan beberapa komponen dan proses untuk membuat pengumpulan data berhasil, termasuk:

Antarmuka pemrograman aplikasi (API)

API adalah seperangkat aturan atau protokol yang memungkinkan aplikasi perangkat lunak berkomunikasi satu sama lain untuk bertukar data, fitur, dan fungsi.

OpenTelemetry menyediakan API khusus bahasa—untuk Java, Ruby, JavaScript, Python, dan bahasa lainnya—yang dapat digunakan pengembang untuk instrumen aplikasi mereka untuk pengumpulan data telemetri. OpenTelemetry API memisahkan aplikasi dari infrastruktur jaringan, memberi tim fleksibilitas untuk menggunakan titik akhir mana pun yang cocok dengan kode instrumentasi mereka.

Kit pengembangan perangkat lunak bahasa (SDK)

OpenTelemetry SDK memungkinkan teknisi untuk mengonfigurasi dan menyesuaikan perilaku API. SDK membentuk jembatan antara API dan kolektor dan memungkinkan untuk menghubungkan instrumentasi manual untuk perpustakaan umum ke instrumentasi aplikasi manual. 

OTel menawarkan SDK untuk berbagai bahasa pemrograman, sehingga pengembang dapat menggunakan API OTel untuk menghasilkan dan mengekspor data telemetri yang spesifik untuk bahasa dan backend yang mereka pilih. OTel SDK juga mendukung instrumentasi kustom untuk kerangka kerja internal yang belum dicakup oleh komunitas OpenTelemetry.

Kolektor

Kolektor adalah agen yang mengumpulkan data telemetri dari aplikasi yang diinstrumentasi dengan OpenTelemetry. Terdiri dari penerima, pemroses, agregator, dan pengekspor, pengumpul bertindak sebagai perantara yang netral terhadap vendor, menerima data dari aplikasi dan meneruskannya ke platform pengamatan atau tujuan lain untuk dianalisis.

Kolektor OpenTelemetry mendukung paket contrib yang memungkinkannya untuk menyerap data dalam berbagai format—termasuk OpenTelemetry Protocol (OTLP), Prometheus dan Jaeger—dan mengekspornya ke berbagai backend, terkadang secara bersamaan (untuk redundansi). Paket Contrib adalah ekstensi pihak ketiga yang menyediakan instrumentasi, sampel, propagator, dan pendeteksi sumber daya bagi tim pengembang dalam format submodul.

Pengumpul juga dapat memproses dan memfilter data telemetri sebelum mengekspornya untuk memprioritaskan pengiriman data yang paling penting dan mempercepat proses pemecahan masalah dan debugging.

Eksportir

Eksportir adalah bagian dari pengumpul dan bertanggung jawab untuk mengirimkan data telemetri aplikasi ke satu atau beberapa backend observabilitas yang ditentukan. Sementara pengumpul mengelola aliran data secara keseluruhan, eksportir memprioritaskan transmisi data ke luar ke tujuannya.

Eksportir data OpenTelemetry memisahkan instrumentasi dari konfigurasi backend dan mengubah data ke dalam format yang sesuai untuk setiap platform observabilitas (mengubah jejak ke protokol Zipkin, misalnya). Dinamika ini memungkinkan pengumpul untuk mengirim data telemetri yang sama ke beberapa backend, sehingga memudahkan perubahan tujuan tanpa mengubah logika instrumentasi kode.

Instrumentasi otomatis

Instrumentasi otomatis menyediakan perpustakaan dan kerangka kerja yang memungkinkan aplikasi menghasilkan data telemetri secara otomatis dengan perubahan kode minimal atau no-code. Proses ini menyederhanakan instrumentasi untuk pengembang, mengurangi—dan terkadang menghilangkan—tugas pengodean manual.

Namun, autoinstrumentasi mungkin menawarkan kontrol yang lebih kecil terhadap jenis pengumpulan data tertentu dibandingkan dengan instrumentasi manual. Luasnya instrumentasi otomatis juga dapat bervariasi berdasarkan waktu proses bahasa, lingkungan komputasi, dan tingkat dukungan komunitas untuk kerangka kerja observabilitas.

Bagaimana cara kerja OpenTelemetry?

OpenTelemetry bekerja dengan menggabungkan API, SDK, kolektor dan proses instrumentasi otomatis untuk menarik data dan mengirimkannya ke sistem target.

Pertama, tim DevOps menginstrumentasikan kode aplikasi dengan API OTel, menentukan metrik, jejak, dan log mana yang akan dikumpulkan dan bagaimana mengumpulkannya. Pengumpul OTel SDK mengumpulkan data dan menyiapkannya untuk diproses dan diekspor, lalu mengambil sampel, menyaring, dan menghubungkan data dengan dependensi dan sumber data lainnya.

Saat data yang diproses diformat dengan benar, SDK mengelompokkannya ke dalam batch berbasis waktu (di mana data tersebut mengalami lebih banyak pemfilteran, jika perlu) dan mengirimkannya ke sistem backend yang ditentukan.

Manfaat OpenTelemetry

Tujuan utama OpenTelemetry adalah mengumpulkan dan mengekspor data telemetri dan meningkatkan kemampuan pengamatan, menyediakan alat bagi organisasi untuk memfasilitasi netralitas vendor, serta integrasi platform dan alat. Ini membantu tim DevOps dan insinyur keandalan situs (SRE) mengelola dan men-debug aplikasi dan sistem, sehingga mereka dapat membuat keputusan yang lebih tepat dan tetap tangkas saat kebutuhan bisnis berubah.

Manfaat OTel meliputi:

  • Terapkan pengumpulan data yang konsisten. OpenTelemetry memungkinkan tim mengumpulkan data telemetri secara konsisten di berbagai aplikasi, sistem, dan contoh penggunaan.
  • Hindari vendor lock-in. OTel adalah solusi netral-vendor yang memungkinkan pengembang untuk mengganti alat dan penyedia observabilitas backend tanpa membuat perubahan signifikan pada kode instrumentasi.
  • Sederhanakan observabilitas. OTel menyederhanakan kemampuan pengamatan dengan mengumpulkan data telemetri tanpa mengharuskan personel TI memodifikasi kode sumber atau metadata. Hal ini juga memungkinkan pengembang untuk mempertahankan visibilitas keseluruhan lapisan, terlepas dari backend atau vendor pengamatan yang mereka gunakan.
  • Ekosistem TI yang siap menghadapi masa depan. Karena OpenTelemetry didukung oleh komunitas sumber terbuka dan CNCF, ia dibuat untuk berkembang seiring perubahan teknologi komputasi dan kebutuhan observabilitas. Misalnya, OTel baru-baru ini menambahkan profil berkelanjutan ke kelompok sinyal telemetri utamanya.1
  • Lacak penggunaan sumber daya. OpenTelemetry dapat menangkap permintaan data antar server untuk mengkategorikan penggunaan sumber daya berdasarkan kelompok, sehingga membantu tim TI melacak penggunaan antar sistem bersama.
  • Prioritaskan permintaan data. OpenTelemetry dapat membuat jalur pemeringkatan prioritas untuk permintaan data dalam arsitektur sehingga permintaan yang bersaing melintasi jaringan sesuai urutan kekritisan misi.
  • Memperluas akses ke data pemantauan. Dengan OTel, pengembang dapat memantau data telemetri dan menerima peringatan di browser web atau perangkat apa pun, sehingga lebih mudah untuk melacak kinerja perangkat lunak dan kesehatan sistem secara keseluruhan secara real time.
Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Solusi terkait
OpenTelemetry

Optimalkan operasi dan kinerja aplikasi cloud-native Anda dengan OpenTelemetry pada IBM Instana Observability.

    Jelajahi OpenTelemetry
    Solusi Observabilitas IBM

    Maksimalkan ketahanan operasional Anda dan pastikan kesehatan aplikasi cloud-native dengan observabilitas yang didukung AI.

      Jelajahi solusi IBM Observability
      IBM Consulting AIOps 

      Tingkatkan otomatisasi dan operasi TI dengan AI generatif, yang menyelaraskan setiap aspek infrastruktur TI Anda dengan prioritas bisnis.

      Jelajahi IBM Consulting AIOps
      Ambil langkah selanjutnya

      Maksimalkan kinerja aplikasi cloud native dengan observabilitas otomatis yang didorong oleh AI.

      Jelajahi IBM Instana Bermain dengan Instana