Anda dapat menggunakan syslog-ng untuk mengumpulkan log dan mengunggahnya ke Simple Log Service melalui protokol syslog. Topik ini menjelaskan cara mengunggah log ke Simple Log Service menggunakan protokol syslog.
Batasan
-
Protokol syslog harus mematuhi RFC 5424. Untuk protokol syslog lainnya, kami menyarankan Anda mengumpulkan syslog dari server Linux.
-
Ukuran maksimum satu log adalah 64 KB.
-
Untuk memastikan keamanan transmisi data, data harus ditransmisikan melalui TCP dengan Transport Layer Security (TLS) 1.2.
Konfigurasi
Perangkat on-premises seperti VPN dan router sering kali tidak mendukung protokol TLS atau format RFC 5424. Kami menyarankan menggunakan plug-in syslog untuk Logtail guna mengumpulkan data dari perangkat tersebut. Untuk informasi selengkapnya, lihat Kumpulkan syslog dari server Linux.
Saat mengunggah log menggunakan protokol syslog, Anda harus mengonfigurasi alamat unggah log dalam format ProjectName.endpoint:SyslogPort, misalnya test-project-1.cn-hangzhou-intranet.log.aliyuncs.com:10009. Pilih titik akhir berdasarkan wilayah tempat proyek Simple Log Service Anda berada. Untuk informasi selengkapnya, lihat Endpoints. Port syslog adalah 10009. Anda juga harus mengonfigurasi informasi proyek, logstore, dan AccessKey Simple Log Service di bidang STRUCTURED-DATA.
|
Parameter |
Deskripsi |
Contoh |
|
STRUCTURED-DATA |
Atur ke |
logservice |
|
project |
Nama proyek Simple Log Service. Buat proyek terlebih dahulu. Untuk informasi selengkapnya, lihat Kelola proyek. |
test-project-1 |
|
logstore |
Nama logstore Simple Log Service. Buat logstore terlebih dahulu. Untuk informasi selengkapnya, lihat Buat logstore. |
test-logstore-1 |
|
access-key-id |
ID AccessKey. Kami menyarankan menggunakan ID AccessKey milik RAM user. Untuk informasi selengkapnya, lihat Izin. |
LTAI**************** |
|
access-key-secret |
Rahasia AccessKey. Kami menyarankan menggunakan rahasia AccessKey milik RAM user. Untuk informasi selengkapnya, lihat Izin. |
yourAccessKeySecret |
Contoh 1: Kumpulkan log dengan syslog-ng
Syslog-ng adalah implementasi open source dari protokol syslog untuk sistem Unix dan sistem mirip Unix. Anda dapat menginstal syslog-ng dengan menjalankan perintah sudo yum install syslog-ng atau sudo apt-get install syslog-ng.
Rsyslog diinstal secara default pada server Linux. Rsyslog dan syslog-ng tidak kompatibel dan tidak dapat dijalankan secara bersamaan. Untuk menggunakan syslog-ng, Anda harus terlebih dahulu mencopot pemasangan Rsyslog.
-
Buka file konfigurasi syslog-ng.
File konfigurasi biasanya berada di
/etc/syslog-ng/syslog-ng.conf. -
Tambahkan konfigurasi berikut ke bagian akhir file konfigurasi syslog-ng.
### Syslog-ng Logging Config for 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 use s_sys destination(d_logservice); }; ### END Syslog-ng Logging Config for LogService ### -
Restart syslog-ng.
Jalankan salah satu perintah berikut untuk merestart syslog-ng:
sudo /etc/init.d/syslog-ng restart,sudo service syslog-ng restart, atausudo systemctl restart syslog-ng. -
Gunakan perintah
loggeruntuk membuat log uji.Misalnya, jalankan perintah
logger hello world!untuk membuat log.
Contoh log
Setelah log diunggah, Anda harus membuat dan mengonfigurasi indeks untuk 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 informasi AccessKey, Simple Log Service secara default menghapus field logservice.

|
Nama bidang |
Deskripsi |
|
__source__ |
Field |
|
__topic__ |
Diatur ke |
|
__facility__ |
Informasi facility, seperti perangkat atau modul yang menghasilkan log. |
|
__program__ |
Nama proses. |
|
__severity__ |
Tingkat keparahan log. |
|
__priority__ |
Prioritas log. |
|
__unixtimestamp__ |
Stempel waktu dari log asli, dalam nanodetik. |
|
content |
Field |
FAQ dan troubleshooting
-
Uji pengunggahan log
Anda dapat menggunakan Netcat untuk menguji pengunggahan log. Hal ini membantu memverifikasi konektivitas jaringan dan memeriksa apakah AccessKey memiliki izin unggah yang diperlukan.
-
Login ke server yang akan digunakan untuk pengujian.
-
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:
ncat --ssl test-project-1.cn-hangzhou.log.aliyuncs.com 10009 -
Netcat tidak secara otomatis mendeteksi koneksi yang terputus. Dalam waktu 30 detik setelah menjalankan perintah
ncat, masukkan log yang ingin dikirim lalu 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:
<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 memverifikasi bahwa pengunggahan berhasil.
Untuk informasi selengkapnya, lihat Pratinjau log.

-
-
Diagnosis error pengumpulan
Jika pengunggahan log gagal, Anda dapat mendiagnosis error pengumpulan untuk melihat pesan error detail. Untuk informasi selengkapnya, lihat Lihat error pengumpulan Logtail.