Untuk melihat dan menganalisis data log Apache, Anda dapat menggunakan Filebeat guna mengumpulkan data tersebut. Selanjutnya, Anda dapat memfilter data yang telah dikumpulkan menggunakan Alibaba Cloud Logstash dan mengirimkannya ke instans Elasticsearch untuk dianalisis. Topik ini menjelaskan cara mengumpulkan data log Apache menggunakan Filebeat.
Prosedur
Langkah 1: Persiapan
Buat instans Alibaba Cloud Elasticsearch dan instans Logstash. Kedua instans harus memiliki versi yang sama dan berada dalam virtual private cloud (VPC) yang sama.
Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch dan Buat instans Alibaba Cloud Logstash.
Aktifkan fitur pembuatan indeks otomatis untuk instans Alibaba Cloud Elasticsearch.
Karena alasan keamanan, Alibaba Cloud Elasticsearch secara default tidak mengizinkan pembuatan indeks otomatis. Namun, Beats bergantung pada fitur ini. Jika Anda mengatur output collector ke instans Elasticsearch, Anda harus mengaktifkan pembuatan indeks otomatis. Untuk informasi selengkapnya, lihat Konfigurasikan parameter YML.
Buat instans Alibaba Cloud ECS. Instans ECS harus berada dalam VPC yang sama dengan instans Alibaba Cloud Elasticsearch dan Logstash.
Untuk informasi selengkapnya, lihat Buat instans menggunakan wizard.
PentingBeats saat ini hanya mendukung sistem operasi Alibaba Cloud Linux, Red Hat, dan CentOS.
Alibaba Cloud Filebeat hanya mendukung pengumpulan log dari instans ECS yang berada dalam wilayah dan VPC yang sama dengan instans Alibaba Cloud Elasticsearch atau Logstash. Filebeat tidak mendukung pengumpulan log dari Internet.
Siapkan layanan httpd pada instans ECS.
Untuk menyederhanakan analisis dan tampilan log menggunakan alat visualisasi, definisikan format log Apache sebagai JSON dalam file httpd.conf. Untuk informasi selengkapnya, lihat Bangun website e-commerce Magento 2 secara manual (Ubuntu). Konfigurasi berikut digunakan sebagai contoh dalam topik ini.
LogFormat "{\"@timestamp\":\"%{%Y-%m-%dT%H:%M:%S%z}t\",\"client_ip\":\"%{X-Forwa rded-For}i\",\"direct_ip\": \"%a\",\"request_time\":%T,\"status\":%>s,\"url\":\"%U%q\",\"method\":\"%m\",\"http_host\":\"%{Host}i\",\"server_ip\":\"%A\",\"http_referer\":\"%{Referer}i\",\"http_user_agent\":\"%{User-agent}i\",\"body_bytes_sent\":\"%B\",\"total_bytes_sent\":\"%O\"}" access_log_json # Berikan komentar pada CustomLog asli dan ubah menjadi CustomLog "logs/access_log" access_log_jsonInstal Cloud Assistant dan layanan Docker pada instans ECS target.
Untuk informasi selengkapnya, lihat Instal Cloud Assistant Agent dan Instal dan gunakan Docker serta Docker Compose.
Langkah 2: Konfigurasikan dan instal collector Filebeat
Login ke Konsol Alibaba Cloud Elasticsearch.
Navigasikan ke halaman Beats Data Shippers.
Pada bilah navigasi atas, pilih wilayah.
Pada panel navigasi kiri, klik Beats Data Shippers.
Opsi:Jika ini pertama kalinya Anda mengakses halaman Beats Data Shippers, baca informasi yang ditampilkan dalam pesan yang muncul lalu klik OK untuk memberi otorisasi kepada sistem membuat peran terkait layanan untuk akun Anda.
CatatanSaat Beats mengumpulkan data dari berbagai sumber data, Beats bergantung pada peran terkait layanan dan aturan yang ditentukan untuk peran tersebut. Jangan hapus peran terkait layanan tersebut. Jika dihapus, penggunaan Beats akan terganggu. Untuk informasi selengkapnya, lihat Peran terkait layanan Elasticsearch.
Di area Create Shipper, klik ECS Logs.
Konfigurasikan dan instal collector.
Untuk informasi selengkapnya, lihat Kumpulkan log layanan ECS dan Konfigurasi YML Collector. Topik ini menggunakan konfigurasi seperti yang ditunjukkan pada gambar berikut.
CatatanAtur Output collector ke ID instans Logstash Alibaba Cloud target. Anda tidak perlu menentukan parameter Output lagi dalam konfigurasi YML.
Untuk direktori file Filebeat, masukkan path ke direktori tempat sumber data berada. Anda juga harus mengaktifkan pengumpulan data log dan mengonfigurasi path log dalam konfigurasi YML.
Klik Next.
Pada wizard konfigurasi Install Shipper, pilih instans ECS tempat Anda ingin menginstal collector.
CatatanPilih instans ECS yang telah Anda buat dan konfigurasikan pada bagian "Langkah 1: Persiapan".
Mulai collector dan periksa status instalasinya.
Klik Start.
Setelah collector dimulai, kotak dialog Start Shipper akan ditampilkan.
Klik Back to Beats Shippers. Anda akan diarahkan ke halaman Beats Data Shippers. Di bagian Manage Shippers, lihat collector Filebeat yang telah Anda mulai.
Tunggu hingga Shipper Status berubah menjadi Enabled. Kemudian, klik View Instances pada kolom Actions.
Pada halaman View Instances, periksa Installed Shippers. Jika statusnya Normal Heartbeat, collector telah berhasil diinstal.
Langkah 3: Konfigurasikan pipeline Logstash untuk memfilter dan menyinkronkan data
Pada panel navigasi kiri Konsol Alibaba Cloud Elasticsearch, klik Logstash Clusters.
Pada kolom Actions instans Logstash target, klik Manage Pipeline.
Pada halaman Pipelines, klik Create Pipeline.
Konfigurasikan pipeline.
Konfigurasikan pipeline berdasarkan contoh berikut. Untuk petunjuk konfigurasi lengkap, lihat Kelola pipeline dengan file konfigurasi.
input { beats { port => 8000 } } filter { json { source => "message" remove_field => "@version" remove_field => "prospector" remove_field => "beat" remove_field => "source" remove_field => "input" remove_field => "offset" remove_field => "fields" remove_field => "host" remove_field => "message" } } output { elasticsearch { hosts => ["http://es-cn-mp91cbxsm00******.elasticsearch.aliyuncs.com:9200"] user => "elastic" password => "<YOUR_PASSWORD>" index => "<YOUR_INDEX>" } }Parameter
Deskripsi
input
Menerima data yang dikumpulkan oleh Beats.
filter
Memfilter data yang dikumpulkan. Plugin JSON mendekode data message, dan remove_field menghapus bidang yang ditentukan.
CatatanKonfigurasi filter dalam topik ini hanya berlaku untuk skenario pengujian ini. Konfigurasi ini mungkin tidak sesuai untuk semua skenario bisnis. Sesuaikan konfigurasi filter sesuai kebutuhan. Untuk informasi tentang plugin yang didukung oleh filter dan cara menggunakannya, lihat filter plugin.
output
Mengirim data ke instans Alibaba Cloud Elasticsearch. Parameter dijelaskan sebagai berikut:
hosts: Ganti dengan endpoint instans Alibaba Cloud Elasticsearch Anda. Anda dapat memperoleh endpoint tersebut dari halaman Informasi Dasar instans. Untuk informasi selengkapnya, lihat Lihat informasi dasar instans.
<YOUR_PASSWORD>: Ganti dengan password instans Alibaba Cloud Elasticsearch Anda.
<YOUR_INDEX>: Ganti dengan nama indeks yang telah Anda definisikan.
Langkah 4: Lihat hasil pengumpulan data
Login ke konsol Kibana kluster Elasticsearch Anda dan buka halaman utama konsol Kibana seperti yang diminta.
Untuk informasi selengkapnya tentang cara login ke konsol Kibana, lihat Login ke konsol Kibana.
CatatanDalam contoh ini, digunakan kluster Elasticsearch V6.7.0. Operasi pada kluster versi lain mungkin berbeda. Ikuti operasi aktual di konsol.
Pada panel navigasi kiri halaman yang muncul, klik Dev Tools.
Pada Console, jalankan perintah berikut untuk melihat data yang telah dikumpulkan.
GET <YOUR_INDEX>/_searchCatatanGanti <YOUR_INDEX> dengan nama indeks yang telah Anda definisikan pada bagian output konfigurasi pipeline instans Logstash Alibaba Cloud.
Pada panel navigasi kiri, klik Discover. Lalu, pilih rentang waktu untuk melihat detail data yang telah dikumpulkan.
CatatanSebelum menjalankan kueri, pastikan Anda telah membuat pola indeks untuk <YOUR_INDEX>. Jika belum, di konsol Kibana, klik Management. Pada bagian Kibana, pilih dan ikuti petunjuk untuk membuat pola indeks.