Quản lý Service

Windows Service Management

Khởi động Service

# Khởi động service
Start-Service -Name "blackhole-fwd"

# Hoặc sử dụng sc command
sc start "blackhole-fwd"

# Hoặc sử dụng Forwarder CLI
.\blackhole-fwd.exe service start

Dừng Service

# Dừng service
Stop-Service -Name "blackhole-fwd"

# Hoặc sử dụng sc command
sc stop "blackhole-fwd"

# Hoặc sử dụng Forwarder CLI
.\blackhole-fwd.exe service stop

Kiểm tra trạng thái

# Kiểm tra trạng thái service
Get-Service -Name "blackhole-fwd"

# Hoặc sử dụng Forwarder CLI
.\blackhole-fwd.exe service status

Restart Service

# Restart service
Restart-Service -Name "blackhole-fwd"

# Hoặc dừng rồi khởi động
Stop-Service -Name "blackhole-fwd"
Start-Service -Name "blackhole-fwd"

Linux Service Management

Khởi động Service

# Khởi động service
sudo systemctl start blackhole-fwd

# Hoặc sử dụng service command
sudo service blackhole-fwd start

# Hoặc sử dụng Forwarder CLI
sudo /opt/blackhole-forwarder/blackhole-fwd service start

Dừng Service

# Dừng service
sudo systemctl stop blackhole-fwd

# Hoặc sử dụng service command
sudo service blackhole-fwd stop

# Hoặc sử dụng Forwarder CLI
sudo /opt/blackhole-forwarder/blackhole-fwd service stop

Kiểm tra trạng thái

# Kiểm tra trạng thái service
sudo systemctl status blackhole-fwd

# Hoặc sử dụng Forwarder CLI
sudo /opt/blackhole-forwarder/blackhole-fwd service status

Enable/Disable Service

# Enable service để tự động khởi động khi boot
sudo systemctl enable blackhole-fwd

# Disable service
sudo systemctl disable blackhole-fwd

# Kiểm tra trạng thái enable
sudo systemctl is-enabled blackhole-fwd

Chạy Forwarder ở chế độ Foreground

Khởi chạy trực tiếp

# Linux
sudo /opt/blackhole-forwarder/blackhole-fwd start --config /etc/blackhole-forwarder/config.yml

# Windows
cd "C:\Program Files\BlackHoleForwarder"
.\blackhole-fwd.exe start --config config.yml

Chạy với verbose logging

# Linux
sudo /opt/blackhole-forwarder/blackhole-fwd start --verbose --log-level debug

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

Chạy với custom config

# Linux
sudo /opt/blackhole-forwarder/blackhole-fwd start --config /path/to/custom/config.yml

# Windows
.\blackhole-fwd.exe start --config "D:\Custom\config.yml"

Quản lý cấu hình

Pull cấu hình từ Registry

# Pull cấu hình từ remote server
.\blackhole-fwd.exe configure pull

Push cấu hình lên Registry

# Push cấu hình local lên remote server
.\blackhole-fwd.exe configure push

Xác thực với Registry

# Xác thực với API key
.\blackhole-fwd.exe auth --key "your-api-key-here"

Monitoring và Logging

Vị trí Log Files

Windows

  • Application Logs: C:\Program Files\BlackHoleForwarder\logs\default.log
  • Error Logs: C:\Program Files\BlackHoleForwarder\logs\default-error.log
  • Windows Event Log: Event Viewer → Windows Logs → Application

Linux

  • Application Logs: /var/log/blackhole-forwarder/default.log
  • Error Logs: /var/log/blackhole-forwarder/default-error.log
  • Systemd Journal: journalctl -u blackhole-fwd

Xem Logs

Windows

# Xem log file trực tiếp
Get-Content "C:\Program Files\BlackHoleForwarder\logs\default.log" -Tail 50 -Wait

# Xem Windows Event Log
Get-EventLog -LogName Application -Source "blackhole-fwd" -Newest 20

# Xem log với PowerShell
Get-Content "C:\Program Files\BlackHoleForwarder\logs\default.log" | Select-String "ERROR"

Linux

# Xem log file trực tiếp
sudo tail -f /var/log/blackhole-forwarder/default.log

# Xem systemd journal
sudo journalctl -u blackhole-fwd -f

# Xem log với grep
sudo grep "ERROR" /var/log/blackhole-forwarder/default.log

# Xem log theo thời gian
sudo journalctl -u blackhole-fwd --since "2025-01-01" --until "2025-01-02"

Health Checks

Kiểm tra trạng thái Forwarder

# Kiểm tra process
ps aux | grep blackhole-fwd

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

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

Kiểm tra kết nối

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

# Test kết nối MQTT
mosquitto_pub -h localhost -p 1883 -t "test" -m "hello"

# Test kết nối Kafka
kafka-console-producer.sh --bootstrap-server kafka.company.com:9092 --topic test

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

Performance Monitoring

Kế hoạch kiểm thử SIEM end-to-end

Tham khảo bộ kịch bản latency/performance cho mô hình Agent -> Forwarder -> Database tại:

Metrics Collection

Forwarder tự động thu thập các metrics sau:

System Metrics

  • CPU usage (global và per-core)
  • Memory usage (total, used, available)
  • Disk I/O và usage
  • Network interface statistics
  • Process information
  • File descriptor usage (Linux)
  • Load average (Linux/macOS)

Forwarder Metrics

  • Messages processed per second
  • Error rates
  • Queue sizes
  • Connection status
  • MQTT broker metrics
  • Rsyslog server metrics
  • Proxy server metrics

Monitoring Commands

# Xem metrics real-time
sudo journalctl -u blackhole-fwd -f | grep "metrics"

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

# Kiểm tra error rate
sudo grep "error_rate" /var/log/blackhole-forwarder/default.log

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

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

Maintenance

Log Rotation

Log rotation được quản lý bởi Forwarder, có thể cấu hình trong config:
logging:
  max_size_mb: 10 # Rotate khi file đạt 10MB

Backup Configuration

# Backup config file
sudo cp /etc/blackhole-forwarder/config.yml /etc/blackhole-forwarder/config.yml.backup.$(date +%Y%m%d)

# Backup logs
sudo tar -czf /backup/blackhole-forwarder-logs-$(date +%Y%m%d).tar.gz /var/log/blackhole-forwarder/

Update Forwarder

Windows

# Dừng service
Stop-Service -Name "blackhole-fwd"

# Backup config
Copy-Item "config.yml" "config.yml.backup"

# Copy new binary
Copy-Item "blackhole-fwd-new.exe" "blackhole-fwd.exe"

# Khởi động service
Start-Service -Name "blackhole-fwd"

Linux

# Dừng service
sudo systemctl stop blackhole-fwd

# Backup config
sudo cp /etc/blackhole-forwarder/config.yml /etc/blackhole-forwarder/config.yml.backup

# Copy new binary
sudo cp blackhole-fwd-new /opt/blackhole-forwarder/blackhole-fwd

# Khởi động service
sudo systemctl start blackhole-fwd

Troubleshooting Commands

Debug Mode

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

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

Security Best Practices

File Permissions

Linux

# Set proper permissions
sudo chown -R blackhole-fwd:blackhole-fwd /opt/blackhole-forwarder
sudo chown -R blackhole-fwd:blackhole-fwd /etc/blackhole-forwarder
sudo chown -R blackhole-fwd:blackhole-fwd /var/log/blackhole-forwarder

# Set restrictive permissions
sudo chmod 750 /opt/blackhole-forwarder
sudo chmod 640 /etc/blackhole-forwarder/config.yml
sudo chmod 750 /var/log/blackhole-forwarder

Windows

# Set permissions for service account
icacls "C:\Program Files\BlackHoleForwarder" /grant "NT SERVICE\BlackHoleForwarder":(OI)(CI)F
icacls "C:\Program Files\BlackHoleForwarder\config.yml" /grant "NT SERVICE\BlackHoleForwarder":R

Network Security

  • Sử dụng TLS/SSL cho tất cả kết nối
  • Cấu hình firewall để chỉ cho phép kết nối cần thiết
  • Sử dụng VPN hoặc private network khi có thể
  • Rotate API keys định kỳ
  • Cấu hình authentication cho MQTT broker
  • Sử dụng strong passwords cho proxy authentication