feat: Added stfuff
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
./resolved.nix
|
./resolved.nix
|
||||||
./searxng.nix
|
./searxng.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./grafana.nix
|
# ./grafana.nix
|
||||||
|
|
||||||
./excalidraw.nix
|
./excalidraw.nix
|
||||||
# ./desmos.nix
|
# ./desmos.nix
|
||||||
|
|||||||
@@ -8,8 +8,26 @@
|
|||||||
http_port = 3011;
|
http_port = 3011;
|
||||||
};
|
};
|
||||||
"auth.proxy" = {
|
"auth.proxy" = {
|
||||||
enabled = true;
|
enabled = false;
|
||||||
header_name = "Remote-User";
|
header_name = "Remote-User";
|
||||||
|
header_property = "username";
|
||||||
|
auto_sign_up = true;
|
||||||
|
sync_ttl = 60;
|
||||||
|
whitelist = "127.0.0.1";
|
||||||
|
headers = "Name:Remote-Name Email:Remote-Email";
|
||||||
|
enable_login_token = false;
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
default_theme = "dark";
|
||||||
|
home_page = "d/monitoring-homepage";
|
||||||
|
auto_assign_org = true;
|
||||||
|
auto_assign_org_id = 1;
|
||||||
|
auto_assign_org_role = "Admin";
|
||||||
|
};
|
||||||
|
security = {
|
||||||
|
allow_embedding = true;
|
||||||
|
cookie_secure = false;
|
||||||
|
disable_gravatar = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
provision = {
|
provision = {
|
||||||
@@ -26,14 +44,44 @@
|
|||||||
];
|
];
|
||||||
dashboards.settings.providers = [
|
dashboards.settings.providers = [
|
||||||
{
|
{
|
||||||
name = "system";
|
name = "homepage";
|
||||||
orgId = 1;
|
orgId = 1;
|
||||||
folder = "System";
|
folder = "";
|
||||||
type = "file";
|
type = "file";
|
||||||
disableDeletion = false;
|
disableDeletion = false;
|
||||||
updateIntervalSeconds = 10;
|
updateIntervalSeconds = 10;
|
||||||
allowUiUpdates = true;
|
allowUiUpdates = true;
|
||||||
options.path = "/etc/grafana/dashboards";
|
options.path = "/etc/grafana/dashboards/homepage";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "multi-device";
|
||||||
|
orgId = 1;
|
||||||
|
folder = "Multi-Device Monitoring";
|
||||||
|
type = "file";
|
||||||
|
disableDeletion = false;
|
||||||
|
updateIntervalSeconds = 10;
|
||||||
|
allowUiUpdates = true;
|
||||||
|
options.path = "/etc/grafana/dashboards/multi-device";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "device-specific";
|
||||||
|
orgId = 1;
|
||||||
|
folder = "Device-Specific";
|
||||||
|
type = "file";
|
||||||
|
disableDeletion = false;
|
||||||
|
updateIntervalSeconds = 10;
|
||||||
|
allowUiUpdates = true;
|
||||||
|
options.path = "/etc/grafana/dashboards/device-specific";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "legacy";
|
||||||
|
orgId = 1;
|
||||||
|
folder = "Legacy Dashboards";
|
||||||
|
type = "file";
|
||||||
|
disableDeletion = false;
|
||||||
|
updateIntervalSeconds = 10;
|
||||||
|
allowUiUpdates = true;
|
||||||
|
options.path = "/etc/grafana/dashboards/legacy";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -155,13 +203,6 @@
|
|||||||
settings = {
|
settings = {
|
||||||
access_control = {
|
access_control = {
|
||||||
rules = [
|
rules = [
|
||||||
{
|
|
||||||
domain = "grafana.darksailor.dev";
|
|
||||||
policy = "bypass";
|
|
||||||
resources = [
|
|
||||||
"^/api([/?].*)?$"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
domain = "grafana.darksailor.dev";
|
domain = "grafana.darksailor.dev";
|
||||||
policy = "one_factor";
|
policy = "one_factor";
|
||||||
@@ -184,15 +225,25 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Provision dashboards directly
|
# Provision dashboards in organized folders
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"grafana/dashboards/system-dashboard.json".source = ./grafana/system-dashboard.json;
|
# Homepage dashboard (root level)
|
||||||
"grafana/dashboards/processes-dashboard.json".source = ./grafana/processes-dashboard.json;
|
"grafana/dashboards/homepage/homepage-dashboard.json".source =
|
||||||
"grafana/dashboards/multi-device-system-dashboard.json".source =
|
./grafana/homepage/homepage-dashboard.json;
|
||||||
./grafana/multi-device-system-dashboard.json;
|
|
||||||
"grafana/dashboards/multi-device-processes-dashboard.json".source =
|
# Multi-device dashboards
|
||||||
./grafana/multi-device-processes-dashboard.json;
|
"grafana/dashboards/multi-device/multi-device-system-dashboard.json".source =
|
||||||
"grafana/dashboards/device-specific-system-dashboard.json".source =
|
./grafana/multi-device/multi-device-system-dashboard.json;
|
||||||
./grafana/device-specific-system-dashboard.json;
|
"grafana/dashboards/multi-device/multi-device-processes-dashboard.json".source =
|
||||||
|
./grafana/multi-device/multi-device-processes-dashboard.json;
|
||||||
|
|
||||||
|
# Device-specific dashboards
|
||||||
|
"grafana/dashboards/device-specific/device-specific-system-dashboard.json".source =
|
||||||
|
./grafana/device-specific/device-specific-system-dashboard.json;
|
||||||
|
|
||||||
|
# Legacy dashboards
|
||||||
|
"grafana/dashboards/legacy/system-dashboard.json".source = ./grafana/legacy/system-dashboard.json;
|
||||||
|
"grafana/dashboards/legacy/processes-dashboard.json".source =
|
||||||
|
./grafana/legacy/processes-dashboard.json;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,23 @@
|
|||||||
|
|
||||||
This directory contains Grafana dashboards configured to monitor multiple NixOS devices: `mirai`, `tsuba`, and `ryu`.
|
This directory contains Grafana dashboards configured to monitor multiple NixOS devices: `mirai`, `tsuba`, and `ryu`.
|
||||||
|
|
||||||
## Dashboard Overview
|
## Homepage Dashboard
|
||||||
|
|
||||||
### 1. Multi-Device System Metrics (`multi-device-system-dashboard.json`)
|
When you access Grafana at `grafana.darksailor.dev`, you'll be greeted with the **Monitoring Hub Homepage** that provides:
|
||||||
|
|
||||||
|
- **Device Status Overview**: Real-time status table showing CPU, memory, disk usage, and uptime for all devices
|
||||||
|
- **Dashboard Navigation**: Color-coded tiles linking to all monitoring dashboards
|
||||||
|
- **Quick Actions**: Direct links to Prometheus targets, dashboard management, and documentation
|
||||||
|
- **Organized Layout**: Dashboards are grouped by category for easy navigation
|
||||||
|
|
||||||
|
## Dashboard Organization
|
||||||
|
|
||||||
|
Dashboards are organized into folders for better management:
|
||||||
|
|
||||||
|
### **📊 Multi-Device Monitoring**
|
||||||
|
Located in `multi-device/` folder:
|
||||||
|
|
||||||
|
#### 1. Multi-Device System Metrics
|
||||||
- **Purpose**: Compare system metrics across all devices on a single dashboard
|
- **Purpose**: Compare system metrics across all devices on a single dashboard
|
||||||
- **Features**:
|
- **Features**:
|
||||||
- Device filtering via template variable (can select one, multiple, or all devices)
|
- Device filtering via template variable (can select one, multiple, or all devices)
|
||||||
@@ -16,17 +30,7 @@ This directory contains Grafana dashboards configured to monitor multiple NixOS
|
|||||||
- System uptime tracking
|
- System uptime tracking
|
||||||
- Load average trends
|
- Load average trends
|
||||||
|
|
||||||
### 2. Device-Specific System Dashboard (`device-specific-system-dashboard.json`)
|
#### 2. Multi-Device Process Monitoring
|
||||||
- **Purpose**: Detailed system monitoring for a single selected device
|
|
||||||
- **Features**:
|
|
||||||
- Device selection via template variable
|
|
||||||
- Detailed CPU, memory, and disk metrics
|
|
||||||
- Network and disk I/O operations
|
|
||||||
- System status indicators
|
|
||||||
- Load average trends (1m, 5m, 15m)
|
|
||||||
- Enhanced visualizations with thresholds and color coding
|
|
||||||
|
|
||||||
### 3. Multi-Device Process Monitoring (`multi-device-processes-dashboard.json`)
|
|
||||||
- **Purpose**: Monitor processes across all devices
|
- **Purpose**: Monitor processes across all devices
|
||||||
- **Features**:
|
- **Features**:
|
||||||
- Device filtering for process metrics
|
- Device filtering for process metrics
|
||||||
@@ -36,7 +40,21 @@ This directory contains Grafana dashboards configured to monitor multiple NixOS
|
|||||||
- Process I/O throughput monitoring
|
- Process I/O throughput monitoring
|
||||||
- Process count tracking per device
|
- Process count tracking per device
|
||||||
|
|
||||||
### 4. Legacy Dashboards
|
### **🔍 Device-Specific**
|
||||||
|
Located in `device-specific/` folder:
|
||||||
|
|
||||||
|
#### Device-Specific System Dashboard
|
||||||
|
- **Purpose**: Detailed system monitoring for a single selected device
|
||||||
|
- **Features**:
|
||||||
|
- Device selection via template variable
|
||||||
|
- Detailed CPU, memory, and disk metrics
|
||||||
|
- Network and disk I/O operations
|
||||||
|
- System status indicators
|
||||||
|
- Load average trends (1m, 5m, 15m)
|
||||||
|
- Enhanced visualizations with thresholds and color coding
|
||||||
|
|
||||||
|
### **📚 Legacy Dashboards**
|
||||||
|
Located in `legacy/` folder:
|
||||||
- `system-dashboard.json`: Original single-device system dashboard
|
- `system-dashboard.json`: Original single-device system dashboard
|
||||||
- `processes-dashboard.json`: Original single-device process dashboard
|
- `processes-dashboard.json`: Original single-device process dashboard
|
||||||
|
|
||||||
@@ -76,13 +94,20 @@ All multi-device dashboards include a `$device` template variable that allows:
|
|||||||
|
|
||||||
The variable automatically populates with available devices based on Prometheus metrics.
|
The variable automatically populates with available devices based on Prometheus metrics.
|
||||||
|
|
||||||
## Usage Tips
|
## Usage Guide
|
||||||
|
|
||||||
1. **Quick Overview**: Start with the multi-device system dashboard to get an overview of all devices
|
### Getting Started
|
||||||
2. **Detailed Analysis**: Use device-specific dashboards for in-depth analysis of a particular device
|
1. **Homepage First**: Visit `grafana.darksailor.dev` to see the homepage with device overview
|
||||||
3. **Process Monitoring**: Use the multi-device process dashboard to track resource-intensive processes across devices
|
2. **Dashboard Navigation**: Click on the colored tiles to access different dashboard categories
|
||||||
4. **Filtering**: Use the device template variable to focus on specific devices of interest
|
3. **Quick Status Check**: Use the device status table on the homepage for immediate health overview
|
||||||
|
|
||||||
|
### Dashboard Navigation Tips
|
||||||
|
1. **Multi-Device Comparison**: Start with multi-device dashboards to compare all systems
|
||||||
|
2. **Deep Dive Analysis**: Use device-specific dashboards for detailed single-device monitoring
|
||||||
|
3. **Process Troubleshooting**: Use multi-device process dashboard to identify resource issues
|
||||||
|
4. **Template Variables**: Use the device dropdown to filter by specific devices
|
||||||
5. **Time Ranges**: Adjust time ranges based on your monitoring needs (default: last 1 hour)
|
5. **Time Ranges**: Adjust time ranges based on your monitoring needs (default: last 1 hour)
|
||||||
|
6. **Folder Organization**: Browse dashboards by category using the folder structure
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
@@ -114,4 +139,25 @@ All dashboard queries use the `device=~"$device"` filter to support multi-device
|
|||||||
### Performance
|
### Performance
|
||||||
- Limit the number of devices selected simultaneously for better performance
|
- Limit the number of devices selected simultaneously for better performance
|
||||||
- Adjust refresh rates if dashboards become slow
|
- Adjust refresh rates if dashboards become slow
|
||||||
- Consider shorter time ranges for detailed analysis
|
- Consider shorter time ranges for detailed analysis
|
||||||
|
|
||||||
|
## Homepage Features
|
||||||
|
|
||||||
|
### Device Status Table
|
||||||
|
- Real-time overview of all monitored devices
|
||||||
|
- Color-coded status indicators (UP/DOWN)
|
||||||
|
- CPU, memory, and disk usage percentages
|
||||||
|
- System uptime tracking
|
||||||
|
- Automatically updates every 30 seconds
|
||||||
|
|
||||||
|
### Dashboard Categories
|
||||||
|
- **Blue**: Multi-Device System monitoring
|
||||||
|
- **Green**: Device-Specific detailed monitoring
|
||||||
|
- **Purple**: Multi-Device Process monitoring
|
||||||
|
- **Orange**: Legacy single-device dashboards
|
||||||
|
|
||||||
|
### Quick Actions
|
||||||
|
- **Prometheus Targets**: Direct link to check scrape target health
|
||||||
|
- **Dashboard Management**: Access to Grafana's dashboard browser
|
||||||
|
- **Data Sources**: Manage Prometheus and other data sources
|
||||||
|
- **Documentation**: Link to setup and usage documentation
|
||||||
161
nixos/mirai/services/grafana/STRUCTURE.md
Normal file
161
nixos/mirai/services/grafana/STRUCTURE.md
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
# Grafana Dashboard Structure
|
||||||
|
|
||||||
|
## Directory Layout
|
||||||
|
|
||||||
|
```
|
||||||
|
dotfiles/nixos/mirai/services/grafana/
|
||||||
|
├── README.md # Main documentation
|
||||||
|
├── STRUCTURE.md # This file - structure overview
|
||||||
|
├── homepage/
|
||||||
|
│ └── homepage-dashboard.json # Main homepage dashboard
|
||||||
|
├── multi-device/
|
||||||
|
│ ├── multi-device-system-dashboard.json # System metrics across devices
|
||||||
|
│ └── multi-device-processes-dashboard.json # Process monitoring across devices
|
||||||
|
├── device-specific/
|
||||||
|
│ └── device-specific-system-dashboard.json # Single device detailed view
|
||||||
|
└── legacy/
|
||||||
|
├── system-dashboard.json # Original system dashboard
|
||||||
|
└── processes-dashboard.json # Original process dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dashboard Hierarchy
|
||||||
|
|
||||||
|
```
|
||||||
|
🏠 Homepage (monitoring-homepage)
|
||||||
|
├── Device Status Overview Table
|
||||||
|
├── Quick Dashboard Links
|
||||||
|
└── Action Buttons
|
||||||
|
│
|
||||||
|
├── 📊 Multi-Device Monitoring/
|
||||||
|
│ ├── Multi-Device System (multi-device-system)
|
||||||
|
│ └── Multi-Device Processes (multi-device-processes)
|
||||||
|
│
|
||||||
|
├── 🔍 Device-Specific/
|
||||||
|
│ └── Device System Dashboard (device-system-${device})
|
||||||
|
│
|
||||||
|
└── 📚 Legacy Dashboards/
|
||||||
|
├── Legacy System (system-metrics)
|
||||||
|
└── Legacy Processes (process-metrics)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dashboard Features Matrix
|
||||||
|
|
||||||
|
| Dashboard | Device Filter | Comparison | Time Series | Status | Process Data |
|
||||||
|
|-----------|--------------|------------|-------------|---------|--------------|
|
||||||
|
| Homepage | ❌ | ✅ | ❌ | ✅ | ❌ |
|
||||||
|
| Multi-Device System | ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||||
|
| Multi-Device Processes | ✅ | ✅ | ✅ | ❌ | ✅ |
|
||||||
|
| Device-Specific | ✅ | ❌ | ✅ | ✅ | ❌ |
|
||||||
|
| Legacy System | ❌ | ❌ | ✅ | ✅ | ❌ |
|
||||||
|
| Legacy Processes | ❌ | ❌ | ✅ | ❌ | ✅ |
|
||||||
|
|
||||||
|
## User Journey Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
1. User visits grafana.darksailor.dev
|
||||||
|
↓
|
||||||
|
2. Homepage loads automatically
|
||||||
|
↓
|
||||||
|
3. User sees device status overview
|
||||||
|
↓
|
||||||
|
4. User clicks dashboard tile based on need:
|
||||||
|
│
|
||||||
|
├── Multi-Device System → Compare all devices
|
||||||
|
├── Device-Specific → Deep dive single device
|
||||||
|
├── Multi-Device Processes → Process monitoring
|
||||||
|
└── Legacy → Original dashboards
|
||||||
|
↓
|
||||||
|
5. User uses template variables to filter data
|
||||||
|
↓
|
||||||
|
6. User navigates between dashboards using links
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration Mapping
|
||||||
|
|
||||||
|
| Grafana Folder | File Path | Provision Path |
|
||||||
|
|----------------|-----------|----------------|
|
||||||
|
| Root | `homepage/` | `/etc/grafana/dashboards/homepage/` |
|
||||||
|
| Multi-Device Monitoring | `multi-device/` | `/etc/grafana/dashboards/multi-device/` |
|
||||||
|
| Device-Specific | `device-specific/` | `/etc/grafana/dashboards/device-specific/` |
|
||||||
|
| Legacy Dashboards | `legacy/` | `/etc/grafana/dashboards/legacy/` |
|
||||||
|
|
||||||
|
## Metrics Coverage
|
||||||
|
|
||||||
|
### System Metrics (Node Exporter - Port 9100)
|
||||||
|
- ✅ CPU usage and load average
|
||||||
|
- ✅ Memory utilization (used/total)
|
||||||
|
- ✅ Disk usage and I/O operations
|
||||||
|
- ✅ Network interface statistics
|
||||||
|
- ✅ SystemD service status
|
||||||
|
- ✅ System uptime and boot time
|
||||||
|
|
||||||
|
### Process Metrics (Process Exporter - Port 9256)
|
||||||
|
- ✅ CPU usage per process group
|
||||||
|
- ✅ Memory usage (resident/virtual)
|
||||||
|
- ✅ Process I/O operations (read/write)
|
||||||
|
- ✅ Process count and lifecycle
|
||||||
|
- ✅ Process resource trends
|
||||||
|
|
||||||
|
## Device Labels
|
||||||
|
|
||||||
|
| Device | Type | Architecture | Services |
|
||||||
|
|--------|------|--------------|----------|
|
||||||
|
| mirai | server | x86_64 | Grafana, Prometheus, Caddy |
|
||||||
|
| tsuba | server | aarch64 | Media services, NAS |
|
||||||
|
| ryu | desktop | x86_64 | Gaming, Development |
|
||||||
|
|
||||||
|
## Color Coding
|
||||||
|
|
||||||
|
### Dashboard Categories
|
||||||
|
- 🔵 **Blue**: Multi-Device System monitoring
|
||||||
|
- 🟢 **Green**: Device-Specific detailed monitoring
|
||||||
|
- 🟣 **Purple**: Multi-Device Process monitoring
|
||||||
|
- 🟠 **Orange**: Legacy single-device dashboards
|
||||||
|
|
||||||
|
### Status Indicators
|
||||||
|
- 🟢 **Green**: Service UP / Normal operation
|
||||||
|
- 🔴 **Red**: Service DOWN / Critical threshold
|
||||||
|
- 🟡 **Yellow**: Warning threshold
|
||||||
|
- 🔵 **Blue**: Information / Navigation
|
||||||
|
|
||||||
|
## Dashboard UIDs Reference
|
||||||
|
|
||||||
|
| Dashboard | UID | URL Path |
|
||||||
|
|-----------|-----|----------|
|
||||||
|
| Homepage | `monitoring-homepage` | `d/monitoring-homepage` |
|
||||||
|
| Multi-Device System | `multi-device-system` | `d/multi-device-system` |
|
||||||
|
| Multi-Device Processes | `multi-device-processes` | `d/multi-device-processes` |
|
||||||
|
| Device-Specific | `device-system-${device}` | `d/device-system-mirai` |
|
||||||
|
| Legacy System | `system-metrics` | `d/system-metrics` |
|
||||||
|
| Legacy Processes | `process-metrics` | `d/process-metrics` |
|
||||||
|
|
||||||
|
## Refresh Rates
|
||||||
|
|
||||||
|
- Homepage: 30 seconds
|
||||||
|
- Multi-Device dashboards: 30 seconds
|
||||||
|
- Device-Specific: 30 seconds
|
||||||
|
- Legacy dashboards: 30 seconds
|
||||||
|
|
||||||
|
## Template Variables
|
||||||
|
|
||||||
|
### Device Selection ($device)
|
||||||
|
- **Type**: Query variable
|
||||||
|
- **Query**: `label_values(up, device)`
|
||||||
|
- **Multi-select**: Yes (for multi-device dashboards)
|
||||||
|
- **Include All**: Yes
|
||||||
|
- **Current Values**: mirai, tsuba, ryu
|
||||||
|
|
||||||
|
## Quick Access URLs
|
||||||
|
|
||||||
|
- Homepage: `https://grafana.darksailor.dev/d/monitoring-homepage`
|
||||||
|
- Multi-Device System: `https://grafana.darksailor.dev/d/multi-device-system`
|
||||||
|
- Prometheus Targets: `https://prometheus.darksailor.dev/targets`
|
||||||
|
- Dashboard Browser: `https://grafana.darksailor.dev/dashboards`
|
||||||
|
|
||||||
|
## Maintenance Notes
|
||||||
|
|
||||||
|
- Dashboards auto-update from provisioned files
|
||||||
|
- New devices appear automatically when exporters are configured
|
||||||
|
- Template variables refresh every page load
|
||||||
|
- Dashboard folders are recreated on Grafana restart
|
||||||
|
- Homepage is set as default landing page for all users
|
||||||
956
nixos/mirai/services/grafana/homepage/homepage-dashboard.json
Normal file
956
nixos/mirai/services/grafana/homepage/homepage-dashboard.json
Normal file
@@ -0,0 +1,956 @@
|
|||||||
|
{
|
||||||
|
"annotations": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"builtIn": 1,
|
||||||
|
"datasource": {
|
||||||
|
"type": "grafana",
|
||||||
|
"uid": "-- Grafana --"
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": true,
|
||||||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||||||
|
"name": "Annotations & Alerts",
|
||||||
|
"type": "dashboard"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"editable": true,
|
||||||
|
"fiscalYearStartMonth": 0,
|
||||||
|
"graphTooltip": 0,
|
||||||
|
"id": null,
|
||||||
|
"links": [],
|
||||||
|
"liveNow": false,
|
||||||
|
"panels": [
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"id": 1000,
|
||||||
|
"panels": [],
|
||||||
|
"title": "Infrastructure Monitoring Overview",
|
||||||
|
"type": "row"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"options": {
|
||||||
|
"0": {
|
||||||
|
"color": "red",
|
||||||
|
"index": 1,
|
||||||
|
"text": "DOWN"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"color": "green",
|
||||||
|
"index": 0,
|
||||||
|
"text": "UP"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "value"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "green",
|
||||||
|
"value": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "CPU %"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "max",
|
||||||
|
"value": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "min",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Memory %"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "max",
|
||||||
|
"value": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "min",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Disk %"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "max",
|
||||||
|
"value": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "min",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Uptime"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "s"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 1
|
||||||
|
},
|
||||||
|
"id": 1,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": true
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"expr": "up{job=\"node\"}",
|
||||||
|
"format": "table",
|
||||||
|
"instant": true,
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "",
|
||||||
|
"refId": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"expr": "100 - (avg by (device) (irate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)",
|
||||||
|
"format": "table",
|
||||||
|
"instant": true,
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "",
|
||||||
|
"refId": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"expr": "((node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / node_memory_MemTotal_bytes) * 100",
|
||||||
|
"format": "table",
|
||||||
|
"instant": true,
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "",
|
||||||
|
"refId": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"expr": "100 - ((node_filesystem_avail_bytes{mountpoint=\"/\",fstype!=\"tmpfs\"} * 100) / node_filesystem_size_bytes{mountpoint=\"/\",fstype!=\"tmpfs\"})",
|
||||||
|
"format": "table",
|
||||||
|
"instant": true,
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "",
|
||||||
|
"refId": "D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "prometheus"
|
||||||
|
},
|
||||||
|
"expr": "time() - node_boot_time_seconds",
|
||||||
|
"format": "table",
|
||||||
|
"instant": true,
|
||||||
|
"intervalFactor": 1,
|
||||||
|
"legendFormat": "",
|
||||||
|
"refId": "E"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Device Status Overview",
|
||||||
|
"transformations": [
|
||||||
|
{
|
||||||
|
"id": "merge",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "organize",
|
||||||
|
"options": {
|
||||||
|
"excludeByName": {
|
||||||
|
"Time": true,
|
||||||
|
"__name__": true,
|
||||||
|
"instance": true,
|
||||||
|
"job": true,
|
||||||
|
"fstype": true,
|
||||||
|
"mountpoint": true,
|
||||||
|
"mode": true
|
||||||
|
},
|
||||||
|
"indexByName": {},
|
||||||
|
"renameByName": {
|
||||||
|
"Value #A": "Status",
|
||||||
|
"Value #B": "CPU %",
|
||||||
|
"Value #C": "Memory %",
|
||||||
|
"Value #D": "Disk %",
|
||||||
|
"Value #E": "Uptime",
|
||||||
|
"device": "Device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 9
|
||||||
|
},
|
||||||
|
"id": 1001,
|
||||||
|
"panels": [],
|
||||||
|
"title": "System Monitoring Dashboards",
|
||||||
|
"type": "row"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "blue",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 4,
|
||||||
|
"w": 8,
|
||||||
|
"x": 0,
|
||||||
|
"y": 10
|
||||||
|
},
|
||||||
|
"id": 2,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Dashboard,Description\nMulti-Device System,\"Compare CPU, memory, disk & network across all devices\""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Multi-Device System Dashboard",
|
||||||
|
"url": "d/multi-device-system"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 4,
|
||||||
|
"w": 8,
|
||||||
|
"x": 8,
|
||||||
|
"y": 10
|
||||||
|
},
|
||||||
|
"id": 3,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Dashboard,Description\nDevice-Specific System,\"Detailed monitoring for individual devices with enhanced visualizations\""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Device-Specific Dashboard",
|
||||||
|
"url": "d/device-system-${device}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "purple",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 4,
|
||||||
|
"w": 8,
|
||||||
|
"x": 16,
|
||||||
|
"y": 10
|
||||||
|
},
|
||||||
|
"id": 4,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Dashboard,Description\nMulti-Device Processes,\"Monitor processes across all devices with resource usage tracking\""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Multi-Device Process Dashboard",
|
||||||
|
"url": "d/multi-device-processes"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 14
|
||||||
|
},
|
||||||
|
"id": 1002,
|
||||||
|
"panels": [],
|
||||||
|
"title": "Legacy Dashboards",
|
||||||
|
"type": "row"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "orange",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 4,
|
||||||
|
"w": 12,
|
||||||
|
"x": 0,
|
||||||
|
"y": 15
|
||||||
|
},
|
||||||
|
"id": 5,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Dashboard,Description\nLegacy System,\"Original single-device system monitoring dashboard\""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Legacy System Dashboard",
|
||||||
|
"url": "d/system-metrics"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "orange",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 4,
|
||||||
|
"w": 12,
|
||||||
|
"x": 12,
|
||||||
|
"y": 15
|
||||||
|
},
|
||||||
|
"id": 6,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Dashboard,Description\nLegacy Processes,\"Original single-device process monitoring dashboard\""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Legacy Process Dashboard",
|
||||||
|
"url": "d/process-metrics"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 19
|
||||||
|
},
|
||||||
|
"id": 1003,
|
||||||
|
"panels": [],
|
||||||
|
"title": "Quick Actions",
|
||||||
|
"type": "row"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 3,
|
||||||
|
"w": 6,
|
||||||
|
"x": 0,
|
||||||
|
"y": 20
|
||||||
|
},
|
||||||
|
"id": 7,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Action\nView Prometheus Targets"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Open Prometheus Targets",
|
||||||
|
"url": "https://prometheus.darksailor.dev/targets",
|
||||||
|
"targetBlank": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "yellow",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 3,
|
||||||
|
"w": 6,
|
||||||
|
"x": 6,
|
||||||
|
"y": 20
|
||||||
|
},
|
||||||
|
"id": 8,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Action\nManage Dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Browse All Dashboards",
|
||||||
|
"url": "dashboards"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "light-blue",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 3,
|
||||||
|
"w": 6,
|
||||||
|
"x": 12,
|
||||||
|
"y": 20
|
||||||
|
},
|
||||||
|
"id": 9,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Action\nData Sources"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "Manage Data Sources",
|
||||||
|
"url": "datasources"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"align": "center",
|
||||||
|
"cellOptions": {
|
||||||
|
"type": "color-background"
|
||||||
|
},
|
||||||
|
"inspect": false
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "dark-green",
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 3,
|
||||||
|
"w": 6,
|
||||||
|
"x": 18,
|
||||||
|
"y": 20
|
||||||
|
},
|
||||||
|
"id": 10,
|
||||||
|
"options": {
|
||||||
|
"cellHeight": "lg",
|
||||||
|
"footer": {
|
||||||
|
"countRows": false,
|
||||||
|
"fields": "",
|
||||||
|
"reducer": ["sum"],
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
"showHeader": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "testdata",
|
||||||
|
"uid": "PD8C576611E62080A"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"scenarioId": "csv_content",
|
||||||
|
"stringInput": "Action\nDocumentation"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "",
|
||||||
|
"transformations": [],
|
||||||
|
"type": "table",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "View Setup Documentation",
|
||||||
|
"url": "https://github.com/uttarayan21/dotfiles/tree/main/nixos/mirai/services/grafana",
|
||||||
|
"targetBlank": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"refresh": "30s",
|
||||||
|
"schemaVersion": 30,
|
||||||
|
"style": "dark",
|
||||||
|
"tags": [
|
||||||
|
"homepage",
|
||||||
|
"overview",
|
||||||
|
"monitoring"
|
||||||
|
],
|
||||||
|
"templating": {
|
||||||
|
"list": []
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"from": "now-5m",
|
||||||
|
"to": "now"
|
||||||
|
},
|
||||||
|
"timepicker": {},
|
||||||
|
"timezone": "",
|
||||||
|
"title": "Monitoring Hub - Homepage",
|
||||||
|
"uid": "monitoring-homepage",
|
||||||
|
"version": 1
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
{...}: {
|
{ ... }:
|
||||||
|
{
|
||||||
services = {
|
services = {
|
||||||
hardware.openrgb.enable = false;
|
hardware.openrgb.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user