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 Agen Operasional. Anda dapat menggunakan proses yang mirip dengan proses dalam panduan memulai ini untuk memantau aplikasi pihak ketiga lainnya.

Dalam panduan memulai ini, Anda akan melakukan hal berikut:

  1. Membuat instance VM Compute Engine dan menginstal Agen Operasional.
  2. Menginstal server web Apache.
  3. Mengonfigurasi Agen Operasional untuk server web Apache.
  4. Melihat log Anda di Logs Explorer.
  5. Membuat pemberitahuan berbasis log.
  6. Menguji pemberitahuan Anda.
  7. Menjalankan pembersihan.

Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, 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 yang terbatas. Google Cloud

  2. Login ke akun Anda. Google Cloud 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Compute Engine, Cloud Monitoring, Cloud Logging, and OS Config APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine, Cloud Monitoring, Cloud Logging, and OS Config APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat instance Compute Engine, menginstal Apache, dan melihat data metrik, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat instance VM

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

    Buka VM instances

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

  2. Buat VM dengan mengklik Create instance. Konfigurasi instance Anda menggunakan opsi di menu navigasi.
  3. Di opsi Machine configuration, lakukan hal berikut:
    1. Di kolom Name, masukkan nama deskriptif.
    2. Di drop-down prasetel Machine type, pilih Shared-core > e2-small.
  4. Pastikan opsi OS and storage menampilkan Debian GNU/Linux. Jika tidak, klik opsi OS and storage , lalu klik Change. Di dialog Boot disk, tetapkan Version ke Debian GNU/Linux.
  5. Di opsi Networking, untuk Firewall, pilih Allow HTTP traffic dan Allow HTTPS traffic.
  6. Pastikan opsi Observability menampilkan Install Ops Agent. Jika tidak, klik opsi Observability , lalu pilih Install Ops Agent for Monitoring and Logging.
  7. Klik Create.

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 Pemecahan masalah SSH.

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

    sudo apt-get update
    
  3. Setelah Anda melihat pesan "Reading package lists... Done", di terminal SSH, jalankan perintah berikut untuk menginstal server web Apache2:

    sudo apt-get install apache2 php7.0
    

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

  4. Saat perintah Anda kembali, 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.

    Jika 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 Anda:
  1. Buka terminal SSH untuk instance VM Anda. Jika Anda tidak memiliki terminal yang terbuka, lakukan hal berikut:

    1. Di Google Cloud konsol, buka halaman VM instances:

      Buka VM instances

      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. You must restart the agent for the configuration to take effect.
    
    set -e
    
    # Check if the file exists
    if [ ! -f /etc/google-cloud-ops-agent/config.yaml ]; then
      # Create the file if it doesn't exist.
      sudo mkdir -p /etc/google-cloud-ops-agent
      sudo touch /etc/google-cloud-ops-agent/config.yaml
    fi
    
    # 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
    

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

  3. Mulai ulang Agen Operasional:
    1. Untuk memulai ulang agen, jalankan perintah berikut di instance Anda:
      sudo systemctl restart google-cloud-ops-agent
      
    2. Untuk mengonfirmasi bahwa agen telah dimulai ulang, jalankan perintah berikut dan pastikan komponen "Metrics Agent" dan "Logging Agent" telah dimulai:
      sudo systemctl status "google-cloud-ops-agent*"
      

Melihat log server web Apache

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

  1. Di Google Cloud konsol, 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 Show query diaktifkan.

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

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

    2. Dalam ekspresi berikut, tempelkan 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 Anda, dan Anda 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 Anda gunakan untuk kebijakan pemberitahuan. Cloud Monitoring mendukung berbagai jenis saluran notifikasi, termasuk email, Slack, PagerDuty, dan Pub/Sub. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi. Untuk mendapatkan notifikasi melalui email, lakukan hal berikut:
  1. Di Google Cloud konsol, 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 Save.

Membuat pemberitahuan berbasis log

Agar diberi tahu 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 di entri log Anda.

  1. Di Google Cloud konsol, 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 kolom filter log.
    2. Salin kueri berikut dan tempelkan ke kolom filter log:

      severity>=DEFAULT /help httpRequest.status=404
      

      Filter log sebelumnya menelusuri entri log dengan tingkat severity minimal 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 Time between notifications ke 5 min.
    2. Tetapkan kolom Incident autoclose duration ke 30 min.
  6. Di Who should be notified?, 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 tidak memiliki terminal yang terbuka, lakukan hal berikut:

    1. Di Google Cloud konsol, buka halaman VM instances:

      Buka VM instances

      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 untuk halaman palsu localhost/help, jalankan perintah berikut:

    curl localhost/help
    

    Setelah Anda melihat pesan 404 Not Found di terminal, notifikasi email akan dikirim. Proses ini memerlukan waktu beberapa menit.

    Notifikasi email yang Anda terima akan terlihat mirip dengan berikut ini:

    Contoh pemberitahuan berbasis log akan menghasilkan notifikasi email.

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

    1. Di Google Cloud konsol, 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 Jump to now.

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

Pembersihan

Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud

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

Jika Anda menggunakan project yang ada, lakukan hal berikut:

  1. Jika Anda membuat VM, hapus VM tersebut:

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

      Buka instance VM

    2. Centang kotak 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. Di Google Cloud konsol, 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 berikutnya