Hi,
Anyone has a sample powershell script to fetch the data from aws to solarwinds for monitoring purpose.
here some sample
# Configuration$SolarWindsApiUrl = "https://your-solarwinds-server/api/your-api-endpoint"$SolarWindsApiKey = "your-api-key"$CloudWatchRegion = "us-east-1" # AWS region where CloudWatch data is stored$MetricName = "CPUUtilization" # Example metric to fetch from CloudWatch$Namespace = "AWS/EC2" # Example namespace for EC2 metrics$InstanceId = "i-0123456789abcdef0" # Example EC2 instance ID# Function to fetch AWS CloudWatch datafunction Get-AWSCloudWatchData { param ( [string]$MetricName, [string]$Namespace, [string]$InstanceId ) # Install AWS PowerShell module if not already installed if (-not (Get-Module -Name AWSPowerShell -ErrorAction SilentlyContinue)) { Install-Module -Name AWSPowerShell -Force -AllowClobber } # Import AWS PowerShell module Import-Module AWSPowerShell # Set AWS credentials (you can also use IAM roles or environment variables) Set-AWSCredentials -AccessKey "your-access-key" -SecretKey "your-secret-key" -StoreAs "default" # Get CloudWatch metrics data $metrics = Get-CWMetricStatistics -Namespace $Namespace -MetricName $MetricName -StartTime (Get-Date).AddMinutes(-5) -EndTime (Get-Date) -Period 300 -Dimensions @{ Name = "InstanceId"; Value = $InstanceId } -Region $CloudWatchRegion return $metrics}# Function to send data to SolarWinds via APIfunction Send-ToSolarWinds { param ( [string]$ApiUrl, [string]$ApiKey, [object]$Data ) # Convert data to JSON $jsonData = $Data | ConvertTo-Json try { # Send data to SolarWinds API $response = Invoke-RestMethod -Uri $ApiUrl -Headers @{ "Authorization" = "Basic $ApiKey" } -Method Post -ContentType "application/json" -Body $jsonData Write-Output "Data sent successfully to SolarWinds." Write-Output "Response from SolarWinds API: $($response | ConvertTo-Json -Depth 5)" } catch { Write-Error "Failed to send data to SolarWinds API. $_" }}# Main script# Get AWS CloudWatch data$cloudWatchData = Get-AWSCloudWatchData -MetricName $MetricName -Namespace $Namespace -InstanceId $InstanceId# Send data to SolarWindsSend-ToSolarWinds -ApiUrl $SolarWindsApiUrl -ApiKey $SolarWindsApiKey -Data $cloudWatchData
Configure SolarWinds API Endpoint and Key:
$SolarWindsApiUrl
$SolarWindsApiKey
Configure AWS Credentials:
"your-access-key"
"your-secret-key"
Configure AWS CloudWatch Parameters:
$MetricName
$Namespace
$InstanceId
Run the Script:
.ps1