Mengumpulkan log dari Apache dengan Agen Operasional

Pelajari cara mengumpulkan dan melihat log syslog yang dikumpulkan dari server web Apache yang diinstal pada instance virtual machine (VM) Compute Engine menggunakan Agen Operasional. Anda dapat menggunakan proses yang mirip dengan yang ada di panduan memulai ini untuk memantau aplikasi pihak ketiga lainnya.

Dalam panduan memulai ini, Anda akan melakukan hal-hal berikut:

  1. Buat instance VM Compute Engine dan instal Agen Operasional.
  2. Instal server web Apache.
  3. Mengonfigurasi Agen Operasional untuk server web Apache.
  4. Lihat log Anda di Logs Explorer.
  5. Membuat notifikasi berbasis log.
  6. Uji notifikasi Anda.
  7. Jalankan pembersihan.

Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.

  2. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  3. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  4. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  5. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

  6. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  7. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  8. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

Membuat instance VM

  1. Pada panel navigasi Konsol Google Cloud, pilih Compute Engine, lalu pilih VM instances:

    Buka instance VM

  2. Buat VM dengan mengklik Create instance.

  3. Di kolom Name, masukkan nama deskriptif.
  4. Pada kolom Machine type, pilih e2-small.
  5. Di bagian Boot disk, pertahankan setelan default Debian GNU/Linux.
  6. Di bagian Firewall, pilih Allow HTTP traffic dan Allow HTTPS traffic.
  7. Di bagian Observability - Ops Agent, pilih Install Ops Agent for Monitoring and Logging.
  8. Klik Buat.

Menginstal server web Apache

Untuk menginstal server web Apache di instance VM Compute Engine, lakukan hal berikut:

  1. Di halaman VM instances, cari VM baru Anda, buka kolom Connect, lalu klik SSH.

    Mengalami masalah saat menyambungkan? Lihat Memecahkan Masalah SSH.

  2. Untuk memperbarui daftar paket, salin perintah berikut ke papan klip, tempelkan perintah ke terminal SSH, lalu tekan enter:

    sudo apt-get update
    
  3. Setelah Anda melihat pesan "Membaca daftar paket... Selesai", di terminal SSH, jalankan perintah berikut untuk menginstal server web Apache2:

    sudo apt-get install apache2 php7.0
    

    Saat diminta untuk melanjutkan penginstalan, masukkan Y. Jika perintah instal gagal, gunakan sudo apt-get install apache2 php.

  4. Saat command prompt ditampilkan, buka halaman VM instances dan salin alamat IP eksternal VM ke URL berikut:

    http://EXTERNAL_IP
    
  5. Untuk terhubung ke server web Apache, buka tab browser baru, lalu masukkan URL dari langkah sebelumnya.

    Ketika server web berhasil diinstal, tab browser akan menampilkan halaman default Apache2 Debian.

    Menampilkan halaman default Apache2.

Mengumpulkan log dan metrik server web Apache

Pada langkah-langkah berikut, Anda akan mengonfigurasi Agen Operasional untuk mengumpulkan log dan metrik dari server web Apache:
  1. Buka terminal SSH untuk instance VM Anda. Jika Anda belum membuka terminal, lakukan langkah berikut:

    1. Pada panel navigasi Konsol Google Cloud, pilih Compute Engine, lalu pilih VM instances:

      Buka instance VM

    2. Cari VM baru Anda, lalu klik SSH.

  2. Salin perintah berikut, lalu tempelkan ke terminal instance Anda, lalu tekan enter:

    # Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
    
    set -e
    
    # Create a back up of the existing file so existing configurations are not lost.
    sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
    
    # Configure the Ops Agent.
    sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
    metrics:
      receivers:
        apache:
          type: apache
      service:
        pipelines:
          apache:
            receivers:
              - apache
    logging:
      receivers:
        apache_access:
          type: apache_access
        apache_error:
          type: apache_error
      service:
        pipelines:
          apache:
            receivers:
              - apache_access
              - apache_error
    EOF
    
    sudo service google-cloud-ops-agent restart
    sleep 60
    

    Perintah sebelumnya membuat konfigurasi untuk mengumpulkan dan menyerap log serta metrik dari server web Apache. Untuk informasi selengkapnya, lihat Mengonfigurasi Agen Operasional untuk server web Apache.

  3. Tunggu hingga command prompt ditampilkan, yang memerlukan waktu minimal 60 detik.

Lihat log server web Apache

Untuk melihat log di Konsol Google Cloud, gunakan Logs Explorer:

  1. Pada panel navigasi Google Cloud Console, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

    Log terbaru Anda ditampilkan di panel Query results.

  2. Di toolbar, pastikan Tampilkan kueri diaktifkan.

  3. Untuk melihat log server web Apache, buat dan jalankan kueri:

    1. Luaskan daftar project Google Cloud dari pemilih project Google Cloud, lalu salin project ID Google Cloud ke papan klip Anda.

    2. Pada ekspresi berikut, tempel ID yang disalin ke kolom PROJECT_ID, lalu salin ekspresi ke editor kueri:

      resource.type="gce_instance"
      logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")
      

      Saat kueri sebelumnya dijalankan, hanya entri log apache_access dan apache_error yang akan ditampilkan.

    3. Klik Jalankan kueri.

      Hasil kueri ditampilkan di panel Query results.

Anda telah mengonfigurasi Agen Operasional untuk mengumpulkan log dan metrik dari server web Apache, dan telah melihat log tersebut. Langkah berikutnya adalah membuat kebijakan pemberitahuan sehingga Anda akan diberi tahu saat pola tertentu muncul dalam log.

Membuat saluran notifikasi email

Sebelum membuat kebijakan pemberitahuan, konfigurasikan saluran notifikasi yang ingin digunakan oleh kebijakan pemberitahuan. Cloud Monitoring mendukung berbagai jenis saluran notifikasi, termasuk email, Slack, PagerDuty, dan Pub/Sub. Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi. Untuk mendapatkan notifikasi melalui email, lakukan tindakan berikut:
  1. Pada panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Alerting:

    Buka Alerting

  2. Di toolbar, klik Edit Notification Channels.
  3. Di halaman Notification channels, scroll ke Email, lalu klik Add new.
  4. Masukkan alamat email Anda, nama tampilan seperti My email, lalu klik Save.

Membuat notifikasi berbasis log

Agar mendapatkan notifikasi saat pesan tertentu muncul di entri log Anda, buat pemberitahuan berbasis log. Di bagian ini, Anda akan membuat pemberitahuan berbasis log sehingga Anda akan diberi tahu saat pesan 404 Not Found muncul dalam entri log.

  1. Pada panel navigasi Google Cloud Console, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

  2. Di toolbar Query results, klik Create alert. Panel kebijakan pemberitahuan berbasis log akan terbuka.

  3. Di bagian Alert details, untuk kolom Alert Policy Name, masukkan 404 Not Found.

  4. Di bagian Pilih log untuk disertakan dalam notifikasi ini, lakukan tindakan berikut:

    1. Hapus konten apa pun yang ada di kotak teks filter log.
    2. Salin kueri berikut dan tempelkan ke kotak teks filter log:

      severity>=DEFAULT /help httpRequest.status=404
      

      Filter log sebelumnya menelusuri entri log dengan level severity minimal DEFAULT, yang berisi teks /help, dan yang berisi status httpRequest 404.

  5. Di bagian Setel frekuensi notifikasi dan durasi tutup otomatis, lakukan hal berikut:

    1. Tetapkan kolom Time between notifications ke 5 mnt.
    2. Tetapkan kolom Incident autoclose duration ke 30 min.
  6. Di bagian Siapa yang harus diberi tahu?, pilih email Anda dari menu Notification Channels, lalu klik Save.

Menguji kebijakan pemberitahuan

Untuk menguji kebijakan pemberitahuan, lakukan hal berikut:

  1. Buka terminal SSH untuk instance VM Anda. Jika Anda belum membuka terminal, lakukan hal berikut:

    1. Pada panel navigasi Konsol Google Cloud, pilih Compute Engine, lalu pilih VM instances:

      Buka instance VM

    2. Cari VM baru Anda, lalu klik SSH.
  2. Untuk menelusuri halaman palsu localhost/help di server, jalankan perintah berikut:

    curl localhost/help
    

    Setelah Anda melihat pesan 404 Not Found di terminal, notifikasi email akan dikirim. Butuh waktu beberapa menit untuk menyelesaikan proses ini.

    Notifikasi email yang Anda terima terlihat mirip dengan berikut ini:

    Contoh pemberitahuan berbasis log menghasilkan notifikasi email.

  3. Untuk melihat entri log baru, lakukan hal berikut:

    1. Pada panel navigasi Google Cloud Console, pilih Logging, lalu pilih Logs Explorer:

      Buka Logs Explorer

    2. Di toolbar, klik Lompat ke sekarang.

Anda telah mengonfigurasi Agen Operasional untuk mengumpulkan log dan metrik dari server web Apache, tetapi hanya melihat log. Untuk informasi tentang cara melihat metrik server web Apache, lihat Mengumpulkan metrik server web Apache dengan Agen Operasional: Menghasilkan traffic.

Pembersihan

Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Jika Anda membuat project baru dan tidak lagi memerlukan project tersebut, hapus project tersebut.

Jika Anda menggunakan project yang sudah ada, lakukan hal berikut:

  1. Jika Anda telah membuat VM, hapus VM tersebut:

    1. Di konsol Google Cloud, buka halaman Instance VM.

      Buka VM instances

    2. Pilih kotak centang untuk instance yang ingin Anda hapus.
    3. Untuk menghapus instance, klik Tindakan lainnya, klik Hapus, lalu ikuti petunjuknya.
  2. Hapus kebijakan pemberitahuan yang Anda buat:

    1. Pada panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Alerting:

      Buka Alerting

    2. Pilih kebijakan pemberitahuan yang Anda buat, lalu klik Delete.

Langkah selanjutnya