Kemaskini Kod Git Push untuk Server AutoScaling di Amazon Web Service (AWS)

Sebelum ni saya menulis tentang menggunakan Git untuk menyuruh server mengemaskini aplikasi atau kod. Dengan hanya membuat push ke repo di server Git, server aplikasi juga akan mengemaskini dirinya dengan kod yang terkini.

AWS, Autoscaling dan ELB

aws-autoscaling

Saya banyak menggunakan server di Amazon Web Service (AWS). Antara ciri yang hebat di AWS adalah autoscaling. Dengan autoscaling, kita boleh membina sebuah load balancer dan meletakkan server-server di bawahnya. Maka, trafik yang diterima oleh website akan diagih-agihkan kepada server-server yang terdapat di bawah ELastic Load Balancer (ELB) ini. Biasanya server-server ini adalah serupa, mempunyai kod yang sama, setting yang sama dan lain-lain. Dengan autoscaling, kita boleh tetapkan beberapa peraturan bila dan keadaannya untuk AWS menambah atau mengurangkan server di bawah ELB ini.

Sebagai contoh, saya boleh tetapkan peraturan sebegini:
Continue reading Kemaskini Kod Git Push untuk Server AutoScaling di Amazon Web Service (AWS)

Analisa Trafik AWS S3 Dengan AWStats, Ubuntu

Alternatif percuma terbaik untuk Google Analytics (bagi saya) adalah Piwik. Mulanya ingat nak guna Piwik untuk analisa trafik dan download yang diterima di AWS S3. Tapi kemudian saya dapati Piwik, secanggih-canggih dia ni, tidak dapat menganalisa saiz data yang bergerak ataupun bandwidth.

Piwik memang hebat. Kalau untuk laman web memang elok. Dan ianya berfungsi lebih kurang sama macam Google Analytic, dengan code Javascript. Jadi memang senang nak digunakan dan data trafik pengunjung juga agak mendalam. Piwik juga boleh digunakan untuk analisa carian dalam laman web, digunakan bersama web e-commerce dan analisa jualan, dan lain-lain. Piwik juga ada pilihan untuk analisa log, tapi data yang ditarik dari log untuk dipaparkan agak terhad.

Jadi pilihan seterusnya adalah AWStats. Berbeza dengan Piwik, AWStats hanya berfungsi dengan membaca fail log. Webserver macam Apache, IIS semuanya ada menulis log trafik yang diterima. Dan AWStats membaca, menganalisa dan merumuskan log ini kepada paparan yang lebih mudah difahami. Oleh sebab cara ianya berfungsi yang sebegini, AWStats tidak boleh memberi maklumat pengunjung secara langsung atau “live”. Namun daripada log, kita boleh mengetahui saiz data yang telah dihantar kepada pengunjung. Contohnya, sekiranya sebuah fail PDF dimuat-turun, data saiz yang dihantar direkodkan sebagai log. Bila dikumpulkan data ini, kita tahu berapa banyak bandwidth yang telah kita gunakan. Ini penting untuk khidmat storan fail statik macam AWS S3.

AWS S3 sebenarnya mempunyai pelbagai ciri-ciri canggih, termasuklah menulis log untuk setiap capaian yang diterima. Ianya merekodkan fail yang diakses, tarikh, masa, saiz fail dan lain-lain. Log ini boleh digunakan bersama AWStats untuk mengetahui rumusan trafik yang diterima.

Mengetahui perincian ini berguna dalam memahami kenapa Amazon mengenakan caj yang telah dicajkan dalam bil bulanan. Ataupun sekiranya kita mengenakan caj kepada pelanggan lain, kita boleh memberikan bil ekstra apabila laman web beliau menggunakan lebih daripada kuota yang ditetapkan untuk dia.

Baiklah, apa-apa pun, ini langkah untuk mula menganalisa log AWS S3 denga AWStats. Elok saya maklumkan yang saya menggunakan server Ubuntu. Jadi itu andaian saya untuk langkah-langkah yang saya terangkan ini.

  1. Pasang & Konfigurasi AWStats
  2. Tetapan Konfigurasi Logging dan Lifecycle pada Bucket S3
  3. Muat-turun log S3 ke server dengan s3cmd
  4. Gunakan AWStats untuk menganalisa log S3
  5. Konfigurasi Apache untuk AWStats dan melihat rumusan analisa
  6. Automasi: gabungkan muat-turun log S3 dan analisa AWStats untuk dilaksanakan secara berkala (cron)

Continue reading Analisa Trafik AWS S3 Dengan AWStats, Ubuntu