全部产品
Search
文档中心

Simple Log Service:Mengumpulkan log dari server di intranet perusahaan

更新时间:Jun 26, 2025

Topik ini menjelaskan cara mengonfigurasi server proxy maju dan mengumpulkan log dari server di intranet perusahaan ke Simple Log Service dalam mode proxy. Dalam topik ini, NGINX digunakan sebagai contoh.

Prasyarat

Informasi latar belakang

Sebagai contoh, Anda menerapkan beberapa server di intranet perusahaan yang tidak memiliki akses ke Internet. Jika ingin mengumpulkan log dari server tersebut ke Simple Log Service untuk kueri dan analisis, Anda dapat memberikan otorisasi kepada salah satu server untuk mengakses Internet dan mengumpulkan log dari server lainnya ke Simple Log Service dalam mode proxy. Server intranet dengan akses ke Internet dapat dikonfigurasi sebagai server proxy maju.

Implementasi

Logtail bertukar data dengan Simple Log Service, termasuk data kontrol, data layanan, dan data pemantauan. Data kontrol mencakup informasi terkait pengiriman konfigurasi Logtail dan autentikasi. Secara default, data layanan dan data pemantauan ditransmisikan melalui HTTP, tetapi HTTPS juga didukung. Oleh karena itu, server proxy harus mendukung baik HTTP maupun HTTPS.

NGINX adalah server proxy HTTP sumber terbuka berperforma tinggi. Secara default, NGINX mendukung HTTP tetapi tidak mendukung HTTPS karena alasan terkait autentikasi. Untuk mengaktifkan dukungan HTTPS pada NGINX, Anda harus menginstal patch HTTPS.

Langkah 1: Konfigurasikan server proxy

Berikut adalah langkah-langkah untuk menggunakan NGINX mengonfigurasi server dengan akses ke Internet di intranet perusahaan sebagai server proxy maju:

  1. Masuk ke server yang ingin dikonfigurasi sebagai server proxy maju.

  2. Unduh paket instalasi NGINX dan patch HTTPS.

    1. Unduh patch HTTPS.

      git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
    2. Unduh paket instalasi NGINX dan ekstrak paket tersebut.

      ${version} menentukan versi NGINX. Ganti ${version} dengan nilai sebenarnya. Untuk informasi lebih lanjut tentang versi terbaru NGINX, lihat nginx: download.

      wget http://nginx.org/download/nginx-${version}.tar.gz
      tar -xzvf nginx-${version}.tar.gz
      cd nginx-${version}/
  3. Tambahkan patch HTTPS ke NGINX.

    ${patchfile} menentukan jalur ke file patch HTTPS. Tentukan file patch berdasarkan versi NGINX. Untuk informasi lebih lanjut, lihat Pilih patch.

    patch -p1 < ../ngx_http_proxy_connect_module/patch/${patchfile}.patch
  4. Instal NGINX.

    ./configure --add-module=../ngx_http_proxy_connect_module
    make && make install
  5. Tambahkan pengaturan berikut ke file nginx.conf.

    Ganti ${Listening port of the proxy server} dan ${DNS server address} dengan nilai sebenarnya.

    server {
         listen                         ${Listening port of the proxy server};
         resolver                       ${DNS server address};
    
         # Tentukan proxy untuk permintaan non-HTTP.
         proxy_connect;
         proxy_connect_allow            443;
         proxy_connect_connect_timeout  10s;
         proxy_connect_data_timeout     10s;
    
         # Tentukan proxy untuk permintaan HTTP.
         location / {
             proxy_pass http://$host;
             proxy_set_header Host $host;
         }
    }
  6. Mulai server NGINX.

Langkah 2: Konfigurasikan variabel lingkungan terkait proxy

Sistem operasi Linux

Tabel berikut menjelaskan solusi yang dapat digunakan untuk mengonfigurasi variabel lingkungan terkait proxy.

Solusi

Keuntungan

Kerugian

Skenario

Solusi 1

Konfigurasi hanya berlaku untuk proses Logtail. Dampaknya berada dalam batas yang dapat diterima.

Metode konfigurasi relatif kompleks.

Cocok untuk pengguna server yang tidak terbiasa dengan jaringan server secara keseluruhan.

Solusi 2

Metode konfigurasi sederhana.

Konfigurasi berlaku untuk seluruh server. Dampaknya signifikan.

Cocok untuk administrator server yang terbiasa dengan status permintaan semua proses di server.

Solusi 1

  1. Masuk ke server di intranet perusahaan.

  2. Buka file /etc/init.d/ilogtaild, tambahkan variabel lingkungan berikut ke fungsi start(), lalu simpan file tersebut.

    Untuk informasi lebih lanjut tentang variabel lingkungan, lihat Lampiran: Variabel Lingkungan Terkait Proxy.

    start()
    {
        cd $BIN_DIR
        umask $UMASK
        # Tambahkan variabel lingkungan terkait proxy sebelum $BIN_DIR/ilogtail.
        # Dalam contoh ini, variabel lingkungan ALL_PROXY ditambahkan. Alamat IP server proxy adalah 192.168.1.0, dan port mendengarkan adalah 9000.
        # Server di intranet perusahaan berkomunikasi dengan server proxy melalui HTTP.
        ALL_PROXY=http://192.168.1.0:9000 $BIN_DIR/ilogtail
        RETVAL=$?
    }
  3. Jalankan perintah berikut untuk memulai ulang Logtail:

    /etc/init.d/ilogtaild restart
  4. Ulangi Langkah 1 hingga 3 untuk mengonfigurasi variabel lingkungan terkait proxy untuk server lainnya di intranet perusahaan.

Solusi 2

Penting

Gunakan solusi ini jika ingin meneruskan semua permintaan server di intranet perusahaan menggunakan server proxy. Solusi ini juga dapat digunakan jika hanya ingin meneruskan permintaan dari proses Logtail menggunakan server proxy. Pastikan Anda memahami alamat tujuan permintaan dari proses lain di server. Untuk skenario lain, gunakan Solusi 1.

  1. Masuk ke server di intranet perusahaan.

  2. Jalankan perintah export untuk menambahkan variabel lingkungan terkait proxy ke file startup ~/.bash_profile atau /etc/profile.

    Untuk informasi lebih lanjut tentang variabel lingkungan, lihat Lampiran: Variabel Lingkungan Terkait Proxy.

  3. Jalankan perintah berikut untuk membuat variabel lingkungan berlaku.

    Dalam contoh ini, file startup ~/.bash_profile digunakan.

    source ~/.bash_profile
  4. Jalankan perintah berikut untuk memulai ulang Logtail:

    /etc/init.d/ilogtaild restart
  5. Ulangi Langkah 1 hingga 4 untuk mengonfigurasi variabel lingkungan terkait proxy untuk server lainnya di intranet perusahaan.

Sistem operasi Windows

  1. Buka jendela Run, masukkan regedit di bidang Open, lalu klik OK.

  2. Di jendela Registry Editor, cari Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LogtailDaemon dan klik LogtailDaemon.

  3. Klik kanan LogtailDaemon dan pilih New > Multi-String Value. Kemudian, tentukan Environment untuk nama Nilai.

  4. Klik dua kali Environment. Di kotak dialog Edit String, masukkan variabel lingkungan terkait proxy di bidang Value data dan klik OK.

    Dalam contoh ini, variabel lingkungan ALL_PROXY ditambahkan. Alamat IP server proxy adalah 192.168.1.0, dan port mendengarkan adalah 9000. Server di intranet perusahaan berkomunikasi dengan server proxy melalui HTTP. Untuk informasi lebih lanjut tentang variabel lingkungan, lihat Lampiran: Variabel Lingkungan Terkait Proxy.image.png

  5. Buka jendela Run, ketik services.msc di kolom Open, lalu klik OK.

  6. Di jendela Services, klik layanan Logtail yang diinginkan.

    • Untuk Logtail V0.x.x.x, klik layanan LogtailWorker.

    • Untuk Logtail V1.0.0.0 atau yang lebih baru, klik layanan LogtailDaemon.

  7. Klik kanan layanan dan klik Restart.

Langkah 3: Uji konektivitas jaringan

  1. Masuk ke server di intranet perusahaan.

  2. Jalankan perintah berikut.

    Dalam perintah berikut, ${region} menentukan wilayah proyek yang digunakan, dan ${project_name} menentukan nama proyek. Ganti variabel dengan nilai sebenarnya.

    curl http://logtail.${region}.log.aliyuncs.com
    curl https://logtail.${region}.log.aliyuncs.com
    curl http://${project_name}.${region}.log.aliyuncs.com
    curl http://ali-${region}-sls-admin.${region}.log.aliyuncs.com     

    Jika informasi serupa dengan kode berikut dikembalikan, jaringan terhubung:

    {"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"62591BC7C08B7BD4AA99FCD4"}}
  3. Ulangi Langkah 1 dan 2 untuk menguji konektivitas jaringan server lainnya di intranet perusahaan.

Lampiran: Variabel lingkungan terkait proxy

Bagian ini menjelaskan variabel lingkungan yang dapat dikonfigurasi untuk server intranet.

Penting

Variabel lingkungan dapat berupa huruf besar atau huruf kecil. Variabel lingkungan huruf besar memiliki prioritas.

  • Untuk mengirim data HTTP dan HTTPS ke server proxy yang sama, tambahkan variabel lingkungan ALL_PROXY.

    ALL_PROXY: ${Alamat server proxy maju}
  • Untuk mengirim data HTTP dan HTTPS ke server proxy yang berbeda, tambahkan variabel lingkungan HTTP_PROXY dan HTTPS_PROXY.

    HTTP_PROXY: ${Alamat server proxy HTTP}
    HTTPS_PROXY: ${Alamat server proxy HTTPS}

    Alamat server proxy harus dalam format [Protokol://[Nama Pengguna:Kata Sandi@]]Alamat[:Port].

    • Protokol: protokol komunikasi yang digunakan antara server saat ini di intranet perusahaan dan server proxy. Nilai valid: http, https, dan socks5. Bidang ini opsional. Jika tidak dikonfigurasi, http digunakan secara default.

    • Nama Pengguna dan Kata Sandi: nama pengguna dan kata sandi yang digunakan untuk masuk ke server proxy. Bidang ini opsional.

    • Alamat: alamat IP server proxy. Bidang ini wajib.

    • Port: port mendengarkan server proxy yang dikonfigurasi di file nginx.conf. Bidang ini opsional. Untuk informasi lebih lanjut, lihat Langkah 5 di bagian "Konfigurasikan server proxy". Jika tidak dikonfigurasi, port 80 digunakan secara default.

    Jika tidak ingin mengirim data tertentu dari server di intranet perusahaan ke server proxy, Anda dapat menambahkan variabel lingkungan NO_PROXY. Variabel lingkungan NO_PROXY menentukan alamat ke mana data dapat dikirim tanpa menggunakan server proxy. Pisahkan beberapa alamat dengan koma (,). Format yang didukung:

    • Alamat IP.

    • Nama domain. Nama domain dapat dimulai dengan titik (.). Nama domain dan subdomainnya dapat cocok.

    • Asterisk (*). Jika menentukan asterisk, server proxy dinonaktifkan.