
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
server-log-monitor
Advanced tools
AI-powered server log monitoring with BlackBox AI analysis, ElevenLabs conversational agents, file source detection, and intelligent voice alerts
AI-powered server log monitoring with BlackBox AI analysis and Twilio alerts.
Global installation (recommended for CLI usage):
npm install -g server-log-monitor
On Linux/Ubuntu, you may need sudo:
sudo npm install -g server-log-monitor
Alternative - Use without installation:
npx server-log-monitor config create
npx server-log-monitor start
Or for local project:
npm install server-log-monitor
server-log-monitor config create
This creates a config.sample.json file with example values.
⚠️ Important: You must copy the sample to config.json and add your real API keys:
# Copy the sample configuration
cp config.sample.json config.json
# Edit config.json with your actual API keys
nano config.json # or use your preferred editor
Your config.json should look like this with real values:
{
"blackboxAI": {
"apiKey": "your_blackbox_api_key_here"
},
"twilio": {
"accountSid": "your_twilio_account_sid",
"authToken": "your_twilio_auth_token",
"phoneNumber": "+12315999850",
"toPhoneNumbers": ["+0987654321"]
},
"elevenlabs": {
"apiKey": "your_elevenlabs_api_key_here",
"agentId": "agent_id_will_be_set_after_setup",
"phoneNumberId": "phone_number_id_will_be_set_after_setup",
"voiceId": "your_preferred_voice_id_optional"
},
"logMonitor": {
"paths": ["/var/log", "./logs"],
"maxLines": 100,
"pollInterval": 5000
}
}
server-log-monitor start
# Start monitoring (default command)
server-log-monitor start
# Monitor a specific file only
server-log-monitor start --file /var/log/nginx/access.log
# Monitor with verbose output (show log content before AI analysis)
server-log-monitor start --verbose
# Monitor specific file with verbose output
server-log-monitor start --file ../log-simulator/logs/app.log --verbose
# Analyze a specific log file
server-log-monitor analyze /var/log/nginx/error.log
# Analyze with specific number of lines
server-log-monitor analyze /var/log/nginx/error.log --lines 50
# Aggregate all logs into one file and analyze (one-time)
server-log-monitor aggregate
# Aggregate with custom settings (one-time)
server-log-monitor aggregate --lines 50 --output my-logs.txt --verbose
# Continuously aggregate and analyze logs (uses config default interval)
server-log-monitor aggregate-watch
# Continuous aggregation with 30-second interval
server-log-monitor aggregate-watch --interval 30
# Continuous aggregation with custom output and verbose mode
server-log-monitor aggregate-watch --output my-logs.txt --verbose
# Check status
server-log-monitor status
# Validate configuration
server-log-monitor config validate
# Health check
server-log-monitor health
# Test SMS alerts
server-log-monitor test-sms
# Test voice calls
server-log-monitor test-call
# ElevenLabs Conversational Agent Setup
server-log-monitor elevenlabs:setup
# Test ElevenLabs integration
server-log-monitor elevenlabs-test
# Update ElevenLabs agent configuration
server-log-monitor elevenlabs-update
# ElevenLabs Tools Integration
server-log-monitor tool-server
# Start tool server with custom settings
server-log-monitor tool-server --port 3002 --codebase /path/to/your/project
# Update to latest version
server-log-monitor update
# Show version
server-log-monitor --version
# Help
server-log-monitor help
--config <path> - Path to configuration file--file <path> - Monitor only a specific file (for start command)--verbose, --show-logs - Show detailed output (for start/aggregate commands)--lines <number> - Number of lines to collect/analyze (for analyze/aggregate commands)--output <path> - Output file for aggregated logs (for aggregate command, default: aggregated-logs.txt)--interval <number> - Analysis interval in seconds (for aggregate-watch command, uses config default if not specified)--version, -v - Show version numberYou can also configure using environment variables:
export BLACKBOX_API_KEY="your_api_key"
export TWILIO_ACCOUNT_SID="your_sid"
export TWILIO_AUTH_TOKEN="your_token"
export ELEVENLABS_API_KEY="your_elevenlabs_api_key"
export ELEVENLABS_VOICE_ID="your_preferred_voice_id"
export LOG_PATHS="/var/log,./logs"
apiKey: Your BlackBox AI API key (required)model: AI model to use (default: "blackboxai/anthropic/claude-sonnet-4")timeout: Request timeout in milliseconds (default: 30000)apiKey: Your ElevenLabs API key (required for conversational alerts)agentId: Agent ID (auto-set after running setup command)phoneNumberId: Phone number ID (auto-set after setup)voiceId: Voice ID from ElevenLabs voice library (optional, improves voice quality)paths: Array of log file paths or directories to monitorpatterns: File patterns to match (default: [".log", ".txt"])maxLines: Maximum lines to read from end of each log file per poll (default: 100)pollInterval: Polling frequency in milliseconds - how often to check log files (default: 200000)encoding: File encoding (default: 'utf8')recursive: Recursively scan subdirectories (default: false)How Polling Works:
pollInterval ms, reads the last maxLines from each monitored log filemaxLines) to AI for analysiscooldownPeriod: Minimum time between alerts (default: 5 minutes)enableSMS: Enable SMS notificationsenableCalls: Enable phone call notificationsonlyCallForCritical: Only make calls for critical issuesThe aggregate command collects logs from all monitored files into a single file and analyzes them together. This is useful for getting a comprehensive view across all your services and detecting patterns that span multiple log files.
The aggregate-watch command provides continuous monitoring with periodic aggregation and analysis, perfect for ongoing system monitoring.
# Basic aggregation (uses default config paths like /var/log)
server-log-monitor aggregate
# Aggregate with custom line count and output file
server-log-monitor aggregate --lines 50 --output today-logs.txt
# Aggregate with verbose output to see what's being collected
server-log-monitor aggregate --verbose
# Use custom config for specific log directories
server-log-monitor aggregate --config /path/to/custom-config.json
# Continuous aggregation and monitoring (uses config default interval)
server-log-monitor aggregate-watch
# Continuous monitoring with custom 30-second interval
server-log-monitor aggregate-watch --interval 30
# Continuous monitoring with custom output file and verbose mode
server-log-monitor aggregate-watch --output my-logs.txt --verbose
The aggregated file includes headers showing which file each section came from, making it easy to trace issues back to specific services.
For critical incidents, the system can make intelligent voice calls using ElevenLabs conversational AI agents. These agents can:
config.json with the ElevenLabs sectionserver-log-monitor elevenlabs:setup
server-log-monitor elevenlabs:test
server-log-monitor elevenlabs:test-call # Makes actual test call
When a critical alert is detected:
Alert Routing Logic:
When you answer a critical alert call:
Agent: "Hello! I'm your server monitoring assistant. I've detected a critical alert that needs your attention. I found a database connection failure affecting your application. Would you like me to explain what's happening?"
You: "Yes, what exactly is wrong?"
Agent: "I'm seeing 3 critical errors in your database logs. The main issue is connection timeouts to your database server at 192.168.1.100. This started about 5 minutes ago and is preventing users from accessing your application. I recommend checking if the database service is running and verifying network connectivity first."
The server log monitor includes a powerful tool server that extends ElevenLabs conversational agents with the ability to search codebases, execute diagnostic commands, and investigate errors directly in your project files.
Start the Tool Server:
# Start with default settings (port 3001, blackboxHackathon codebase)
server-log-monitor tool-server
# Or customize the configuration
server-log-monitor tool-server --port 3002 --codebase /path/to/your/project
Configure ElevenLabs Agent: Add the server tools to your ElevenLabs agent configuration using the URLs provided when the server starts.
Test the Integration: Your ElevenLabs agent can now search your codebase and execute diagnostic commands during conversations.
When the tool server starts, it provides these endpoints for ElevenLabs integration:
POST /tools/codebase-search - Search for code patterns in the projectPOST /tools/terminal-execute - Execute safe diagnostic commandsPOST /tools/file-content - View specific file contentsPOST /tools/find-error-location - Locate errors using messages/stack tracesPOST /tools/project-structure - Get project organization overviewGET /health - Health check endpointWhen your ElevenLabs agent receives a critical alert:
src/database.js line 25. Let me examine that file."ps aux | grep postgresFor complete setup and configuration details, see the ElevenLabs Tools Integration Guide.
The system uses BlackBox AI to analyze log content and returns:
critical, warning, or normalserver-log-monitor/
├── src/
│ ├── components/ # Core components
│ │ ├── AIAnalyzer.js # BlackBox AI integration
│ │ └── LogMonitor.js # Log file monitoring
│ ├── config/ # Configuration management
│ │ └── ConfigManager.js
│ └── index.js # Main entry point
├── bin/
│ └── cli.js # CLI executable
├── config/
│ └── config.sample.json # Sample configuration
├── prompts/
│ └── log-analysis.js # AI prompts
└── package.json
npm test
npm run lint
Failed to load configuration: Invalid configuration: BlackBox AI API key is required
Solution:
Make sure you created config.json (not just config.sample.json):
cp config.sample.json config.json
Edit config.json and add your real BlackBox AI API key:
{
"blackboxAI": {
"apiKey": "your_actual_api_key_here"
}
}
Get your API key from BlackBox AI
The monitor looks for config.json in the current directory. Either:
config.json--config to specify the path: server-log-monitor start --config /path/to/config.jsonIf you get permission errors:
# Install with sudo
sudo npm install -g server-log-monitor
# Or use npx (no installation)
npx server-log-monitor start
For SMS/voice alerts, make sure you have:
MIT License - see LICENSE file for details.
FAQs
AI-powered server log monitoring with BlackBox AI analysis, ElevenLabs conversational agents, file source detection, and intelligent voice alerts
We found that server-log-monitor demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.