search

17-Terraform Logs – Debug hạ tầng khi có sự cố

calendar_today Đăng ngày: 29/04/2026

Terraform Logs – Debug hạ tầng khi có sự cố

Khi terraform apply báo lỗi mà output không đủ thông tin để hiểu nguyên nhân, Terraform Logs là thứ bạn cần bật lên. Bài này mình tổng hợp cách enable logging và các log level có sẵn.


Bật logging với TF_LOG

Set biến môi trường TF_LOG để bật detailed log:

export TF_LOG=DEBUG
terraform apply

Terraform hỗ trợ 5 log level, theo thứ tự từ chi tiết nhất đến ít nhất:

Level Mô tả
TRACE Chi tiết nhất — log toàn bộ internal steps của Terraform, từng bước trong plan, apply, destroy
DEBUG Thông tin debug, ít verbose hơn TRACE
INFO Thông tin chung về quá trình thực thi
WARN Cảnh báo, những thứ không gây lỗi nhưng cần chú ý
ERROR Chỉ hiển thị lỗi

Trong thực tế, TRACEDEBUG là hai level bạn sẽ dùng nhiều nhất khi cần debug — đặc biệt khi gặp lỗi liên quan đến provider hoặc API call.


Lưu log ra file với TF_LOG_PATH

Mặc định log in thẳng ra terminal, khó đọc khi output dài. Set thêm TF_LOG_PATH để ghi vào file:

export TF_LOG=TRACE
export TF_LOG_PATH=/tmp/terraform.log
terraform apply

Sau khi chạy xong, mở file log để xem:

cat /tmp/terraform.log
# hoặc
grep "Error" /tmp/terraform.log

Tắt logging

Unset biến môi trường là xong:

unset TF_LOG
unset TF_LOG_PATH

Hoặc set về giá trị rỗng:

export TF_LOG=""

Tip thực tế

Khi debug, mình thường bắt đầu với DEBUG thay vì TRACE. Output của TRACE rất dài và phần lớn là internal Terraform — chỉ dùng TRACE khi DEBUG vẫn chưa đủ thông tin, hoặc khi cần report bug cho HashiCorp/provider maintainer.


Bài viết thuộc series Terraform Associate Certification trên ttnguyen.net.