# Organization Settings Source: https://docs.getnetra.ai/Account-settings/Organisation Manage your Netra organization settings, team members, projects, API keys, and billing. Control access and configure workspace-level preferences. The Organization Settings page serves as the central hub for managing all aspects of your Netra organization. From here, you can control member access, project configurations, billing details, and provider integrations in one unified interface. ## General Manage your organization's core identity and access: * **Organization Name**: Edit your organization's display name * **Organization ID**: View and copy your unique organization identifier ## Members Members Manage organization members and their access levels: * View all members with their details: * Name and email * Role within the organization * Membership date * Account status * Project memberships ### Member Management #### Editing Member Access * To modify a member's permissions, click the edit icon next to their name in the members list. You can assign one of three roles: * **Project Member**: Basic access to assigned projects with view and limited edit permissions * **Project Admin**: Can manage project settings and members within their assigned projects * **Organization Owner**: Full administrative access to all organization settings and projects * You can also decide the projects the member has access to by selecting/deselecting the projects from the dropdown in the project section. A member can be a part of multiple projects. #### Inviting New Members To add new team members: Click the "Invite Members" button in the top-right corner. In the invitation modal: * Enter the email address of the person you want to invite. Enter multiple email addresses by pressing **Enter** after each address. * Select their role from the dropdown menu * Choose which projects they should have access to Click "Send Invitation" to dispatch an email with joining instructions. The invited member will receive an email with instructions to join your organization. You can track the status of pending invitations in the members list. If you need to add multiple members to same project with same role, you can add all their email addresses together in the invitation modal. ## Projects Projects Manage all projects within your organization: * View project details: * Project name and ID * Creation date * Status (Active/Inactive) ### Project Management * **Create New Project**: * Enter project name * Auto-generated project ID Project names and IDs cannot be edited after creation. The project ID will be visible in the projects list after creation which can be copied for further use. ## Usage & Billing Usage & Billing Track and manage your organization's resource usage and subscription: * **Current Plan**: View your active plan (Developer/Enterprise) * **Span Usage**: View your organization's span usage: * Included in plan * Total organization usage * Additional usage costs * **Usage Analytics**: View your organization's span usage analytics: * Spans by instrumentation * Spans by project * Spans over time ## Provider Provider Manage your AI model providers and their configurations in one place. This section allows you to connect and configure different AI providers that your organization will use for various AI tasks. ## Available Adapters Netra supports the following provider adapters: * **Mistral AI** * **OpenAI** * **Google GenAI** * **Anthropic** ## Provider Management ### Viewing Provider Details For each configured provider, you can view: * **Provider Name**: Your reference name for this configuration * **Adapter Type**: The AI service being used (Mistral AI, OpenAI, Google GenAI, or Anthropic) * **Base URL**: The endpoint URL for API requests (if custom) * **API Key**: Indicates if a valid API key is configured * **Action items**: An edit and delete button ### Editing Provider Configuration Click the **Edit Provider** button to modify advanced settings: Click the edit icon next to the provider you want to configure. * **Base URL**: The custom endpoint URL for API requests * *Note*: Only modify if you're using a custom endpoint or proxy * **Embedding Models** (Not available for Anthropic): * Add custom embedding model names * Format: `model-name` or `provider/model-name` * **LLM Judge Models**: * Add custom model names for evaluation * Used for automated quality assessment Click "Save" to apply your configuration. ### Adding a New Provider Click the **Add Provider** button. * **Provider Name**: Enter a descriptive name (e.g., "Production OpenAI") * **Adapter**: Select from the dropdown (Mistral AI, OpenAI, Google GenAI, or Anthropic) * **API Key**: Enter your API key * **Base URL**: Only required for custom endpoints or proxies * **Custom Models**: * Add embedding models (except for Anthropic) * Configure LLM judge models for evaluation Click **Create Provider** to save your configuration. ## Configuration Details ### Base URL * **What it is**: The endpoint URL where API requests are sent * **When to set**: Only required if you're using a custom endpoint or proxy * **Default**: Automatically uses the official provider endpoint if left blank ### Embedding Models * **What it is**: Custom models for generating text embeddings * **Availability**: Not available for Anthropic provider * **Use case**: When you need to use custom or fine-tuned embedding models ### LLM Judge Custom Models * **What it is**: Models used for automated evaluation and quality assessment * **Use case**: Running automated tests and quality checks on model outputs # Project Settings Source: https://docs.getnetra.ai/Account-settings/project Configure your Netra project settings, manage team members, set up data exports, and connect integrations. Control project-level access and API keys. Your project's command center. Manage team access, API keys, model configurations, and data exports — all from one place. ## General Set up the basics for your project: * **Project Name**: Edit your project's display name * **Project ID**: View and copy your unique project identifier (read-only) **Want to switch projects?** Head to the **Analytics Dashboard** and click your current **Project Name** at the top of the left nav panel. A dropdown will reveal all your available projects — just pick one to switch instantly. ## Members See who has access to your project at a glance. This section shows **Project Members** and **Project Admins** — the people actively collaborating within this project. For each member, you can view: | Detail | Description | | ---------------- | -------------------------------------- | | **Name & Email** | Member's identity and contact | | **Role** | Project Member or Project Admin | | **Access Level** | Permissions granted within the project | | **Last Active** | When they were last seen | Looking for **Organization Owners**? They won't appear here. Head over to [Organization Settings — Members](/Account-settings/Organisation#members) to view and manage them. ### Adding Members Click **"Add Members"** to bring new collaborators into the project — search by name or email, select the members you need, and hit save. They'll be notified right away. ## API Keys API Keys Your keys to programmatic access. Each API key listed here shows its name, prefix, creation date, last usage, and quick actions to edit or delete. ### Creating a New API Key Click **"Create Secret Key"** in the API Keys section. Give it a descriptive name so you can easily identify its purpose later. Copy the generated key immediately and store it somewhere safe — the full key won't be shown again. ### Managing Existing Keys * **Edit**: Rename a key for better identification * **Delete**: Revoke access by removing keys you no longer need ## Models Model Management Keep tabs on every language model in your project. At a glance, you can track token consumption and cost of usage across all configured models. ### Adding a New Model create model Click **"Add Model"** to begin. * **Model Name**: The name used in API calls and for tracking price changes. * **Match Pattern**: Define how this model matches incoming data using Postgres regex syntax. * Example: `(?i)^(modelname)$` for exact case-insensitive matching. Add rate cards for the usage types that apply — input tokens, output tokens, caching, audio duration, or character count. ### Managing Existing Models * **Duplicate**: Need a similar model? Duplicate an existing one and tweak the parameters and pricing to fit. ## Contact Points First image Second image Third image Decide where your alerts land — email inboxes, Slack channels, or both. Contact points are the destinations that get notified when something needs your attention. ### Setting Up a Contact Point Click **"Create Contact Point"** to get started. Choose how you want to be notified: * **Email** — alerts sent directly to specified addresses * **Slack** — notifications posted to your team's workspace * For **Email**: Enter the recipient addresses * For **Slack**: Connect your workspace and pick a channel Fire off a test notification to make sure everything works, then save your configuration. ## Usage Project Usage See exactly how your project is performing. The Usage section gives you a real-time view of resource consumption through **Span Analytics**: | Metric | What it tells you | | ---------------------- | ---------------------------------------------------- | | **Total Spans** | Overall volume of spans generated | | **Trends Over Time** | How usage is changing day to day | | **By Instrumentation** | Which instrumentations are driving the most activity | | **Performance** | Key performance indicators at a glance | ## Integration Integrations allow you to connect external services to your project for exporting and storing observability data generated by Netra. Once configured, these integrations can be used as destinations for scheduled exports, enabling long-term storage, external analysis, or compliance workflows outside the Netra platform. Integrations Netra supports major cloud platforms for seamless integration with your existing infrastructure. *** ### Supported Providers Export data to Amazon S3 buckets with IAM-based authentication. Export data to Google Cloud Storage buckets with service account authentication. ### Adding an Integration Navigate to **Project Settings** → **Integration** and click **Add Integration**. Choose your cloud provider: | Provider | Description | | -------- | ----------------------------------------------------- | | **AWS** | Amazon S3 storage with access key authentication | | **GCP** | Google Cloud Storage with service account credentials | Enter your storage bucket information: | Field | Description | Example | | --------------- | ---------------------------------------------- | ---------------------------------------- | | **Bucket Name** | The name of your cloud storage bucket | `my-company-netra-exports` | | **Region** | Geographic region where your bucket is located | `us-east-1` (AWS) or `us-central1` (GCP) | Enter your access credentials based on the selected provider: **Your credentials are secure.** All access keys and secrets are encrypted using industry-standard encryption and stored securely. We never expose or log your credentials in plain text. | Field | Description | | --------------------- | ---------------------------------- | | **Access Key ID** | Your AWS IAM access key identifier | | **Secret Access Key** | Your AWS IAM secret access key | **Minimum Permissions Required:** | Permission | Resource | | ----------------- | -------------- | | `s3:ListBucket` | Bucket ARN | | `s3:PutObject` | Bucket objects | | `s3:GetObject` | Bucket objects | | `s3:DeleteObject` | Bucket objects | We recommend creating a dedicated IAM user with only these permissions scoped to the target bucket. | Field | Description | | ----------------------- | --------------------------------------------------- | | **Service Account Key** | JSON key file contents for your GCP service account | **Minimum Permissions Required:** | Role | Resource | | --------------------------- | ------------- | | `roles/storage.objectAdmin` | Target bucket | Create a service account with only the **Storage Object Admin** role scoped to the target bucket. Click **Save Integration** to store your configuration. Netra will verify the connection by testing bucket access. Ensure your bucket has the correct permissions before saving. Integration verification will fail if Netra cannot write to the specified bucket. *** ### Integration Listing The Integration page displays all configured cloud storage connections: | Column | Description | | ----------------- | ------------------------------- | | **Provider Type** | The cloud provider (AWS or GCP) | | **Bucket Name** | The target storage bucket name | *** ## Export Data Export Configure automated data exports to send your observability data to external storage at regular intervals. Exports allow you to maintain long-term archives, integrate with data warehouses, or comply with data retention requirements. Export hourly or daily based on your needs. Choose JSON or CSV format for compatibility with your tools. Optionally export your complete historical data on first run. *** ### Creating an Export Navigate to **Project Settings** → **Export** and click **Create Export**. Configure the fundamental export settings: | Field | Description | | ---------------------- | -------------------------------------------------------- | | **Export Name** | A descriptive name to identify this export configuration | | **Destination Bucket** | Select from your configured integrations | Choose the output format for your exported data: | Format | Best For | | -------- | --------------------------------------------------------------------- | | **JSON** | Data pipelines, programmatic processing, preserving nested structures | | **CSV** | Spreadsheet analysis, SQL imports, business intelligence tools | Set how often data should be exported: | Frequency | Description | | ---------- | ------------------------ | | **Hourly** | Export data every hour | | **Daily** | Export data once per day | Choose whether to include historical data: | Option | Description | | ------- | --------------------------------------------------------------------- | | **Yes** | Include all historical data from project creation in the first export | | **No** | Only export new data from the export creation time onwards | Exporting full history may result in a large initial export depending on your project's data volume. Subsequent exports will only include incremental data. Configure the folder structure for exported files: | Field | Description | Example | | --------------- | ------------------------------------------------------------ | --------------------------- | | **Path Prefix** | Directory path within your bucket where files will be stored | `netra/exports/production/` | **Resulting file path:** `s3://your-bucket/netra/exports/production/2026-01-29/traces_001.json` Review all settings and click **Create Export** to activate the export schedule. *** ### Export Listing The Export page displays all configured export jobs with the following information: | Column | Description | | ------------------ | -------------------------------------------------- | | **Export Name** | The name you assigned to identify this export | | **File Format** | Output format (JSON or CSV) | | **Path Prefix** | Directory path within the destination bucket | | **Frequency** | Export schedule (Hourly or Daily) | | **Status** | Current state of the export (Active, Paused, etc.) | | **Created At** | When the export configuration was created | | **Last Synced At** | Timestamp of the most recent successful export | # Alert Rules Source: https://docs.getnetra.ai/Alert-rules/Alert-rules Configure Netra alert rules to receive Slack or email notifications when your AI system exceeds cost, latency, error rate, or quality score thresholds. Don't wait for users to report problems. Alert Rules proactively monitor your AI operations and notify you the moment something goes wrong—whether it's runaway costs, degraded performance, or elevated error rates. Catch issues before they impact users. New to alerts? Set up your first alert rule in minutes. ## Why Alert Rules Matter AI systems can fail silently. Costs creep up, latency degrades, and errors accumulate without obvious symptoms: | Risk | How Alerts Help | | --------------------------- | --------------------------------------------------------------------------- | | **Cost Overruns** | Get notified when token spend exceeds thresholds per request or time period | | **Performance Degradation** | Alert when latency spikes above acceptable levels | | **Error Rate Spikes** | Detect when failures exceed normal baselines | | **SLA Violations** | Monitor metrics that matter for your service commitments | ## Alert Rules Dashboard Navigate to **Alert Rules** from the left navigation panel. Alert Rules | Column | Description | | ------------------ | ----------------------------------------- | | **Alert Name** | Identifier for the alert rule | | **Status** | Active or disabled | | **Last Triggered** | When the alert most recently fired | | **Actions** | Enable, disable, edit, or delete the rule | ## Creating Alert Rules Click **Create Alert Rule** in the top right corner. | Field | Description | | --------------- | --------------------------------------------------------- | | **Alert Name** | A descriptive name (e.g., "High Cost Alert - Production") | | **Description** | Optional details about what the alert monitors | Select where notifications should be sent when the alert triggers. Contact points must be configured first in **Settings → Contact Points**. See [Configuring Contact Points](#configuring-contact-points) below. Choose what level to monitor: | Scope | Use Case | | --------- | ---------------------------------------------------------- | | **Trace** | Monitor entire requests end-to-end | | **Span** | Monitor individual operations (LLM calls, tool executions) | Choose what to measure: * **Cost**: Token/API spend in USD * **Latency**: Response time in milliseconds * **Error Rate**: Percentage of failed requests * **Token Count**: Input/output token usage Narrow down which traces trigger the alert by filtering on: * **Model**: Specific AI model (e.g., gpt-4, claude-3) * **Tenant ID**: Monitor specific customers or organizations * **Environment**: Production, staging, development * **Service**: Particular microservice or component Filters help reduce noise by limiting alerts to specific contexts. For example, monitor production costs separately from development. Define when the alert should fire: * **Threshold**: The value that triggers the alert * **Operator**: Greater than, less than, equals * **Time Window**: Evaluation period (optional) Click **Create** to activate the alert rule. ## How Alerts Work When trigger conditions are met, Netra: 1. **Evaluates** incoming [traces](/Observability/Traces/overview) against your alert rules 2. **Triggers** the alert when conditions match 3. **Sends notifications** to all configured contact points 4. **Updates** the alert's status and last triggered timestamp Alerts evaluate in real-time as traces arrive. There's no polling delay—you're notified immediately when thresholds are breached. ## Configuring Contact Points Before creating alerts, set up your notification channels. Go to **Settings → Contact Points**. Click **Create Contact Point** and provide: * **Name**: A descriptive label (e.g., "Engineering Slack", "On-Call Email") * **Integration**: Choose Email or Slack Enter the email address(es) to receive notifications. * Supports multiple recipients (comma-separated) * Notifications include alert details, triggered values, and links to relevant traces Choose your integration method: **Option 1: Slack API** * Provide the recipient channel or user * Enter your Slack Bot token **Option 2: Webhook URL** * Create an [Incoming Webhook](https://api.slack.com/messaging/webhooks) in Slack * Paste the webhook URL Click **Create** to save the contact point. It's now available when creating alert rules. ## Use Cases ### Cost Monitoring Prevent budget overruns: 1. Create an alert for **Cost > \$0.50** per trace 2. Set scope to **Trace** to monitor full request cost 3. Route to your finance or engineering Slack channel ### Latency SLAs Ensure performance commitments: 1. Create an alert for **Latency > 3000ms** 2. Set scope to **Trace** for end-to-end latency 3. Notify your on-call team via email ### Error Detection Catch failures early: 1. Create an alert for **Error Rate > 5%** 2. Set a time window to avoid false positives from single failures 3. Route to your incident management system ### Per-Tenant Monitoring For [multi-tenant](/Observability/Tenants) applications: 1. Create alerts scoped to specific tenant IDs 2. Monitor per-tenant cost or error rates 3. Proactively reach out before customers report issues ## Managing Alerts ### Enable/Disable Alerts Toggle alerts on or off without deleting them: * Useful for maintenance windows * Temporarily silence noisy alerts while investigating ### Edit Alert Rules Modify existing alerts to: * Adjust thresholds as your system scales * Add or remove contact points * Change scope or metrics ### Delete Alerts Remove alerts that are no longer needed. This action is permanent. ## Best Practices ### Setting Thresholds * **Start conservative**: Begin with higher thresholds and tighten over time * **Use baseline data**: Review your [Dashboard](/Dashboard/Custom-dashboard) metrics to understand normal ranges * **Account for variance**: Set thresholds above typical peaks to avoid alert fatigue ### Organizing Contact Points * **Separate by severity**: Route critical alerts to on-call, informational alerts to Slack * **Use descriptive names**: "Production Critical" vs "Dev Notifications" * **Test before relying**: Send a test notification to verify delivery ### Avoiding Alert Fatigue * **Be specific**: Narrow scope to reduce false positives * **Set appropriate windows**: Use time-based aggregation for rate metrics * **Review regularly**: Disable or tune alerts that fire too often without action ## Related * [Quick Start: Alerts](/quick-start/QuickStart_Alerts) - Get started with alert rules * [Traces](/Observability/Traces/overview) - Understand the data alerts monitor * [Tenants](/Observability/Tenants) - Monitor per-customer metrics * [Dashboard](/Dashboard/Custom-dashboard) - View metrics to inform threshold settings # A/B Testing Model Configurations Source: https://docs.getnetra.ai/Cookbooks/evaluation/ab-testing-configurations A/B test AI model configurations with Netra's evaluation framework. Compare prompts, models, and parameters by running the same dataset against each setup. In the [Multi-Tenant Cost Tracking](/Cookbooks/observability/multi-tenant-cost-tracking) cookbook, you set up tier-based configurations for a meeting summarization pipeline — Enterprise on GPT-4, Professional on GPT-4-turbo, and Starter on GPT-3.5-turbo. But how do you know whether the Enterprise tier's output is actually better enough to justify the cost? Without structured evaluation, you're guessing. This cookbook walks you through the next step: using Netra's evaluation framework to A/B test those configurations. You'll run the same test cases against two tiers, score both with the same evaluators, and compare results side by side to make a data-driven decision. **Prerequisite:** You need a Netra API key ([Get started here](/quick-start/Overview)) and the meeting summarization pipeline from the [Multi-Tenant Cost Tracking](/Cookbooks/observability/multi-tenant-cost-tracking) cookbook. The code below reuses the `MultiTenantMeetingSummarizer` class and tenant configurations from that cookbook. ## What You'll Learn Create test cases that both configurations will be evaluated against Set up evaluators for answer correctness and conciseness Trigger separate evaluation runs for each configuration via the SDK Interpret scores across runs to make data-driven configuration decisions *** ## Why A/B Test AI Configurations? Different configurations serve different trade-offs. Systematic A/B testing answers these questions with data: | Scenario | What to Compare | What You'll Learn | | ----------------------- | ---------------------------------------- | -------------------------------------------------------- | | **Model upgrade** | GPT-3.5-turbo vs GPT-4-turbo | Does the quality improvement justify the cost increase? | | **Prompt optimization** | Original prompt vs revised prompt | Does the new prompt improve quality with the same model? | | **Parameter tuning** | temperature=0.1 vs temperature=0.3 | Which setting produces more consistent results? | | **Tier validation** | Enterprise config vs Professional config | Does the quality gap justify the price gap? | Netra's evaluation framework makes this straightforward: create one dataset, run it against each configuration as a separate [Test Run](/Evaluation/TestRuns), and compare evaluator scores in the dashboard. See the [Evaluation Overview](/Evaluation/Evaluation-overview) for a deeper look at the framework. *** Now, let's walk through the process of A/B testing two configurations: ## Step 1: Create Evaluators You need two evaluators from the library. ### Answer Correctness (Library) Go to **Evaluation → Evaluators**, switch to the **Library** tab, and add **Answer Correctness** from the Quality category. ### Conciseness (Library) Add **Conciseness** from the Quality category. | Evaluator | What It Measures | | ---------------------- | -------------------------------------------------------------------------- | | **Answer Correctness** | Is the generated output factually correct compared to the expected output? | | **Conciseness** | Is the output appropriately brief without losing key information? | You can test each evaluator in the **Playground** before using it in a dataset. See [Evaluators](/Evaluation/Evaluators) for the full reference.