Thu thập thông tin

”Thông tin cần thiết” Khi báo lỗi, vui lòng cung cấp:
  • Phiên bản Forwarder: blackhole-fwd --version
  • File log đầy đủ
  • Cấu hình hiện tại (ẩn thông tin nhạy cảm)
  • Hệ điều hành và phiên bản
  • Mô tả chi tiết các bước dẫn đến lỗi

Lỗi khởi động

Forwarder không khởi động được

Triệu chứngNguyên nhân khả dĩCách khắc phục
Service không startThiếu quyền hoặc file không tồn tạiKiểm tra quyền và đường dẫn file
”Access Denied”Không có quyền administrator/rootChạy với quyền admin/root
”File not found”Binary không tồn tại hoặc sai đường dẫnKiểm tra đường dẫn cài đặt
”Port already in use”Port bị chiếm dụngThay đổi port hoặc dừng service khác

Khắc phục chi tiết

Windows:
# Kiểm tra quyền
Get-Acl "C:\Program Files\BlackHoleForwarder" | Format-List

# Kiểm tra file tồn tại
Test-Path "C:\Program Files\BlackHoleForwarder\blackhole-fwd.exe"

# Kiểm tra port
netstat -an | findstr ":1883"
netstat -an | findstr ":514"
netstat -an | findstr ":8080"

# Chạy với quyền admin
Start-Process PowerShell -Verb RunAs
Linux:
# Kiểm tra quyền
ls -la /opt/blackhole-forwarder/blackhole-fwd

# Kiểm tra file tồn tại
test -f /opt/blackhole-forwarder/blackhole-fwd

# Kiểm tra port
sudo netstat -tlnp | grep -E ":(1883|514|8080)"

# Chạy với quyền root
sudo systemctl start blackhole-forwarder

Lỗi cấu hình

Triệu chứngNguyên nhân khả dĩCách khắc phục
”Invalid YAML”Cú pháp YAML saiValidate cấu hình với YAML parser
”Missing required field”Thiếu trường bắt buộcKiểm tra cấu hình mẫu
”Invalid URL”URL không hợp lệKiểm tra format URL
”Authentication failed”API key sai hoặc hết hạnKiểm tra API key

Khắc phục chi tiết

# Kiểm tra cú pháp YAML
.\blackhole-fwd.exe

Lỗi kết nối

Registry Connection Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”Connection refused”Registry server downKiểm tra trạng thái server
”SSL/TLS error”Certificate không hợp lệKiểm tra certificate
”Timeout”Network latency caoTăng timeout settings
”Authentication failed”API key saiKiểm tra API key

Khắc phục chi tiết

# Test kết nối đến Registry
curl -k https://blackhole.glabs.one/health

# Test với verbose
curl -v -k https://blackhole.glabs.one/health

# Kiểm tra DNS
nslookup blackhole.glabs.one

# Test với telnet
telnet blackhole.glabs.one 443

MQTT Connection Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”Connection lost”Network không ổn địnhKiểm tra kết nối mạng
”Authentication failed”Username/password saiKiểm tra credentials
”Client ID conflict”Client ID bị trùngThay đổi client ID
”Topic not allowed”Không có quyền publishKiểm tra ACL

Khắc phục chi tiết

# Test MQTT connection
mosquitto_pub -h localhost -p 1883 -t "test" -m "hello"

# Test với authentication
mosquitto_pub -h localhost -p 1883 -t "test" -m "hello" -u "username" -P "password"

# Kiểm tra MQTT broker status
mosquitto_sub -h localhost -p 1883 -t "#" -v

# Test embedded MQTT broker
mosquitto_pub -h localhost -p 1883 -t "agents/test/data" -m "test message"

Kafka Connection Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”Broker not available”Kafka cluster downKiểm tra trạng thái cluster
”Topic not found”Topic chưa được tạoTạo topic trước
”SASL authentication failed”Credentials saiKiểm tra SASL config
”Serialization error”Message format saiKiểm tra serializer config

Khắc phục chi tiết

# Test Kafka connection
kafka-console-producer.sh --bootstrap-server kafka.company.com:9092 --topic test

# List topics
kafka-topics.sh --bootstrap-server kafka.company.com:9092 --list

# Test với SASL
kafka-console-producer.sh --bootstrap-server kafka.company.com:9092 --topic test --producer-property security.protocol=SASL_SSL --producer-property sasl.mechanism=PLAIN

BlackHole Connection Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”Connection refused”BlackHole server downKiểm tra trạng thái
”Authentication failed”Username/password saiKiểm tra credentials
”SSL certificate error”Certificate không hợp lệCập nhật certificate
”Index not found”Index chưa được tạoTạo index trước

Khắc phục chi tiết

# Test BlackHole connection
curl -k https://blackhole.company.com:9200

# Test với authentication
curl -k -u "username:password" https://blackhole.company.com:9200

# Kiểm tra cluster health
curl -k -u "username:password" https://blackhole.company.com:9200/_cluster/health

Lỗi thu thập dữ liệu

MQTT Source Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”No messages received”Topic không có dữ liệuKiểm tra topic và publisher
”Connection lost”MQTT broker không ổn địnhKiểm tra broker status
”Authentication failed”Credentials saiKiểm tra auth config
”Topic subscription failed”Không có quyền subscribeKiểm tra ACL

Khắc phục chi tiết

# Kiểm tra MQTT source status
grep "MQTT" /var/log/blackhole-forwarder/default.log

# Test topic subscription
mosquitto_sub -h localhost -p 1883 -t "agents/+/data" -v

# Kiểm tra MQTT broker logs
grep "mqtt_broker" /var/log/blackhole-forwarder/default.log

Rsyslog Source Issues

Triệu chứngNguyên nhân khả dĩCách khắc phục
”No syslog received”Thiết bị không gửi syslogKiểm tra cấu hình thiết bị
”Port not listening”Rsyslog server không startKiểm tra rsyslog config
”Permission denied”Không có quyền bind portChạy với quyền admin
”IP filtering issues”IP không match với includesKiểm tra IP ranges

Khắc phục chi tiết

# Kiểm tra rsyslog source status
grep "rsyslog" /var/log/blackhole-forwarder/default.log

# Test rsyslog server
echo "test message" | nc -u localhost 514

# Kiểm tra port listening
sudo netstat -tlnp | grep :514

# Test với TCP
echo "test message" | nc localhost 514

Lỗi hiệu suất

High Memory Usage

Triệu chứngNguyên nhân khả dĩCách khắc phục
Memory usage > 2GBQueue quá lớnGiảm queue size
Memory leakService không cleanupRestart Forwarder
Too many connectionsQuá nhiều MQTT clientsGiảm max_connections
Large log filesLog files quá lớnEnable log rotation

Khắc phục chi tiết

# Kiểm tra memory usage
ps -o pid,ppid,cmd,%mem,%cpu --sort=-%mem | grep blackhole

# Kiểm tra queue size
grep "queue_size" /var/log/blackhole-forwarder/default.log

# Giảm queue size trong config
inventory:
  max_messages: 50000  # Giảm từ 100000
  max_bytes: 134217728  # Giảm từ 256MB

Debug Commands

Verbose Logging

# Chạy với debug logging
blackhole-fwd start --verbose --log-level debug

# Windows
.\blackhole-fwd.exe start --verbose --log-level debug

Connection Testing

# Test Registry connection
curl -k https://blackhole.glabs.one/health

# Test MQTT connection
mosquitto_pub -h localhost -p 1883 -t "test" -m "hello"

# Test Kafka connection
kafka-console-producer.sh --bootstrap-server kafka.company.com:9092 --topic test

# Test rsyslog server
echo "test message" | nc -u localhost 514

# Test proxy server
curl --proxy http://localhost:8080 https://example.com

System Information

# System info
uname -a
cat /etc/os-release

# Forwarder version
blackhole-fwd --version

# Process info
ps aux | grep blackhole-fwd

# Network info
netstat -tlnp | grep -E ":(1883|514|8080)"

Log Analysis

Common Log Patterns

# Lỗi kết nối
grep "connection" /var/log/blackhole-forwarder/default.log

# Lỗi authentication
grep "auth" /var/log/blackhole-forwarder/default.log

# Lỗi MQTT
grep "mqtt" /var/log/blackhole-forwarder/default.log

# Lỗi rsyslog
grep "rsyslog" /var/log/blackhole-forwarder/default.log

# Lỗi proxy
grep "proxy" /var/log/blackhole-forwarder/default.log

# Performance issues
grep "slow" /var/log/blackhole-forwarder/default.log

Log Levels

  • ERROR: Lỗi nghiêm trọng cần xử lý ngay
  • WARN: Cảnh báo, có thể ảnh hưởng hiệu suất
  • INFO: Thông tin hoạt động bình thường
  • DEBUG: Thông tin chi tiết để debug

Escalation

Khi nào cần hỗ trợ

  • Lỗi không có trong danh sách này
  • Đã thử tất cả giải pháp nhưng vẫn lỗi
  • Lỗi ảnh hưởng đến production
  • Cần hỗ trợ cấu hình phức tạp

Thông tin cần cung cấp

  1. Phiên bản Forwarder: blackhole-fwd --version
  2. Hệ điều hành: uname -a (Linux) hoặc systeminfo (Windows)
  3. File log đầy đủ: Từ thời điểm bắt đầu lỗi
  4. Cấu hình: File config (ẩn thông tin nhạy cảm)
  5. Mô tả chi tiết: Các bước dẫn đến lỗi
  6. Screenshot: Nếu có lỗi hiển thị trên UI