Mengumpulkan log dari Apache dengan Agen Operasional

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

Dalam panduan memulai ini, Anda akan melakukan hal berikut:

  1. Buat instance VM Compute Engine dan instal Ops Agent.
  2. Instal server web Apache.
  3. Konfigurasikan Agen Operasional untuk server web Apache.
  4. Lihat log Anda di Logs Explorer.
  5. Buat pemberitahuan berbasis log.
  6. Uji pemberitahuan 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

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

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

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

    Enable the APIs

Membuat instance VM

  1. Di Konsol Google Cloud, buka halaman Instance VM:

    Buka instance VM

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.

  2. Buat VM dengan mengklik Create instance.

  3. Di kolom Name, masukkan nama deskriptif.
  4. Di 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 langkah-langkah berikut:

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

    Mengalami masalah saat menghubungkan? 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 "Reading package lists... Selesai", di terminal SSH, jalankan perintah berikut untuk menginstal server web Apache2:

    sudo apt-get install apache2 php7.0
    

    Saat diminta untuk melanjutkan penginstalan, tekan Y. Jika perintah penginstalan 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.

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

    Tampilkan halaman default Apache2.

Mengumpulkan log dan metrik server web Apache

Dalam langkah-langkah ini, 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 hal berikut:

    1. Di Konsol Google Cloud, buka halaman Instance VM:

      Buka instance VM

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.

    2. Temukan VM baru Anda, lalu klik SSH.

  2. Salin perintah berikut, lalu tempelkan ke terminal untuk 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 mengetahui informasi selengkapnya, lihat Mengonfigurasi Agen Ops untuk server web Apache.

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

Melihat log server web Apache

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

  1. Di konsol Google Cloud, buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

    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. Dalam 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 ditampilkan.

    3. Klik Run query.

      Hasil kueri ditampilkan di panel Query results.

Anda telah mengonfigurasi Agen Operasional untuk mengumpulkan log dan metrik dari server web Apache, dan Anda telah melihat log tersebut. Langkah berikutnya adalah membuat kebijakan pemberitahuan agar Anda 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. Di konsol Google Cloud, buka halaman  Alerting:

    Buka Pemberitahuan

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  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 Simpan.

Membuat pemberitahuan berbasis log

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

  1. Di konsol Google Cloud, buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

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

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

  4. Di Choose logs to include in this alert, lakukan hal 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 setidaknya DEFAULT, yang berisi teks /help, dan yang berisi status httpRequest 404.

  5. Di bagian Set notification frequency and autoclose duration, lakukan hal berikut:

    1. Tetapkan kolom Waktu antarnotifikasi ke 5 menit.
    2. Tetapkan kolom Incident autoclose duration ke 30 min.
  6. Di bagian Siapa yang akan diberi tahu?, pilih email Anda dari menu Saluran Notifikasi, lalu klik Simpan.

Menguji kebijakan pemberitahuan

Untuk menguji kebijakan pemberitahuan, lakukan hal berikut:

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

    1. Di Konsol Google Cloud, buka halaman Instance VM:

      Buka instance VM

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.

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

    curl localhost/help
    

    Setelah Anda melihat pesan 404 Not Found di terminal, notifikasi email akan dikirim. Perlu waktu beberapa menit hingga proses ini selesai.

    Notifikasi email yang Anda terima akan terlihat seperti berikut:

    Contoh pemberitahuan berbasis log akan menghasilkan notifikasi email.

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

    1. Di konsol Google Cloud, buka halaman Logs Explorer:

      Buka Logs Explorer

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

    2. Di toolbar, klik Langsung ke sekarang.

Anda telah mengonfigurasi Agen Operasional untuk mengumpulkan log dan metrik dari server web Apache, tetapi Anda 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 tidak menimbulkan biaya pada akun Google Cloud Anda 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 ada, lakukan hal berikut:

  1. Jika Anda membuat VM, hapus VM tersebut:

    1. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.
  2. Hapus kebijakan pemberitahuan yang Anda buat:

    1. Di konsol Google Cloud, buka halaman  Alerting:

      Buka Pemberitahuan

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

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

Langkah selanjutnya