Knowledge Graph
The Unpage Knowledge Graph is a comprehensive representation of your infrastructure that enables AI agents to understand and reason about your systems. It’s a foundational component that provides the context needed for intelligent infrastructure operations.What is the Knowledge Graph?
At its core, the Knowledge Graph is a directed graph where:- Nodes represent infrastructure resources (servers, databases, load balancers, etc.)
- Edges represent relationships between these resources (connections, dependencies, etc.)
- Properties store metadata about each resource (configuration, status, metrics availability, etc.)
How the Graph is Built
The Knowledge Graph is populated by plugins during theunpage graph build
process. Each enabled plugin contributes resources and relationships from the systems it integrates with:
- Authentication: Plugins connect to infrastructure providers using configured credentials
- Discovery: Plugins query APIs to discover resources and their metadata
- Node Creation: Each discovered resource becomes a node with its properties
- Relationship Detection: Plugins identify connections between resources
- Edge Creation: These connections become edges in the graph
- Metadata Enrichment: Additional capabilities like metrics/logs are noted
Graph Structure
The Knowledge Graph has these fundamental components:Nodes
Nodes represent distinct infrastructure resources, each with:- Type: What kind of resource it is (EC2 instance, RDS database, container, etc.)
- ID: A unique identifier for the resource
- Name: Human-readable name
- Properties: Configuration details, status information, etc.
- Capabilities: What operations can be performed on this resource
Edges
Edges represent relationships between resources, capturing:- Source: The originating node
- Target: The destination node
- Type: The nature of the relationship (connects_to, depends_on, etc.)
- Properties: Additional metadata about the relationship
Special Attributes
Certain nodes have special attributes that enable additional functionality:- HasLogs: Indicates log data is available for this resource
- HasMetrics: Indicates metric data is available for this resource
- Alertable: Resource can generate or receive alerts
- Manageable: Resource supports direct management operations
Accessing the Graph
The Knowledge Graph can be accessed in multiple ways:Through Agents
Agents use the graph to gain context about your infrastructure when analyzing situations. They can traverse the graph to:- Understand the topology around an affected resource
- Identify dependencies that might be impacted
- Find related metrics and logs
- Determine potential root causes
Through Graph Tools
The Graph plugin provides tools that can be used directly:graph_search_resources
: Find resources by name, type, or propertiesgraph_get_resource_details
: Get detailed information about a specific resourcegraph_get_neighboring_resources
: Explore connections between resourcesgraph_get_resource_topology
: Visualize the neighborhood around a resource
Through the CLI
You can interact with the graph directly via CLI commands:Use Cases
Initial Setup
Build a complete representation of your infrastructure to give agents full context:Continuous Updates
Keep the graph current with regular rebuilds to reflect infrastructure changes:Troubleshooting
When graph building encounters issues, investigate and resolve them:Environment Management
Maintain separate graphs for different environments using profiles:Best Practices
To get the most value from your Knowledge Graph:- Enable multiple plugins to create a comprehensive view of your infrastructure
- Configure regular rebuilds to keep the graph current
- Use profiles to separate different environments or scopes
- Review graph build logs to identify any connection issues
- Start with the most critical infrastructure and expand coverage over time