Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Syslog Troubleshooting

    Bí quyết Troubleshooting Syslog trên Cisco IOS, Windows và Linux


    Syslog là một trong những công cụ quan trọng nhất trong vận hành hệ thống và mạng. Khi mọi thứ hoạt động bình thường, syslog chỉ đơn giản là nơi ghi nhận sự kiện. Nhưng khi sự cố xảy ra, syslog lại trở thành “hộp đen” giúp kỹ sư lần ngược nguyên nhân.

    Thực tế, rất nhiều tình huống troubleshooting kéo dài không phải vì lỗi quá phức tạp, mà vì log không đến nơi, log bị thiếu, timestamp sai, hoặc mức severity cấu hình không đúng.

    Bài này sẽ hướng dẫn cách troubleshooting syslog theo tư duy thực chiến trên ba nền tảng phổ biến: Cisco IOS, Windows Server và Linux.
    Bước 1: Luôn kiểm tra câu hỏi cơ bản nhất — Syslog có thực sự đang chạy không?


    Nghe có vẻ hiển nhiên, nhưng đây là lỗi phổ biến nhất.

    Rất nhiều kỹ sư lao ngay vào phân tích firewall, routing hay application, trong khi thực tế logging chưa được bật.
    Troubleshooting Syslog trên Cisco IOS

    Kiểm tra trạng thái logging


    Lệnh đầu tiên:
    show logging

    Ví dụ output:
    R1# show logging
    Syslog logging: enabled
    Console logging: level informational
    Monitor logging: level informational
    Buffer logging: level debugging
    Trap logging: level warnings
    Logging to 10.1.100.100 (udp port 514)

    Điều cần đọc trong output này:

    Syslog logging: enabled

    Nếu thấy disabled thì syslog chưa chạy.
    Kiểm tra severity level


    Đây là lỗi số 1 khi “không thấy log”.

    Cisco syslog dùng severity từ 0 đến 7:
    • 0 Emergency
    • 1 Alert
    • 2 Critical
    • 3 Error
    • 4 Warning
    • 5 Notification
    • 6 Informational
    • 7 Debugging

    Ví dụ:
    logging trap warnings

    Điều này có nghĩa chỉ gửi log mức 0–4 lên syslog server.

    Nếu bạn đang debug routing:
    debug ip ospf events

    thì log debug severity 7 sẽ KHÔNG được gửi.

    Muốn gửi debug:
    logging trap debugging

    Đây là lỗi rất thường gặp trong doanh nghiệp.

    Kỹ sư bật debug nhưng syslog server không nhận gì rồi tưởng firewall chặn.
    Kiểm tra syslog server IP


    Ví dụ:
    logging host 10.1.100.100

    Kiểm tra reachability:
    ping 10.1.100.100

    Nếu ping fail:
    • routing issue
    • default gateway sai
    • VLAN sai
    • interface down

    Không có kết nối layer 3 thì syslog không thể hoạt động.
    Kiểm tra UDP 514 có bị chặn không


    Syslog truyền thống dùng:
    UDP 514

    Kiểm tra ACL:
    show access-lists

    Hoặc interface ACL:
    show run interface

    Ví dụ lỗi:
    deny udp any host 10.1.100.100 eq 514

    Firewall nội bộ cũng có thể block.
    Kiểm tra source interface


    Router nhiều interface thường gặp lỗi này.

    Ví dụ syslog server chỉ cho phép subnet management:
    10.10.10.0/24

    Nhưng router lại gửi log từ interface khác:
    192.168.1.1

    Fix:
    logging source-interface Loopback0

    Hoặc:
    logging source-interface GigabitEthernet0/0
    Kiểm tra buffer đầy


    Cisco buffer mặc định:
    8192 bytes

    Quá nhỏ trong môi trường debug.

    Output:
    Log Buffer (8192 bytes)

    Nếu log bị mất:
    logging buffered 65536 debugging
    SSH/Telnet không thấy log?


    Rất nhiều người gặp trường hợp này.

    SSH vào router:
    ssh admin@router

    Bật debug:
    debug ip packet

    Không thấy gì.

    Nguyên nhân:
    terminal monitor

    chưa bật.

    Fix:
    terminal monitor
    Timestamp sai


    Log không có thời gian = ác mộng troubleshooting.

    Bật timestamp:
    service timestamps log datetime msec
    service timestamps debug datetime msec

    Dùng NTP:
    ntp server 192.168.1.10

    Kiểm tra:
    show ntp status

    Nếu clock sai, correlation giữa firewall / switch / SIEM sẽ rất khó.
    Troubleshooting Syslog trên Windows Server


    Windows không dùng syslog native theo kiểu Unix.

    Thay vào đó dùng:
    • Event Viewer
    • Windows Event Forwarding
    • Syslog Agent
    • SIEM connector

    Nếu dùng Kiwi Syslog, NXLog, Syslog-ng agent hoặc Splunk forwarder thì troubleshooting như sau.
    Kiểm tra service có chạy không


    PowerShell:
    Get-Service | findstr -i syslog

    Hoặc:
    Get-Service nxlog

    Nếu stopped:
    Start-Service nxlog
    Kiểm tra port listening


    Syslog receiver thường dùng:
    UDP 514
    TCP 514

    Check:
    netstat -ano | findstr 514

    Ví dụ:
    UDP 0.0.0.0:514

    Nếu không có listener thì agent chưa chạy.
    Windows Firewall block


    Kiểm tra:
    Get-NetFirewallRule

    Hoặc nhanh:
    wf.msc

    Cho phép:
    • UDP 514
    • TCP 514

    Ví dụ:
    New-NetFirewallRule -DisplayName "Syslog UDP" `
    -Direction Inbound `
    -Protocol UDP `
    -LocalPort 514 `
    -Action Allow
    Kiểm tra Event Viewer


    Nếu app báo lỗi nhưng syslog không có:
    eventvwr.msc

    Xem:
    • System
    • Application
    • Security

    Nếu Windows event có nhưng syslog server không có → lỗi ở forwarding layer.
    Test connectivity

    Test-NetConnection 10.1.100.100 -Port 514

    Nếu fail:
    • firewall
    • routing
    • server unreachable

    Kiểm tra cấu hình agent


    Ví dụ NXLog:
    C:\Program Files\nxlog\conf\nxlog.conf

    Lỗi thường gặp:

    Sai destination:
    Host 10.1.100.200

    thay vì:
    10.1.100.100

    Sai protocol:

    TCP vs UDP mismatch.
    Troubleshooting Syslog trên Linux


    Linux là môi trường syslog “chuẩn”.

    Thường dùng:
    • rsyslog
    • syslog-ng
    • journald

    Kiểm tra service


    Rsyslog:
    systemctl status rsyslog

    Khởi động:
    sudo systemctl start rsyslog

    Enable boot:
    sudo systemctl enable rsyslog
    Kiểm tra port listening

    ss -lunp | grep 514

    hoặc:
    netstat -ulnp | grep 514

    Nếu không thấy:

    service chưa bind.
    Kiểm tra config


    Rsyslog:
    /etc/rsyslog.conf

    hoặc:
    /etc/rsyslog.d/

    Ví dụ enable UDP:
    module(load="imudp")
    input(type="imudp" port="514")

    TCP:
    module(load="imtcp")
    input(type="imtcp" port="514")

    Reload:
    systemctl restart rsyslog
    Firewall block


    Ubuntu:
    ufw status

    Allow:
    ufw allow 514/udp

    RHEL/CentOS:
    firewall-cmd --list-all

    Allow:
    firewall-cmd --add-port=514/udp --permanent
    firewall-cmd --reload
    SELinux block


    RHEL thường dính lỗi này.

    Check:
    getenforce

    Nếu:
    Enforcing

    thì có thể SELinux đang block syslog binding.

    Check audit:
    ausearch -m avc
    Test gửi log thủ công


    Cực kỳ hữu ích.
    logger "Test syslog message"

    Remote:
    logger -n 10.1.100.100 -P 514 "Remote syslog test"

    Nếu test thành công nhưng app log không tới → lỗi ở application.
    Theo dõi realtime

    tail -f /var/log/syslog

    hoặc:
    journalctl -f
    Tư duy troubleshooting thực chiến


    Khi syslog lỗi, đi theo flow:

    1. Service có chạy không?

    Nếu không, sửa service.

    2. Port có listen không?

    Nếu không, cấu hình receiver.

    3. Có network reachability không?

    Ping / traceroute.

    4. Firewall / ACL có block không?

    UDP 514 là nghi phạm hàng đầu.

    5. Severity đúng chưa?

    Rất nhiều log “mất tích” vì filter level.

    6. Timestamp đúng chưa?

    Correlation trong SIEM phụ thuộc vào thời gian chính xác.

    7. Source IP đúng chưa?

    Đặc biệt trên router/firewall nhiều interface.
    Kết luận cho bài Syslog


    Syslog troubleshooting không khó nếu đi đúng quy trình.

    Phần lớn sự cố rơi vào vài nhóm quen thuộc:
    • logging chưa bật
    • severity sai
    • UDP 514 bị chặn
    • source interface sai
    • service receiver không chạy
    • firewall/SELinux block
    • timestamp lệch

    Trong SOC, NOC, hoặc hạ tầng enterprise, một hệ thống logging không ổn định gần như đồng nghĩa với việc “bay mù”.

    Không có log, troubleshooting chỉ là phỏng đoán.​
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X