Cài đặt Log Agent trên Docker
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
Tải image
docker pull docker.elastic.co/beats/filebeat:8.7.0Tải certificate lấy thông tin xác thực user
Nếu sử dụng script chuẩn bị sẵn trong thư mục tải về, chạy lệnh:
Trong ví dụ thiết lập dưới dây chúng tôi sẽ mount
/var/log/app.logvào agent cài bằng docker để đẩy log về hệ thống
docker compose up -d -f docker-compose.ymlCá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
docker-compose.yml
version: "3"
services:
filebeat-agent-vmonitor:
image: docker.elastic.co/beats/filebeat:8.7.0
container_name: filebeat-agent-vmonitor
restart: always
env_file:
- container.env
volumes:
- $PWD/filebeat.yml:/usr/share/filebeat/filebeat.yml
- $PWD/VNG.trust.pem:/usr/share/filebeat/VNG.trust:rw
- $PWD/user.cer.pem:/usr/share/filebeat/user.cer.pem:rw
- $PWD/user.key.pem:/usr/share/filebeat/user.key.pem:rw
- /var/log/app.log:/var/log/app.log:ro
- /var/log/filebeat/:/var/log/filebeat/
logging:
driver: "json-file"
options:
max-size: "50m"
deploy:
resources:
limits:
cpus: '1'
memory: 2GFile
filebeat.yml. Cấu hình dưới đây sẽ lấy tất cả log được ghi vào file/var/log/app.logvề 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:
- /usr/share/filebeat/VNG.trust
ssl.certificate: /usr/share/filebeat/user.cer.pem
ssl.key: /usr/share/filebeat/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: 0644Note : các biến $
BOOTSTRAP_SERVERS, $TOPICở trên đã nằm sẵn trongcontainer.envfile tại thư mục certificate tải về.
version: "3"
services:
filebeat-agent-vmonitor:
image: docker.elastic.co/beats/filebeat:8.7.0
container_name: filebeat-agent-vmonitor
restart: always
env_file:
- container.env
volumes:
- $PWD/filebeat.yml:/usr/share/filebeat/filebeat.yml
- $PWD/VNG.trust.pem:/usr/share/filebeat/VNG.trust:rw
- $PWD/user.cer.pem:/usr/share/filebeat/user.cer.pem:rw
- $PWD/user.key.pem:/usr/share/filebeat/user.key.pem:rw
- /var/log/app.log:/var/log/app.log:ro
- /var/log/filebeat/:/var/log/filebeat/
logging:
driver: "json-file"
options:
max-size: "50m"
deploy:
resources:
limits:
cpus: '1'
memory: 2Gfilebeat.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:
- /usr/share/filebeat/VNG.trust
ssl.certificate: /usr/share/filebeat/user.cer.pem
ssl.key: /usr/share/filebeat/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: 0644Tải image
docker pull docker.elastic.co/logstash/logstash-oss:8.6.2File
docker-compose.yml
version: "3"
services:
logstash-agent-vmonitor:
image: docker.elastic.co/logstash/logstash-oss:8.6.2
container_name: logstash-agent-vmonitor
restart: always
env_file:
- container.env
volumes:
- $PWD/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- $PWD/VNG.trust:/usr/share/logstash/VNG.trust
- $PWD/user.key:/usr/share/logstash/user.key
- /var/log/app.log://var/log/app.log:ro
logging:
driver: "json-file"
options:
max-size: "50m"
deploy:
resources:
limits:
cpus: '1'
memory: 2GFile
logstash.conf. Cấu hình dưới đây sẽ lấy tất cả log được ghi vào file/var/log/app.logvề 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 => "/usr/share/logstash/VNG.trust"
ssl_truststore_password => "${TRUTSTORE_PASS}"
ssl_keystore_location => "/usr/share/logstash/user.key"
ssl_keystore_password => "${KEYSTORE_PASS}"
ssl_key_password => "${KEYSTORE_PASS}"
ssl_endpoint_identification_algorithm => ""
}
}Note : các biến
$BOOTSTRAP_SERVERS, $TOPIC, $TRUTSTORE_PASS, $USER_PASSở trên đã nằm sẵn trong container.env file tại thư mục certificate tải về.
version: "3"
services:
logstash-agent-vmonitor:
image: docker.elastic.co/logstash/logstash-oss:8.6.2
container_name: logstash-agent-vmonitor
restart: always
env_file:
- container.env
volumes:
- $PWD/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- $PWD/VNG.trust:/usr/share/logstash/VNG.trust
- $PWD/user.key:/usr/share/logstash/user.key
- /var/log/app.log://var/log/app.log:ro
logging:
driver: "json-file"
options:
max-size: "50m"
deploy:
resources:
limits:
cpus: '1'
memory: 2Ginput {
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 => "/usr/share/logstash/VNG.trust"
ssl_truststore_password => "${TRUTSTORE_PASS}"
ssl_keystore_location => "/usr/share/logstash/user.key"
ssl_keystore_password => "${KEYSTORE_PASS}"
ssl_key_password => "${KEYSTORE_PASS}"
ssl_endpoint_identification_algorithm => ""
}
}Quản trị
Stop
docker stop filebeatReload
docker kill --signal=HUP filebeatRestart
docker restart filebeatObserve
docker logs --tail 100 -f filebeatUninstall
docker rm filebeat
docker stop filebeatdocker kill --signal=HUP filebeatdocker restart filebeatdocker logs --tail 100 -f filebeatdocker rm filebeatStop
docker stop logstashReload
docker kill --signal=HUP logstashRestart
docker restart logstashObserve
docker logs --tail 100 -f logstashUninstall
docker rm logstash
docker stop logstashdocker kill --signal=HUP logstashdocker restart logstashdocker logs --tail 100 -f logstashdocker rm logstashTrước khi thực hiện cài đặt tác nhân trên các hệ điều hành mà chúng tôi hỗ trợ bên dưới, bạn cần Khởi tạo Certificate. Thông báo hướng dẫn tác nhân thiết lập nằm trong tệp readme, hướng dẫn tập lệnh cũng nằm trong tệp tin chứng chỉ đượ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.
Last updated
