From installation to your first insights, FinOpsMetrics makes cloud cost monitoring effortless
Best for individual developers, small teams, and POCs
Best for teams needing AI recommendations and collaboration
free - perfect for getting started
Install the community edition via pip
# Install the community edition
pip install finopsmetrics
# Verify installation
python -c "import finopsmetrics; print(finopsmetrics.__version__)"
# Output: 0.3.1
pip install --user finopsmetrics
Optional but recommended for visualization
# Install the web dashboard
pip install finopsmetrics-dashboard
# Verify
finopsmetrics-dashboard --help
Launch the server to collect telemetry data
# Start the server on default port 8080
finopsmetrics-server
# Or specify custom port
finopsmetrics-server --port 9000
# Run in background (Linux/Mac)
nohup finopsmetrics-server --port 8080 &
FinOpsMetrics Server v0.3.1 Server running on http://localhost:8080 ObservabilityHub initialized Ready to receive telemetry data
Choose your cloud provider and deploy the agent
# Set AWS credentials
export AWS_PROFILE=your-profile
# or
aws configure
# Run AWS telemetry agent
python -m agents.aws_telemetry_agent \
--endpoint http://localhost:8080 \
--region us-west-2 \
--interval 300
# Login to Azure
az login
# Run Azure telemetry agent
python -m agents.azure_telemetry_agent \
--endpoint http://localhost:8080 \
--subscription-id YOUR_SUBSCRIPTION_ID \
--interval 300
# Authenticate with GCP
gcloud auth application-default login
# Run GCP telemetry agent
python -m agents.gcp_telemetry_agent \
--endpoint http://localhost:8080 \
--project-id YOUR_PROJECT_ID \
--interval 300
Launch the web dashboard to visualize your data
# In a new terminal window
finopsmetrics-dashboard --port 5000
FinOpsMetrics Dashboard v0.3.1 Dashboard running on http://localhost:5000 WebSocket server ready Open your browser to http://localhost:5000
Set up admin credentials for dashboard access
# Create admin user
python -m finopsmetrics.dashboard.iam_cli add-user \
--username admin \
--email your@email.com \
--role admin \
--password SecurePassword123!
Login and explore your cost insights
http://localhost:5000
admin
/dashboard/cfo
/dashboard/coo
/dashboard/infrastructure
/dashboard/finance
Within 5-10 minutes you'll see:
Add AI-powered recommendations and advanced collaboration features
Follow steps 1-7 from Community Edition installation above
Add Enterprise features on top of Community
# Option A: From wheel file (provided by sales)
pip install finopsmetrics_enterprise-0.3.1-py3-none-any.whl
# Option B: From private PyPI (if configured)
pip install --index-url https://your-private-pypi.com finopsmetrics-enterprise
Activate your Enterprise license key
# Python script or interactive shell
from finopsmetrics.enterprise import activate_license
activate_license(
license_key="FOM-ENT-BUS-xxxxxxxx-yyyyyyyy",
organization="Your Company Name"
)
✓ License activated successfully Organization: Your Company Name Tier: BUSINESS Max Users: 50 Features: ai_recommendations, advanced_analytics, workspace_collaboration, priority_support, gpu_acceleration Expires: 2026-10-09
Test AI recommendations engine
# Test AI recommendations
from finopsmetrics.observability import IntelligentRecommendationEngine
engine = IntelligentRecommendationEngine()
recommendations = engine.generate_recommendations(time_range_hours=24)
print(f"Found {len(recommendations)} optimization opportunities")
New features available in the same dashboard
Real-world deployment patterns and best practices
Deploy one server with agents for each cloud provider
# Terminal 1: Server
finopsmetrics-server --port 8080
# Terminal 2: AWS Agent
python -m agents.aws_telemetry_agent --endpoint http://localhost:8080 --region us-west-2
# Terminal 3: Azure Agent
python -m agents.azure_telemetry_agent --endpoint http://localhost:8080 --subscription-id XXX
# Terminal 4: GCP Agent
python -m agents.gcp_telemetry_agent --endpoint http://localhost:8080 --project-id YYY
# Terminal 5: Dashboard
finopsmetrics-dashboard --port 5000
Deploy one agent per region, all reporting to same server
# US East agent
python -m agents.aws_telemetry_agent --endpoint http://localhost:8080 --region us-east-1 &
# US West agent
python -m agents.aws_telemetry_agent --endpoint http://localhost:8080 --region us-west-2 &
# EU agent
python -m agents.aws_telemetry_agent --endpoint http://localhost:8080 --region eu-west-1 &
Using systemd service and reverse proxy
1. Create systemd service (Linux):# /etc/systemd/system/finopsmetrics-server.service
[Unit]
Description=FinOpsMetrics Server
After=network.target
[Service]
Type=simple
User=finops
WorkingDirectory=/opt/finopsmetrics
ExecStart=/usr/bin/python3 -m finopsmetrics.cli server --port 8080
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable finopsmetrics-server
sudo systemctl start finopsmetrics-server
# /etc/nginx/sites-available/finopsmetrics
server {
listen 80;
server_name finops.yourcompany.com;
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /socket.io {
proxy_pass http://localhost:5000/socket.io;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Customize FinOpsMetrics for your environment
Create ~/.finopsmetrics/config.yaml
:
observability:
host: "0.0.0.0"
port: 8080
telemetry:
collection_interval: 300 # 5 minutes
retention_days: 90
budgets:
default_currency: "USD"
alert_threshold: 0.8 # 80%
notifications:
slack_webhook: "https://hooks.slack.com/services/YOUR/WEBHOOK"
email_enabled: true
email_smtp_server: "smtp.gmail.com"
email_smtp_port: 587
email_from: "finops@yourcompany.com"
AWS agent with advanced options:
python -m agents.aws_telemetry_agent \
--endpoint http://localhost:8080 \
--region us-west-2 \
--interval 300 \
--include-services ec2,eks,lambda,rds,s3 \
--tag-filters Environment=production,Team=platform
After installation, verify:
tail -f ~/.finopsmetrics/logs/server.log
curl http://localhost:8080/health
Common issues and solutions
Solution:
# Check if server is running
curl http://localhost:8080/health
# Check firewall
sudo ufw allow 8080
# Check logs
tail -f ~/.finopsmetrics/logs/server.log
Possible Causes:
Solution:
# Verify agent is running
ps aux | grep telemetry_agent
# Test AWS credentials
aws sts get-caller-identity
# Check agent can reach server
curl http://localhost:8080/api/v1/telemetry/status
Solution:
# Restart dashboard
finopsmetrics-dashboard --port 5000 --debug
# Check browser console for errors
# Clear browser cache
# Try incognito mode
Solution:
# Verify license
from finopsmetrics.enterprise import check_license_status
status = check_license_status()
print(status)
# If expired or invalid, reactivate
from finopsmetrics.enterprise import activate_license
activate_license('NEW_LICENSE_KEY', 'ORG')
Choose your edition and get started in minutes
pip install finopsmetrics