David O'Brien (Xirus): Metrik! Metrik! Metrik! Bagian 1

David O'Brien baru-baru ini membuka perusahaannya sendiri, Xirus (https://xirus.com.au), dengan fokus pada produk cloud Microsoft Azure Stack. Mereka dimaksudkan untuk pembuatan terkoordinasi dan peluncuran aplikasi hybrid di pusat data, di lokasi perbatasan, kantor jauh dan cloud.

David mengajarkan individu dan perusahaan segala sesuatu yang berkaitan dengan Microsoft Azure dan Azure DevOps (sebelumnya VSTS) dan masih terlibat dalam konsultasi praktis dan infra-coding. Dia telah menjadi pemenang Microsoft MVP Award (Microsoft Most Valuable Professional) selama 5 tahun, dan baru-baru ini menerima MVP Azure Award. Sebagai co-organizer Melbourne Microsoft Cloud dan Datacentre Meetup, O'Brien secara teratur berbicara di konferensi internasional, memadukan minatnya dalam perjalanan dunia dengan hasrat untuk berbagi kisah-kisah TI dengan masyarakat. Blog David terletak di david-obrien.net , dan ia juga menerbitkan pelatihan Pluralsight online-nya.

Presentasi berbicara tentang pentingnya metrik untuk memahami apa yang terjadi di lingkungan Anda dan cara kerja aplikasi Anda. Microsoft Azure memiliki cara yang ampuh dan mudah untuk menampilkan metrik untuk semua jenis beban kerja, dan ceramah memberi tahu bagaimana Anda dapat menggunakannya semua.

Pada jam 3 pagi, Minggu, saat tidur, Anda tiba-tiba bangun dengan pesan teks: "Aplikasi superkritis tidak merespons lagi". Apa yang sedang terjadi? Di mana dan apa penyebab "rem"? Dalam pembicaraan ini, Anda akan belajar tentang layanan yang ditawarkan Microsoft Azure kepada pelanggan untuk mengumpulkan log dan, khususnya, metrik untuk beban kerja cloud Anda. David akan memberi tahu Anda metrik mana yang menarik minat Anda saat bekerja di platform cloud dan bagaimana mencapainya. Anda akan belajar tentang alat sumber terbuka dan membuat dasbor, dan sebagai hasilnya, Anda akan memperoleh pengetahuan yang cukup untuk membuat dasbor Anda sendiri.

Dan jika pada jam 3 pagi Anda kembali membangunkan pesan tentang jatuhnya aplikasi penting, Anda dapat dengan cepat mengetahui penyebabnya.

Selamat siang, hari ini kita akan berbicara tentang metrik. Nama saya David O'Brien, saya adalah pendiri dan pemilik perusahaan konsultan kecil Australia, Xirus. Sekali lagi terima kasih telah datang ke sini untuk menghabiskan waktu Anda bersama saya. Jadi mengapa kita ada di sini? Untuk berbicara tentang metrik, atau lebih tepatnya, saya akan memberitahu Anda tentang mereka, dan sebelum Anda melakukan sesuatu, kita mulai dengan teori.



Saya akan memberi tahu Anda apa itu metrik, apa yang dapat Anda lakukan dengannya, apa yang perlu Anda perhatikan, cara mengumpulkan dan mengaktifkan pengumpulan metrik di Azure dan apa visualisasi metrik itu. Saya akan menunjukkan kepada Anda seperti apa hal-hal ini di Microsoft cloud dan cara bekerja dengan cloud ini.

Sebelum memulai, saya akan meminta Anda untuk mengangkat tangan mereka yang menggunakan Microsoft Azure. Dan siapa yang bekerja dengan AWS? Saya melihat beberapa. Bagaimana dengan Google? ALI Cloud? Satu orang! Baik. Jadi apa itu metrik? Definisi resmi Institut Nasional Standar dan Teknologi AS terlihat seperti ini: "Metrik adalah standar pengukuran yang menggambarkan kondisi dan aturan untuk mengukur properti dan berfungsi untuk memahami hasil pengukuran." Apa artinya?

Misalnya, pertimbangkan metrik untuk mengubah ruang kosong disk mesin virtual. Misalnya, kita diberi angka 90, dan angka ini berarti persentase, yaitu, jumlah ruang disk kosong adalah 90%. Saya perhatikan bahwa tidak terlalu menarik untuk membaca deskripsi definisi metrik, yang menempati 40 halaman dalam format pdf.

Namun, metrik tidak mengatakan bagaimana hasil pengukuran diperoleh, itu hanya menunjukkan hasil ini. Apa yang kita lakukan dengan metrik?

Pertama, kita mengukur nilai sesuatu, lalu menggunakan hasil pengukuran.



Sebagai contoh, kami mempelajari jumlah ruang disk kosong dan sekarang kami dapat menggunakannya, menggunakan memori ini, dll. Setelah kami mendapatkan hasil metrik, kami harus menafsirkannya. Sebagai contoh, metrik memberikan hasil 90. Kita perlu tahu apa artinya angka ini: jumlah ruang kosong atau jumlah ruang disk yang digunakan dalam persen atau gigabytes, latensi jaringan sama dengan 90 ms, dan seterusnya, yaitu, kita perlu menafsirkan arti dari nilai metrik. Agar metrik masuk akal sama sekali, setelah menafsirkan nilai metrik tunggal, kita perlu memastikan pengumpulan beberapa nilai. Ini sangat penting karena banyak orang tidak menyadari perlunya mengumpulkan metrik. Microsoft telah membuatnya sangat mudah untuk mendapatkan metrik, tetapi Anda harus memastikan bahwa mereka dikumpulkan. Metrik ini disimpan hanya untuk 41 hari dan hilang pada hari ke-42.Karena itu, tergantung pada properti peralatan eksternal atau internal Anda, Anda harus berhati-hati bagaimana cara menyimpan metrik selama lebih dari 41 hari - dalam bentuk log, majalah, dll. Dengan demikian, setelah pengumpulan, Anda harus meletakkannya di beberapa tempat yang memungkinkan Anda untuk meningkatkan, jika perlu, semua statistik tentang perubahan hasil metrik. Dengan menempatkannya di sana, Anda dapat mulai bekerja secara efektif dengan mereka.

Hanya setelah Anda menerima nilai metrik, menafsirkannya, dan mengumpulkannya, Anda dapat membuat SLA - perjanjian pada tingkat layanan. SLA ini mungkin tidak terlalu penting bagi pelanggan Anda, itu lebih penting bagi kolega Anda, manajer, mereka yang menyediakan sistem dan khawatir tentang fungsinya. Metrik dapat mengukur jumlah tiket - misalnya, Anda mendapatkan 5 tiket per hari, dan dalam hal ini menunjukkan kecepatan respons terhadap permintaan pengguna dan kecepatan pemecahan masalah. Metrik tidak hanya mengindikasikan bahwa situs Anda memuat dalam 20 ms atau kecepatan respons 20 ms, metrik lebih dari sekadar satu indikator teknis.

Karenanya, tujuan percakapan kami adalah untuk memberi Anda gambaran terperinci tentang esensi metrik. Metrik berfungsi untuk melihatnya dan Anda bisa mendapatkan gambaran lengkap tentang prosesnya.



Segera setelah kami mendapatkan metrik, kami dapat menjamin 99% dari kondisi kerja sistem, karena ini bukan hanya melihat pada file log yang mengatakan bahwa sistem berfungsi. Jaminan ketersediaan 99% berarti bahwa, misalnya, dalam 99% kasus, API merespons dengan kecepatan normal 30 ms. Inilah yang menarik minat pengguna, kolega, dan manajer Anda. Banyak klien kami melacak log server web, sementara mereka tidak melihat ada kesalahan di dalamnya dan berpikir bahwa semuanya beres. Sebagai contoh, mereka melihat indikator kecepatan jaringan 200 mb / s dan berpikir: “ok, semuanya baik-baik saja!”. Tetapi untuk mencapai 200 ini, pengguna membutuhkan kecepatan respons 30 milidetik, dan ini adalah indikator yang tidak diukur dan tidak dikumpulkan dalam file log. Pada saat yang sama, pengguna terkejut bahwa situs memuat sangat lambat, karena, tanpa memiliki metrik yang tepat,Mereka tidak tahu alasan perilaku ini.

Tetapi karena kami memiliki SLA yang menjamin 100% uptime, pelanggan mulai menyatakan kemarahan, karena pada kenyataannya situs ini sangat sulit digunakan. Oleh karena itu, untuk membuat SLA objektif, Anda perlu melihat gambaran lengkap proses yang dibuat oleh metrik yang dikumpulkan. Ini adalah subjek dari debat saya yang berkelanjutan dengan beberapa penyedia yang, ketika membuat SLA, tidak mengerti apa arti istilah "uptime", dan dalam kebanyakan kasus tidak menjelaskan kepada pelanggan mereka bagaimana API mereka bekerja.

Jika Anda membuat layanan, misalnya, API untuk orang ketiga, Anda harus memahami apa arti metrik 39.5 yang diterima - jawaban, jawaban sukses, respons pada kecepatan 20 ms atau pada kecepatan 5 ms. Andalah yang harus menyesuaikan SLA mereka dengan SLA Anda sendiri, dengan metrik Anda sendiri.

Setelah mengetahui semua ini, Anda dapat mulai membuat dasbor cerdas. Katakan padaku, apakah ada yang sudah menggunakan aplikasi visualisasi interaktif Grafana? Baik! Saya penggemar berat open source ini, karena hal ini gratis dan mudah digunakan.



Jika Anda belum pernah menggunakan Grafana, saya akan memberitahu Anda bagaimana cara menggunakannya. Siapa yang lahir di tahun 80-90an, mungkin mengingat anak-anak CareBears yang peduli? Saya tidak tahu seberapa populer beruang ini di Rusia, tetapi dalam hal metrik kita harus menjadi "beruang yang peduli" yang sama. Seperti yang saya katakan, Anda memerlukan gambar terperinci dari keseluruhan sistem, dan seharusnya tidak hanya menyangkut API Anda, situs web atau layanan Anda yang berjalan di mesin virtual.



Anda harus mengatur kumpulan metrik yang paling mencerminkan operasi seluruh sistem. Sebagian besar dari Anda adalah pengembang perangkat lunak, sehingga kehidupan Anda terus berubah, beradaptasi dengan persyaratan baru produk, dan sama seperti Anda khawatir tentang proses pengkodean, Anda harus mengurus metrik. Anda perlu tahu bagaimana metrik menyentuh setiap baris kode yang Anda tulis. Misalnya, minggu depan Anda memulai perusahaan pemasaran baru dan mengharapkan sejumlah besar pengguna untuk mengunjungi situs Anda. Untuk menganalisis peristiwa ini, Anda akan memerlukan metrik, dan Anda mungkin memerlukan seluruh panel untuk melacak aktivitas orang-orang ini. Anda perlu metrik untuk mengetahui seberapa sukses dan bagaimana perusahaan pemasaran Anda benar-benar bekerja. Mereka akan membantu Anda, misalnya,untuk mengembangkan CRM - sistem manajemen hubungan pelanggan yang efektif.

Jadi mari kita mulai dengan layanan cloud Azure kami. Sangat mudah untuk menemukan dan mengatur kumpulan metrik di dalamnya, karena ada Azure Monitor. Monitor ini memusatkan manajemen konfigurasi sistem Anda. Setiap elemen Azure yang ingin Anda terapkan pada sistem Anda memiliki banyak metrik default yang diaktifkan. Ini adalah aplikasi gratis yang bekerja langsung “out of the box” dan tidak memerlukan pengaturan awal, Anda tidak perlu menulis apa pun dan “mengacaukannya” ke sistem Anda. Kami akan memverifikasi ini dengan melihat demo berikut.



Selain itu, dimungkinkan untuk mengirim metrik ini ke aplikasi pihak ketiga, seperti penyimpanan log Splunk dan sistem analisis, aplikasi manajemen log berbasis cloud SumoLogic, alat pemrosesan log ELK, IBM Radar. Benar, ada perbedaan kecil yang bergantung pada sumber daya yang Anda gunakan - mesin virtual, layanan jaringan, database Azure SQL, yaitu, penggunaan metrik berbeda tergantung pada fungsi lingkungan kerja Anda. Saya tidak akan mengatakan bahwa perbedaan ini serius, tetapi, sayangnya, mereka masih ada, dan ini harus diperhitungkan. Penyertaan dan transfer metrik dimungkinkan dalam beberapa cara: melalui Portal, CLI / Power Shell atau menggunakan templat ARM.



Sebelum memulai demonstrasi pertama, saya akan menjawab pertanyaan Anda. Jika tidak ada pertanyaan, mari kita mulai. Layar menunjukkan seperti apa halaman Monitor Azure. Adakah yang bisa mengatakan bahwa monitor ini tidak berfungsi?



Jadi, sekarang semuanya sudah beres, Anda melihat bagaimana layanan monitor terlihat. Saya dapat mengatakan bahwa ini adalah alat yang hebat dan sangat sederhana untuk pekerjaan sehari-hari. Dengannya, Anda dapat memonitor aplikasi, jaringan, dan infrastruktur. Baru-baru ini, antarmuka pemantauan telah ditingkatkan, dan jika sebelumnya layanan berada di tempat yang berbeda, sekarang semua informasi tentang layanan dikonsolidasikan pada halaman beranda monitor.

Tabel metrik adalah tab di sepanjang jalur Home \ Monitor \ Metrics yang dapat Anda kunjungi untuk melihat semua metrik yang tersedia dan pilih yang diperlukan. Tetapi jika Anda perlu mengaktifkan pengumpulan metrik, Anda harus menggunakan jalur direktori pengaturan Home \ Monitor \ Diagnostic dan memeriksa kotak centang Diaktifkan / Dinonaktifkan metrik. Secara default, hampir semua metrik aktif, tetapi jika Anda perlu mengaktifkan sesuatu tambahan, Anda harus mengubah status diagnostik dari Dinonaktifkan ke Diaktifkan.



Untuk melakukan ini, klik pada baris metrik yang dipilih dan pada tab yang terbuka aktifkan mode diagnostik. Jika Anda akan menganalisis metrik yang dipilih, maka setelah mengklik tautan Aktifkan diagnostik, centang kotak centang Kirim ke Log Analytics di jendela yang muncul.



Log Analytics agak mirip Splunk, tetapi lebih murah. Layanan ini memungkinkan Anda untuk mengumpulkan semua metrik, log, dan semua yang Anda butuhkan, dan menempatkannya di ruang kerja Log Analytics. Layanan ini menggunakan bahasa pemrosesan kueri KQL khusus - Kusto Quarry Language, kami akan mempertimbangkan pekerjaannya di demo berikutnya. Untuk saat ini, saya akan perhatikan bahwa dengan bantuannya Anda dapat merumuskan pertanyaan tentang metrik, log, istilah, tren, pola, dll. dan membuat dasbor.

Jadi, kami menandai kotak centang Kirim ke Log Analytics dan kotak centang panel LOG: DataPlaneRequests, MongoRequests, dan QueryRuntimeStatistics, dan di bawah ini di panel METRIC - kotak centang Permintaan. Kemudian kami menetapkan nama dan menyimpan pengaturan. Di baris perintah, ini adalah dua baris kode. Omong-omong, shell Azure Cloud dalam pengertian ini menyerupai Google, yang juga memungkinkan Anda untuk menggunakan baris perintah di browser web Anda. AWS tidak memiliki hal semacam itu, jadi Azure jauh lebih nyaman dalam hal itu.

Misalnya, saya dapat menjalankan demo melalui antarmuka web tanpa menggunakan kode apa pun di laptop saya. Untuk melakukan ini, saya harus mengautentikasi menggunakan akun Azure saya. Kemudian Anda dapat menggunakan, misalnya, terrafone, jika Anda sudah menggunakannya, tunggu koneksi ke layanan dan dapatkan lingkungan kerja Linux, yang Microsoft gunakan secara default.



Selanjutnya, saya menggunakan Bash yang dibangun ke dalam Azure Cloud Shell. Suatu hal yang sangat berguna adalah IDE yang dibangun ke dalam browser, versi ringan dari VS Code. Selanjutnya, saya bisa masuk ke template metrik kesalahan saya, mengubahnya dan menyesuaikannya dengan kebutuhan saya.



Dengan menyiapkan koleksi metrik dalam templat ini, Anda dapat menggunakannya untuk membuat metrik untuk seluruh infrastruktur Anda. Setelah kami menerapkan metrik, mengumpulkan dan menyimpannya, kami perlu memvisualisasikannya.



Azure Monitor hanya berurusan dengan metrik dan tidak memberikan peluang untuk mendapatkan gambaran menyeluruh tentang kondisi sistem Anda. Anda dapat menggunakan sejumlah aplikasi lain yang berjalan di luar Azure. Jadi jika Anda perlu memantau semua proses, memvisualisasikan semua metrik yang dikumpulkan di satu tempat, maka Azure Monitor tidak akan berfungsi untuk ini.

Untuk mengatasi masalah ini, Microsoft menawarkan alat Power BI - perangkat lunak yang komprehensif untuk analisis bisnis, yang mencakup visualisasi berbagai data. Ini adalah produk yang agak mahal, yang biayanya tergantung pada serangkaian fungsi yang Anda butuhkan. Secara default, ia menawarkan kepada Anda 48 jenis data yang diproses dan dikaitkan dengan Gudang Data Azure SQL, Penyimpanan Danau Data Azure, Layanan Pembelajaran Mesin Azure, dan Azure Databricks. Dengan menggunakan skalabilitas, Anda dapat menerima data baru setiap 30 menit. Ini mungkin cukup untuk kebutuhan Anda atau tidak cukup jika Anda memerlukan visualisasi pemantauan waktu nyata. Dalam hal ini, disarankan untuk menggunakan aplikasi seperti yang saya sebutkan oleh Grafana. Selain itu, dokumentasi Microsoft menjelaskan kemampuan untuk mengirim metrik,log dan tabel acara menggunakan SIEM - alat dalam sistem visualisasi Splunk, SumoLogic, ELK dan radar IBM.

23:40 mnt

Untuk dilanjutkan segera ...


Sedikit iklan :)


Terima kasih untuk tetap bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikan kepada teman Anda VPS berbasis cloud untuk pengembang mulai $ 4,99 , analog unik dari server entry-level yang diciptakan oleh kami untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mulai dari $ 19 atau cara membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

Dell R730xd 2 kali lebih murah di pusat data Equinix Tier IV di Amsterdam? Hanya kami yang memiliki 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV dari $ 199 di Belanda!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mulai dari $ 99! Baca tentang Cara Membangun Infrastruktur Bldg. kelas c menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

All Articles