Grafit adalah sistem grafik real-time yang sangat skalabel dan alat pemantauan tingkat perusahaan. Digunakan untuk mengumpulkan informasi situs web secara real-time dan melakukan statistik, serta dapat mengumpulkan berbagai informasi status pengoperasian layanan situs web.
Siapa yang harus menggunakan Grafit?
Siapa pun yang ingin melacak nilai numerik apa pun dalam jangka panjang. Jika Anda memiliki angka yang mungkin berubah seiring waktu, dan Anda mungkin ingin membuat grafik nilai tersebut seiring waktu, Grafit mungkin sesuai dengan kebutuhan Anda.
Secara khusus, Grafit dirancang untuk menangani data deret waktu numerik. Misalnya, Grafit sangat bagus untuk membuat grafik harga saham karena merupakan angka yang berubah seiring waktu. Baik itu beberapa titik data, atau puluhan metrik kinerja dari ribuan server, maka Graphite cocok untuk Anda. Sebagai bonus, Anda tidak perlu mengetahui nama-nama hal ini sebelumnya (siapa yang ingin mempertahankan konfigurasi sebesar itu?); Anda cukup mengirimkan nama metrik, stempel waktu, dan nilai, dan Grafit akan menangani sisanya.
Seberapa terukurkah Grafit?
Dari perspektif CPU, Grafit berskala horizontal di frontend dan backend, artinya Anda cukup menambahkan lebih banyak mesin untuk mendapatkan lebih banyak throughput. Ini juga toleran terhadap kesalahan, yaitu kehilangan mesin backend akan menyebabkan kehilangan data minimal (terlepas dari mesin apa yang telah di-cache di memori) dan tidak akan merusak sistem jika Anda memiliki sisa kapasitas yang cukup untuk menangani beban.
Dari perspektif I/O, saat dimuat, Graphite akan melakukan banyak operasi I/O kecil pada banyak file berbeda dengan sangat cepat. Hal ini karena setiap metrik berbeda yang dikirim ke Graphite disimpan dalam file databasenya sendiri, mirip dengan berapa banyak alat yang dibangun di atas pekerjaan RRD (draw, Cacti, Centreon, dll.). Faktanya, Graphite pada awalnya menggunakan RRD untuk penyimpanan hingga muncul keterbatasan mendasar yang memerlukan mesin penyimpanan baru.
Kapasitas tinggi (ribuan metrik berbeda diperbarui per menit) hampir memerlukan susunan RAID dan/atau SSD yang baik. Jika disk tidak dapat mengimbangi banyaknya penulisan kecil yang terjadi (hanya beberapa byte per titik data, namun sebagian besar disk standar tidak dapat menangani lebih dari beberapa ribu operasi I/O per detik, bahkan jika itu adalah kecil), backend Graphite Data yang masuk akan di-cache. Ketika hal ini terjadi, mesin basis data Graphite berbisik dengan mengizinkan Carbon menulis beberapa titik data sekaligus, sehingga meningkatkan throughput keseluruhan dengan mengorbankan kelebihan data dalam memori hingga dapat ditulis.
Grafit juga mendukung backend penyimpanan alternatif yang dapat mengubah fitur ini secara signifikan.
Seberapa real-time grafiknya?
Waktu yang sangat nyata. Bahkan di bawah beban berat, ketika jumlah metrik masuk per interval waktu jauh lebih besar daripada kecepatan sistem penyimpanan dapat melakukan operasi I/O, dan sejumlah besar titik data di-cache di pipa penyimpanan (lihat penjelasan pertanyaan sebelumnya ) , Grafit masih dapat menggambar grafik secara real-time. Triknya adalah ketika aplikasi web Graphite menerima permintaan untuk menggambar grafik, aplikasi tersebut mengambil data dari disk serta dari cache pra-penyimpanan (cache dapat didistribusikan jika Anda memiliki beberapa server backend) dan menggabungkan dua sumber data Dikombinasikan untuk membuat grafik waktu nyata.
Siapa yang sudah menggunakan Grafit?
Grafit dikembangkan secara internal oleh Orbitz, yang digunakan untuk memvisualisasikan berbagai data operasional utama, termasuk metrik aplikasi, metrik basis data, penjualan, dan banyak lagi. Saat tulisan ini dibuat, sistem produksi Orbitz dapat memproses sekitar 160.000 metrik berbeda per menit, berjalan pada dua server niagra-2 Sun pada SAN berkecepatan tinggi.
Di dalam apa Grafit ditulis?
Aplikasi web Graphite dibangun pada kerangka web Django dan menggunakan toolkit GUI javascript ExtJS. Render grafis dilakukan menggunakan perpustakaan grafis Kairo. Backend dan database ditulis dengan Python murni.
Siapa yang akan menulis dan memelihara Grafit?
Grafit awalnya dikembangkan oleh Chris Davis dari Orbitz. Orbitz telah lama menjadi bagian dari komunitas open source dan telah merilis sejumlah produk yang dikembangkan secara internal.
Grafit saat ini dikembangkan oleh tim sukarelawan di bawah organisasi Graphite-Project GitHub.