CentOS
Trước khi thực hiện cài đặt agent trên các hệ điều hành mà chúng tôi hỗ trợ bên dưới, bạn cần phải tải xuống certificate theo hướng dẫn tại Khởi tạo Certificate. Thông tin hướng dẫn thiết lập agent nằm trong file readme, các script hướng dẫn cũng nằm trong tệp tin certificate được tải về. Sử dụng thông tin này với các hướng dẫn bên dưới để hoàn thành việc thiết lập Agent for Log.
Cài đặt
Xác định một loại agent mà mình muốn cài và làm theo hưỡng dẫn của agent đó dưới đây:
Nếu sử dụng script chuẩn bị sẵn trong thư mục tải về, chạy lệnh
sudo chmod +x filebeat.sh
sudo ./filebeat.sh <path-to-file-log>Nếu cài thủ công, chạy lệnh
Tải tệp tin rpm: curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.7.1-x86_64.rpm
Install filebeat: sudo rpm -vi filebeat-8.7.1-x86_64.rpm
Nếu sử dụng script chuẩn bị sẵn trong thư mục tải về, chạy lệnh
sudo chmod +x logstash.sh
sudo ./logstash.sh <path-to-file-log>Nếu cài thủ công, chạy lệnh
Cài java (>8): sudo yum install jre-1.8.0-openjdk -y
Cài Logstash: sudo rpm -ivh https://artifacts.elastic.co/downloads/logstash/logstash-8.6.0-x86_64.rpmTiếp theo bạn cần cấu hình agent log. Các file cấu hình dưới đều đã được chúng tôi chuẩn bị sẵn tại script khi tải certificate về, mô tả dưới đây giúp người đọc hình dung được nếu tạo manual sẽ thế nào.
Cấu hình
File
/etc/filebeat/filebeat.yml. Cấu hình dưới đây sẽ lấy tất cả log trong file/var/log/app.logđẩy về vMonitor Platform:
filebeat.inputs:
- type: log
paths:
- /var/log/app.log
output.kafka:
hosts: ["$BOOTSTRAP_SERVERS"]
topic: "$TOPIC"
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000
ssl.certificate_authorities:
- $PATH_FILE_VNG_TRUST_PEM
ssl.certificate: "$PATH_FILE_USER_CER_PEM"
ssl.key: "$PATH_FILE_USER_KEY_PEM"
ssl.verification_mode: "none"
logging.level: info
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
permissions: 0644Trong đó Tại input đường dẫn tới file log
Tại output , các biến cần điền bạn lấy từ bước tải certicate ở trên:
$BOOTSTRAP_SERVERS, $TOPIClấy trong file info.md$PATH_FILE_VNG_TRUST_PEM, $PATH_FILE_USER_CER_PEM, $PATH_FILE_USER_KEY_PEMlà đường dẫn tới file VNG.trust.pem user.cer.pem user.key.pem
Đọc thêm cấu hình nâng cao khác tại
Configure Filebeat | Filebeat Reference [8.8] | Elastic
filebeat.inputs:
- type: log
paths:
- /var/log/app.log
output.kafka:
hosts: ["$BOOTSTRAP_SERVERS"]
topic: "$TOPIC"
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000
ssl.certificate_authorities:
- $PATH_FILE_VNG_TRUST_PEM
ssl.certificate: "$PATH_FILE_USER_CER_PEM"
ssl.key: "$PATH_FILE_USER_KEY_PEM"
ssl.verification_mode: "none"
logging.level: info
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
permissions: 0644File
/etc/logstash/conf.d/logstash.conf.Cấu hình dưới đây sẽ lấy tất cả log trong file/var/log/app.logđẩy về vMonitor Platform:
input {
file {
start_position => "beginning"
path => [ "/var/log/app.log" ]
}
}
output {
kafka {
codec => json
bootstrap_servers => "$BOOTSTRAP_SERVERS"
topic_id => "$TOPIC"
security_protocol => "SSL"
ssl_truststore_location => "$PATH_FILE_VNG_TRUST"
ssl_truststore_password => "$TRUTSTORE_PASS"
ssl_keystore_location => "$PATH_FILE_USER_KEY"
ssl_keystore_password => "$USER_PASS"
ssl_key_password => "$USER_PASS"
ssl_endpoint_identification_algorithm => ""
}
}Trong đó: tại
input, nếu như muốn lấy thêm log tại các file khác, cấu hình thêm như sau
input {
file {
start_position => "beginning"
path => [ "/var/log/app.log" , "/var/log/backend.log", "/var/log/cmd/*.log"]
}
}Tại
output, các biến cần điền bạn lấy từ bước tải certicate ở trên:$BOOTSTRAP_SERVERS $TOPIC $TRUTSTORE_PASS , $USER_PASSlấy trong file info.md$PATH_FILE_VNG_TRUST $PATH_FILE_USER_KEYlà đường dẫn tới file VNG.trust, user.key
Đọc thêm cấu hình nâng cao khác tại
Setting Up and Running Logstash | Logstash Reference [8.8] | Elastic
input {
file {
start_position => "beginning"
path => [ "/var/log/app.log" ]
}
}
output {
kafka {
codec => json
bootstrap_servers => "$BOOTSTRAP_SERVERS"
topic_id => "$TOPIC"
security_protocol => "SSL"
ssl_truststore_location => "$PATH_FILE_VNG_TRUST"
ssl_truststore_password => "$TRUTSTORE_PASS"
ssl_keystore_location => "$PATH_FILE_USER_KEY"
ssl_keystore_password => "$USER_PASS"
ssl_key_password => "$USER_PASS"
ssl_endpoint_identification_algorithm => ""
}
}input {
file {
start_position => "beginning"
path => [ "/var/log/app.log" , "/var/log/backend.log", "/var/log/cmd/*.log"]
}
}Quản trị
Start
systemctl start logstashEnable
systemctl enable logstashStop
systemctl stop logstashReload
systemctl reload logstashRestart
systemctl restart logstashObserve
systemctl status logstash
journalctl -f --unit logstash
tail -f /var/log/logstashUninstall
yum remove logstash
systemctl start logstashsystemctl enable logstashsystemctl stop logstashsystemctl reload logstashsystemctl restart logstashsystemctl status logstash
journalctl -f --unit logstash
tail -f /var/log/logstashyum remove logstashStart
systemctl start filebeatEnable
systemctl enable filebeatStop
systemctl stop filebeatReload
systemctl reload filebeatRestart
systemctl restart filebeatObserve
systemctl status filebeat
journalctl -f --unit filebeat
tail -f /var/log/filebeatUninstall
yum remove filebeat
systemctl start filebeatsystemctl enable filebeatsystemctl stop filebeatsystemctl reload filebeatsystemctl restart filebeatsystemctl status filebeat
journalctl -f --unit filebeat
tail -f /var/log/filebeatyum remove filebeat
Last updated
