Topik ini menjelaskan langkah-langkah yang diperlukan.
Batasan
-
Protokol Syslog harus mengikuti standar RFC 5424. Jika Anda menggunakan protokol Syslog lain, kami menyarankan Anda merujuk ke Kumpulkan Syslog dari sistem Linux.
-
Ukuran maksimum entri log adalah 64 KB.
-
Untuk memastikan keamanan transmisi data, Anda harus mentransmisikan data melalui TCP menggunakan Transport Layer Security (TLS) 1.2.
Konfigurasi
Sebagian besar perangkat on-premises, seperti VPN dan router, tidak mendukung protokol TLS atau format RFC 5424. Untuk mengumpulkan data dari perangkat tersebut, kami menyarankan Anda menggunakan plug-in Syslog untuk Logtail. Untuk informasi selengkapnya, lihat Kumpulkan Syslog dari sistem Linux.
Untuk mengunggah log menggunakan protokol Syslog, Anda harus mengonfigurasi alamat unggah log dalam format ProjectName.Endpoint:SyslogPort. Contoh: test-project-1.cn-hangzhou-intranet.log.aliyuncs.com:10009. Pilih titik akhir berdasarkan wilayah tempat proyek Anda berada. Untuk informasi selengkapnya, lihat Titik Akhir. Port Syslog adalah 10009. Anda juga harus mengonfigurasi parameter dalam bidang STRUCTURED-DATA, seperti proyek dan LogStore Simple Log Service serta pasangan AccessKey Akun Alibaba Cloud Anda.
|
Parameter |
Deskripsi |
Contoh |
|
STRUCTURED-DATA |
Nilainya tetap logservice. |
logservice |
|
project |
Nama proyek Simple Log Service. Anda harus membuat proyek terlebih dahulu. Untuk informasi selengkapnya, lihat Kelola Proyek. |
test-project-1 |
|
logstore |
Nama LogStore. Anda harus membuat LogStore terlebih dahulu. Untuk informasi selengkapnya, lihat Buat LogStore. |
test-LogStore-1 |
|
access-key-id |
ID AccessKey. Kami menyarankan Anda menggunakan pasangan AccessKey milik RAM user. Untuk informasi selengkapnya, lihat Otorisasi. |
LTAI**************** |
|
access-key-secret |
Rahasia AccessKey. Kami menyarankan Anda menggunakan pasangan AccessKey milik RAM user. Untuk informasi selengkapnya, lihat Otorisasi. |
yourAccessKeySecret |
Contoh: Kumpulkan log dengan menggunakan syslog-ng
syslog-ng adalah implementasi open-source dari protokol Syslog untuk sistem UNIX dan sistem sejenis UNIX. Anda dapat menjalankan perintah sudo yum install syslog-ng atau sudo apt-get install syslog-ng untuk menginstal syslog-ng.
Rsyslog diinstal secara default pada server Linux. Rsyslog dan syslog-ng tidak dapat berjalan secara bersamaan. Jika Anda ingin menggunakan syslog-ng, Anda harus menguninstal Rsyslog terlebih dahulu.
-
Buka file konfigurasi syslog-ng.
File konfigurasi biasanya berada di /etc/syslog-ng/syslog-ng.conf.
-
Tambahkan blok konfigurasi berikut ke bagian akhir file konfigurasi syslog-ng, lalu sesuaikan parameter di dalamnya sesuai kebutuhan bisnis Anda.
### Konfigurasi Logging Syslog-ng untuk LogService ### template LogServiceFormat { template("<${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [logservice project=\"test-project-1\" logstore=\"test-logstore-1\" access-key-id=\"<yourAccessKeyId>\" access-key-secret=\"<yourAccessKeySecret>\"] $MSG\n"); template_escape(no); }; destination d_logservice{ tcp("test-project-1.cn-hangzhou.log.aliyuncs.com" port(10009) tls(peer-verify(required-untrusted)) template(LogServiceFormat)); }; log { source(s_sys); # default menggunakan s_sys destination(d_logservice); }; ### AKHIR Konfigurasi Logging Syslog-ng untuk LogService ### -
Restart syslog-ng.
Jalankan perintah sudo /etc/init.d/syslog-ng restart, sudo service syslog-ng restart, atau sudo systemctl restart syslog-ng untuk merestart syslog-ng.
-
Jalankan perintah logger untuk menghasilkan log uji.
Contoh: Jalankan perintah logger hello world! untuk menghasilkan log.
Contoh log
Setelah Anda mengunggah log, Anda harus mengonfigurasi indeks sebelum dapat melihat log di konsol Simple Log Service. Untuk informasi selengkapnya, lihat Buat indeks.
Untuk informasi selengkapnya tentang field log, lihat RFC 5424.
Untuk mencegah kebocoran pasangan AccessKey, Simple Log Service secara default menghapus field logservice.
03-28 11:01:01 __source__: xxx
__topic__: syslog-forwarder
_facility_: 3
_hostname_: xxx
_priority_: 30
_program_: systemd
_severity_: 6
_unixtimestamp_: 1553742061117098000
content: Started Session 59532 of user root.
03-28 11:00:15 __source__: mymachine.example.com
__topic__: syslog-forwarder
_facility_: 4
_hostname_: mymachine.example.com
_message_id_: ID47
_priority_: 34
_program_: su
_severity_: 2
_unixtimestamp_: 1553742015003000000
content: this is a test message
|
Field |
Deskripsi |
|
__source__ |
Nilai field hostname dalam log mentah. |
|
__topic__ |
Nilainya tetap syslog-forwarder. |
|
__facility__ |
Informasi fasilitas, yang menunjukkan perangkat atau modul yang menghasilkan log. |
|
__program__ |
Nama proses. |
|
__severity__ |
Tingkat keparahan log. |
|
__priority__ |
Prioritas log. |
|
__unixtimestamp__ |
Stempel waktu dari log mentah, dalam nanodetik. |
|
content |
Nilai field msg dalam log mentah. |
FAQ
-
Uji unggah log
Anda dapat menggunakan Netcat untuk menguji unggah log guna memverifikasi konektivitas jaringan dan memastikan bahwa AccessKey memiliki izin unggah.
-
Login ke server tempat Anda ingin menguji unggah log.
-
Jalankan perintah berikut untuk menginstal Netcat:
sudo yum install nmap-ncat -
Jalankan perintah berikut untuk terhubung ke Simple Log Service:
ncat --ssl <yourProject>.<yourEndpoint> 10009Contoh perintah:
ncat --ssl test-project-1.cn-hangzhou.log.aliyuncs.com 10009 -
Netcat tidak secara otomatis mendeteksi pemutusan jaringan. Dalam waktu 30 detik setelah menjalankan perintah ncat, masukkan pesan log dan tekan Enter.
<34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="<yourProject>" logstore="<yourLogstore>" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test messageContoh perintah:
<34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="trace-doc-test" logstore="doc-test-001-logs" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test message -
Pratinjau log di konsol Simple Log Service untuk memeriksa apakah log berhasil diunggah.
Untuk informasi selengkapnya, lihat Pratinjau log.
Entri log dengan timestamp
2019-03-28 11:00:15dan sumbermymachine.example.communcul dalam hasil pratinjau. Field Syslog di kolom content, termasuk_hostname_,_severity_,_facility_,_message_id_,_unixtimestamp_,_program_, dan_priority_, telah diurai. Hal ini menunjukkan bahwa log berhasil diunggah dan diurai.
-
-
Diagnosis error pengumpulan
Jika unggah log manual gagal, Anda dapat melihat pesan error spesifik dengan mendiagnosis error pengumpulan. Untuk informasi selengkapnya, lihat Cara melihat informasi error pengumpulan Logtail.