Quản lý Service
Windows Service Management
Khởi động Service
powershell
# Khởi động service
Start-Service -Name "blackHole-agt"
# Hoặc sử dụng sc command
sc start "blackHole-agt"
# Hoặc sử dụng Agent CLI
.\blackhole-agt.exe service startDừng Service
powershell
# Dừng service
Stop-Service -Name "blackHole-agt"
# Hoặc sử dụng sc command
sc stop "blackHole-agt"
# Hoặc sử dụng Agent CLI
.\blackhole-agt.exe service stopKiểm tra trạng thái
powershell
# Kiểm tra trạng thái service
Get-Service -Name "blackHole-agt"
# Hoặc sử dụng Agent CLI
.\blackhole-agt.exe service statusRestart Service
powershell
# Restart service
Restart-Service -Name "blackHole-agt"
# Hoặc dừng rồi khởi động
Stop-Service -Name "blackHole-agt"
Start-Service -Name "blackHole-agt"Linux Service Management
Khởi động Service
bash
# Khởi động service
sudo systemctl start blackhole-agt
# Hoặc sử dụng service command
sudo service blackhole-agt start
# Hoặc sử dụng Agent CLI
sudo /opt/blackhole-agent/blackhole-agt service startDừng Service
bash
# Dừng service
sudo systemctl stop blackhole-agt
# Hoặc sử dụng service command
sudo service blackhole-agt stop
# Hoặc sử dụng Agent CLI
sudo /opt/blackhole-agent/blackhole-agt service stopKiểm tra trạng thái
bash
# Kiểm tra trạng thái service
sudo systemctl status blackhole-agt
# Hoặc sử dụng Agent CLI
sudo /opt/blackhole-agent/blackhole-agt service statusEnable/Disable Service
bash
# Enable service để tự động khởi động khi boot
sudo systemctl enable blackhole-agt
# Disable service
sudo systemctl disable blackhole-agt
# Kiểm tra trạng thái enable
sudo systemctl is-enabled blackhole-agtChạy Agent ở chế độ Foreground
Khởi chạy trực tiếp
bash
# Linux
sudo /opt/blackhole-agent/blackhole-agt start --config /etc/blackhole-agent/config.yml
# Windows
cd "C:\Program Files\BlackHoleAgent\"
.\blackhole-agt.exe start --config config.ymlChạy với verbose logging
bash
# Linux
sudo /opt/blackhole-agent/blackhole-agt start --verbose --log-level debug
# Windows
.\blackhole-agt.exe start --verbose --log-level debugChạy với custom config
bash
# Linux
sudo /opt/blackhole-agent/blackhole-agt start --config /path/to/custom/config.yml
# Windows
.\blackhole-agt.exe start --config "D:\Custom\config.yml"Quản lý cấu hình
Pull cấu hình từ Registry
bash
# Pull cấu hình từ remote server
.\blackhole-agt.exe configure pullPush cấu hình lên Registry
bash
# Push cấu hình local lên remote server
.\blackhole-agt.exe configure pushXác thực với Registry
bash
# Xác thực với API key
.\blackhole-agt.exe auth --key "your-api-key-here"Monitoring và Logging
Vị trí Log Files
Windows
- Application Logs:
C:\Program Files\BlackHoleAgent\logs\default.log - Error Logs:
C:\Program Files\BlackHoleAgent\logs\default-error.log - Windows Event Log: Event Viewer → Windows Logs → Application
Linux
- Application Logs:
/var/log/blackhole-agent/default.log - Error Logs:
/var/log/blackhole-agent/default-error.log - Systemd Journal:
journalctl -u blackhole-agent
Xem Logs
Windows
powershell
# Xem log file trực tiếp
Get-Content "C:\Program Files\BlackHoleAgent\logs\default.log" -Tail 50 -Wait
# Xem Windows Event Log
Get-EventLog -LogName Application -Source "blackhole-agt" -Newest 20
# Xem log với PowerShell
Get-Content "C:\Program Files\BlackHoleAgent\logs\default.log" | Select-String "ERROR"Linux
bash
# Xem log file trực tiếp
sudo tail -f /var/log/blackhole-agent/default.log
# Xem systemd journal
sudo journalctl -u blackhole-agt -f
# Xem log với grep
sudo grep "ERROR" /var/log/blackhole-agent/default.log
# Xem log theo thời gian
sudo journalctl -u blackhole-agt --since "2025-01-01" --until "2025-01-02"Health Checks
Kiểm tra trạng thái Agent
bash
# Kiểm tra process
ps aux | grep blackhole-agt
# Kiểm tra port listening (nếu có)
netstat -tlnp | grep blackhole-agt
# Kiểm tra memory usage
ps -o pid,ppid,cmd,%mem,%cpu --sort=-%mem | grep blackhole-agtKiểm tra kết nối
bash
# Test kết nối đến Registry
curl -k https://blackhole.glabs.one/health
# Test kết nối MQTT
mosquitto_pub -h blackhole.glabs.one -p 8883 -t "test" -m "hello" --cafile ca.crt
# Test kết nối Kafka
kafka-console-producer.sh --bootstrap-server kafka.company.com:9092 --topic testPerformance Monitoring
Metrics Collection
Agent 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)
Agent Metrics
- Messages processed per second
- Error rates
- Queue sizes
- Connection status
- Collector health
Monitoring Commands
bash
# Xem metrics real-time
sudo journalctl -u blackhole-agt -f | grep "metrics"
# Kiểm tra queue size
sudo grep "queue_size" /var/log/blackhole-agent/default.log
# Kiểm tra error rate
sudo grep "error_rate" /var/log/blackhole-agent/default.logMaintenance
Log Rotation
Log rotation được quản lý bởi Agent, có thể cấu hình trong config:
yaml
logging:
max_size_mb: 10 # Rotate khi file đạt 10MBBackup Configuration
bash
# Backup config file
sudo cp /etc/blackhole-agent/config.yml /etc/blackhole-agent/config.yml.backup.$(date +%Y%m%d)
# Backup logs
sudo tar -czf /backup/blackhole-agent-logs-$(date +%Y%m%d).tar.gz /var/log/blackhole-agent/Update Agent
Windows
powershell
# Dừng service
Stop-Service -Name "blackhole-agt"
# Backup config
Copy-Item "config.yml" "config.yml.backup"
# Copy new binary
Copy-Item "blackhole-agt-new.exe" "blackhole-agt.exe"
# Khởi động service
Start-Service -Name "blackhole-agt"Linux
bash
# Dừng service
sudo systemctl stop blackhole-agt
# Backup config
sudo cp /etc/blackhole-agent/config.yml /etc/blackhole-agent/config.yml.backup
# Copy new binary
sudo cp blackhole-agt-new /opt/blackhole-agent/blackhole-agt
# Khởi động service
sudo systemctl start blackhole-agtTroubleshooting Commands
Debug Mode
bash
# Chạy với debug logging
sudo /opt/blackhole-agent/blackhole-agt start --verbose --log-level debug
# Windows
.\blackhole-agt.exe start --verbose --log-level debugSecurity Best Practices
File Permissions
Linux
bash
# Set proper permissions
sudo chown -R blackhole-agt:blackhole-agt /opt/blackhole-agt
sudo chown -R blackhole-agt:blackhole-agt /etc/blackhole-agent
sudo chown -R blackhole-agt:blackhole-agt /var/log/blackhole-agent
# Set restrictive permissions
sudo chmod 750 /opt/blackhole-agt
sudo chmod 640 /etc/blackhole-agent/config.yml
sudo chmod 750 /var/log/blackhole-agentWindows
powershell
# Set permissions for service account
icacls "C:\Program Files\BlackHoleAgent\" /grant "NT SERVICE\BlackHoleAgent":(OI)(CI)F
icacls "C:\Program Files\BlackHoleAgent\config.yml" /grant "NT SERVICE\BlackHoleAgent":RNetwork 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ỳ
