Skip to content

georgeOsdDev/AppInsightsDetective

Repository files navigation

🔍 AppInsights Detective 🕵

CI npm version npm downloads Node.js Version License: MIT

Query Azure Application Insights and Azure Data Explorer with natural language using AI

AppInsights Detective is an intelligent CLI tool that transforms natural language questions into KQL queries for Azure Application Insights and Azure Data Explorer, powered by Azure OpenAI.

example

✨ Key Features

  • 🗣️ Natural Language Queries - Ask questions in plain English
  • 🤖 AI-Powered KQL Generation - Advanced query generation with confidence scoring
  • 🔐 Secure Authentication - Azure Managed Identity with multi-tenant support
  • 📊 Rich Visualization - Console charts, tables, and multiple output formats
  • 🕵️ Interactive Mode - Step-by-step query building with guided assistance
  • 🌐 Web Interface - Modern web UI for visual query building (🧪 experimental)
  • 📋 Template System - Create and reuse query templates
  • 🌐 Azure Portal Integration - One-click query execution in the portal
  • 🗃️ Multiple Data Sources - Support for Application Insights, Log Analytics, and Azure Data Explorer

🚀 Quick Start

Prerequisites

  • Node.js 18.0.0 or higher
  • One or more of:
    • Azure Application Insights resource
    • Azure Data Explorer (ADX) cluster
    • Azure Log Analytics workspace
  • Azure OpenAI resource
  • Appropriate Azure permissions (see setup guide)

Installation

Install from NPM (Recommended)

npm install -g appinsights-detective

Install from Source

git clone https://github.com/georgeOsdDev/AppInsightsDetective.git
cd AppInsightsDetective
npm install && npm run build && npm install -g .

First Query

# 1. Setup configuration
aidx setup

# 2. Ask your first question
aidx "show me errors from the last hour"

# 3. Try interactive mode
aidx --interactive

📋 Basic Commands

Command Description Example
aidx setup Configure Application Insights and OpenAI settings aidx setup
aidx status Check configuration and connection status aidx status --verbose
aidx "question" Ask a natural language question aidx "top 10 slowest requests"
aidx --interactive Start guided interactive session aidx -i
aidx webui 🧪 Start web-based interface (experimental) aidx webui --port 3000
aidx --raw "kql" Execute raw KQL query aidx --raw "requests | take 5"
aidx template list Manage query templates aidx template use performance-overview

→ See complete command reference

🔧 Output & Export Options

# Different output formats
aidx "errors" --format json --pretty
aidx "requests" --format csv --output data.csv
aidx "performance" --format table  # default with charts

# Interactive mode for complex analysis
aidx --interactive

📚 Documentation

🏗️ Development

For developers looking to contribute or extend AppInsights Detective:

📝 Project Status

Current Version: 1.0.0 Stability: Experimental - Active development, breaking changes possible

🤝 Contributing

We welcome contributions! Please see our development documentation for technical details.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests and documentation
  5. Submit a pull request

📞 Support & License


Made with ❤️ for Azure Application Insights users who want to query their data naturally.

About

🔍Interpret data with an AI-powered detective🕵

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •