Rightsizing von Endpunkten
Zusammenfassung
Die Rightsizing-API liefert Rightsizing-Empfehlungen für Ressourcen aus unterstützten Diensten. Für jede dieser Ressourcen gibt die API mehrere Optimierungsempfehlungen sowie beschreibende Informationen wie die aktuelle Instanzgröße, die Kosten, den Prozentsatz des Leerlaufs und die empfohlenen Maßnahmen zurück. Die maximale Anzahl von Ressourcen, die durch einen API-Aufruf zurückgegeben werden können, beträgt 50.000. Lesen Sie mehr über Rightsizing.
Endpunkte
Diese Endpunkte sind schreibgeschützt und werden verwendet, um eine Liste von Empfehlungen zur Größenanpassung Ihrer Cloud-Ressourcen für diese unterstützten Dienste zu erhalten:
Amazon Web Services
EC2: /rightsizing/aws/recommendations/ec2
EC2 ASG: /rightsizing/aws/recommendations/ec2-asg
EBS : /rightsizing/aws/empfehlungen/ebs
S3: /rightsizing/aws/recommendations/s3
RDS : /rightsizing/aws/empfehlungen/rds
Redshift: /rightsizing/aws/unterausgelastet/redshift
Lambda: /rightsizing/aws/empfehlungen/lambda
Microsoft Azure
Compute (VMs) : /rightsizing/azure/empfehlungen/compute
Verwaltete Festplatte : /rightsizing/azure/empfehlungen/festplatte
SQL Database : /rightsizing/azure/empfehlungen/sql
Google Cloud Plattform
GCE: /rightsizing/gcp/empfehlungen/compute
GCE MIG: /rightsizing/gcp/empfehlungen/compute-mig
BIP: /rightsizing/gcp/empfehlungen/disk
Container
Arbeitsbelastungen: /rightsizing/containers/empfehlungen/workloads
"meta": {
"totalCount": 4783,
"aggregates": [
{
"basis": "On-Demand",
"cost": 337029.28,
"idleSavings": 930.84,
"rightsizeSavings": 106857.60,
"optimizedSavings": 229240.84
}
]
}Die folgenden Endpunkte werden für Snooze- und Un-Snooze-Rechteskalierungsempfehlungen für Ihre Cloud-Ressourcen verwendet, wobei " {service} " durch den Pfad des Endpunkts des Dienstes ersetzt werden sollte:
Snooze/Un-Snooze-Empfehlungen
Schlummern: /Rechtsprechung/ {vendor} /Empfehlungen/ {service} /Schlummern
Un-Schlummern: /Rightsizing/ {vendor} /Empfehlungen/ {service} /Un-Snooze
Weitere Informationen über die Verwendung der API zum Schlummern/Unschlummern von Empfehlungen finden Sie im Abschnitt "Schlummern/Unschlummern von Empfehlungen" auf dieser Seite.
Anfrage-Parameter
| Argument | Beschreibung |
|---|---|
|
Die verwendete Kostenbasis. on-demandDie Werte sind oder Standard = Hinweis: Die Kostenbasis |
|
Der Rückblickzeitraum in Tagen, der für die Berechnung der Empfehlungen verwendet wird. Gültige Werte sind: Hinweis: Nur |
|
Filtern Sie die Ressourcen nach einem Attribut Ihrer Wahl. Beispiel: |
|
Wird zusammen mit |
|
Legen Sie eine maximale Anzahl von Empfehlungen fest, die mit jeder Ressource geliefert werden sollen. Beispiel: |
|
Wird zusammen mit |
|
Produktname, Beispiel ec2, ebs, s3 |
|
Sortieren Sie die Ressourcen nach einem Attribut Ihrer Wahl. Lesen Sie mehr über das Sortieren. Beispiel: Standardwert: |
|
Quellsystem für Nutzungsdaten Beispiele: |
|
Nach einer Liste von Lieferantenkonten filtern. Trennen Sie die Konten durch Kommata. Beispiel: |
|
Die Nummer der Ansicht Wenn sie leer ist, ist die Ansicht Ihre Standardansicht. |
options |
String-Wert, der angibt, welche Empfehlungen zurückgegeben werden sollen, wenn die Ressource im Schlummerzustand ist. Gültige Werte sind ONLY_SNOOZED , das nur Empfehlungen für Ressourcen im Schlummerzustand zurückgibt, oder INCLUDE_SNOOZED , das Empfehlungen sowohl für Ressourcen im Schlummerzustand als auch für Ressourcen im Nicht-Schlummerzustand zurückgibt. Wenn Sie "option" weglassen, werden nur nicht gesnoozte Ressourcen zurückgegeben. (Standard) |
Das Ressourcenobjekt
Zusammenfassung der aktuellen Ressourcen
Das Ergebnisobjekt enthält eine Liste aller übereinstimmenden Ressourcen. Dies sind die zusammenfassenden Daten, die in jedem dieser Dokumente enthalten sind:
service (string) - Name des Empfehlungsdienstes ( ec2-recs, eb2,rec, etc)
name (string) - Name der Ressource. Stammt aus dem Namensschild
resourceIdentifier (string) - Der eindeutige Bezeichner, den der Anbieter für die Ressource bereitstellt
vendorAccountId (string) - Der eindeutige Bezeichner für das Konto, in dem die Ressource existiert
tagMappings (Array) - Liste von Tag-Schlüssel- und Wertepaaren von Tag-Zuordnungen
tag (Zeichenkette) - Name des nativen/anbietereigenen Tags
tagName (string) - Name/Schlüssel für die Tag-Zuordnung
vendorTagValue (string) - Wert für diese Markierung
availabilityZone (string) - Die Verfügbarkeitszone, in der sich die Ressource befindet
provider (string) - Der Quellanbieter, z. B. NATIVE
region (string) - Die Region, in der sich die Ressource befindet
os (string) - Das Betriebssystem der Ressource
nodeType (string) - Für EC2 ist dies der Instanztyp der Ressource
unitPrice (Zahl) - Der Satz pro Einheit
effectiveHourly (Zahl) - Der für die Ressource berechnete Stundensatz auf der Grundlage der effektiven Sätze. ENTFERNT. Stattdessen wird unter
costBasis=effective die Adresse unitPrice angezeigt.
totalSpend (Zahl) - Die gesamten Kosten für die Ressource in den letzten 10 oder 30 Tagen
iopsMax (Zahl) - maximale IOPS-Zahl während des Zeitraums
throughputMax (Zahl) - maximaler Durchsatz MB/S während des Zeitraums
idle (Zahl) - gibt den Prozentsatz der Zeit an, die die Ressource im Leerlauf war
localCapacity (Zahl) - lokaler EC2 Instanzspeicher in GB. Typen ohne zugehörigen Speicher haben den Wert -1
localDrives (Zahl) - Anzahl der an die Instanz angeschlossenen lokalen Laufwerke. Typen ohne zugehörigen Speicher haben den Wert -1
cpuCapacity (Zahl) - Anzahl der CPU-Kerne für die aktuelle Instanz
memoryCapacity (Zahl) - Speicherkapazität für die aktuelle Instanz in GB
networkCapacity (Zahl) - Netzkapazität für die aktuelle Instanz in GB
lastSeen (datetime) - Datum, an dem die Ressource zuletzt gesehen wurde
tenancy (string) - veraltet
hoursRunning (Anzahl) - laufende Stunden innerhalb des Zeitraums
cpuMax (Zahl) - maximaler CPU-Prozentsatz während des Zeitraums
memoryMax (Zahl) - maximaler Speicherprozentsatz während des Zeitraums
defaultSameFamily (boolesch) - dieselbe Instanzfamilie verwenden
defaultCurrentGen (boolesch) - aktuelle Generationen verwenden
defaultMemoryFit (boolesch) - gleiche Speicherspezifikation verwenden
instanceTypeAsg (string) - Liste der Instanztypen, die in der Auto-Skalierungsgruppe enthalten sind
utilMemoryMax (Zahl) - maximaler Speicheranteil des Lambda während des Zeitraums
utilDurationMax (Zahl) - maximale Laufzeit des Lambdas während des Zeitraums
billedMilliseconds (Zahl) - Gesamtlaufzeit des Lambda während des Zeitraums
sourceConfiguredMemory (Zahl) - der konfigurierte Speicher des Lambdas
sourceProcessorArchitectureFamily (Zahl) - die Prozessorarchitekturfamilie für den Lambda
Empfehlungsliste
Für jede aufgelistete Ressource gibt es ein Empfehlungsattribut, das eine zugehörige Liste von Empfehlungsobjekten darstellt. Dies sind die Merkmale der einzelnen Empfehlungen:
recommendations (array) - Eine Liste von Empfehlungen für die Ressource. Nachstehend beschrieben
action (string) - welche Aktion soll durchgeführt werden: Rightsize, terminate, autoscale
preferenceOrder (Zahl) - veraltet
defaultsOrder (Zahl) - veraltet
nodeType (string) - der Typ der Zielinstanz
localCapacity (Zahl) - lokaler EC2 Instanzspeicher in GB für die Zielressource
localDrives (Zahl) - Anzahl der an die Zielinstanz angeschlossenen lokalen Laufwerke
cpuCapacity (Zahl) - Anzahl der CPU-Kerne für die Zielinstanz
memoryCapacity (Zahl) - Speicherkapazität für die Zielinstanz in GB
networkCapacity (Zahl) - Netzkapazität der Zielinstanz
previousGenTarget (boolesch) - Ist die Zielinstanz ein Typ der vorherigen Generation?
currentGen (boolesch) - Ist die Zielinstanz ein Typ der aktuellen Generation?
sameMemory (boolesch) - dieselbe Speichergröße wie die Quellinstanz verwenden
sameFamily (boolesch) - Gehört der Zielinstanztyp zur gleichen Familie?
unitPrice (Zahl) - Der Satz pro Einheit
cpuRatio (Anzahl) - Verhältnis der CPU-Kerne (Ziel/Original)
memoryRatio (Zahl) - Verhältnis der Speicherkapazität (Ziel/Original)
diskXPutCapacity (Zahl) - Verhältnis der Speicherkapazität (Ziel/Original)
networkRatio (Zahl) - Verhältnis der Netzdurchsatzkapazität (Ziel/Original)
cpuRisk (Zahl) - Risiko in Bezug auf die CPU - Wert zwischen 0 und 5 TBC. 0 bedeutet Nullrisiko
memoryRisk (Zahl) - Risiko in Bezug auf das Gedächtnis - Wert zwischen 0 und 5 TBC
diskRisk (Zahl) - Risiko des lokalen Festplattendurchsatzes - Wert zwischen 0 und 5 TBC
networkRisk (Zahl) - Risiko in Bezug auf den Netzdurchsatz - Wert zwischen 0 und 5 TBC
risiko (Zahl) - Wert von 0,1,2,3,4 oder 5. 0 bedeutet kein Risiko. 5 ist das höchste Risiko
targetConfiguredMemory (Zahl) - der konfigurierte Zielspeicher des Lambda
savingsPct (Zahl) - Einsparungen in Prozent durch den Wechsel zum Zieltyp
einsparungen (Anzahl) - Einsparungen in den letzten 10 oder 30 Tagen, wenn Sie die Zielart verwendet haben
inDefaults - abgelehnt
memoryFit abgelehnt
persistentStorageAdded TBC - wir haben EBS Kosten für etwa c3 hinzugefügt, um c4
snoozed (boolesch) - ist die Empfehlung im Schlummermodus?
Beispielobjekt
"result": [
{
"service": "ec2-recs",
"name": "My EC2 Instance",
"resourceIdentifier": "i-5b234a4fae415b77f",
"vendorAccountId": "458273444843",
"tagsMappings: [
{
"tagName": "tag_user_Environment",
"vendorTagValue": "production"
},
{
"tagName": "tag_user_Name",
"vendorTagValue": "My EC2 Instance"
}
],
"availabilityZone": "ap-southeast-2b",
"provider": "NATIVE"
"region": "ap-southeast-2",
"os": "Linux",
"nodeType": "i3.8xlarge",
"unitPrice": 1.81,
"totalSpend": 434.11,
"idle": 0,
"localCapacity": 7600,
"localDrives": 4,
"cpuCapacity": 32,
"memoryCapacity": 244,
"networkCapacity": 10000,
"lastSeen": "2019-10-31T23:00:00Z",
"tenancy" : "default",
"hoursRunning": 240,
"cpuMax": 6,
"memoryMax": 6,
"recommendations": [
{
"action": "Rightsize",
"preferenceOrder": 1,
"defaultsOrder": 1,
"nodeType": "x1e.xlarge",
"localCapacity": 120,
"localDrives": 1,
"cpuCapacity": 4,
"memoryCapacity": 122,
"previousGenTarget": false,
"currentGen": true,
"sameMemory": false,
"sameFamily": false,
"unitPrice": 0.83,
"cpuRatio": 0.13,
"memoryRatio": 0.5,
"diskXPutCapacity": 100,
"networkRatio": 1,
"cpuRisk": 0,
"memoryRisk": 0,
"diskRisk": 0,
"networkRisk": 0,
"risk": 0,
"savingsPct": 54,
"savings": 233.95,
"inDefaults": true,
"memoryFit": false,
"persistentStorageAdded": false,
"snoozed": false
}
],
"defaultSameFamily": false,
"defaultCurrentGen": true,
"defaultMemoryFit": false
}
]
Einige wichtige Attribute
Einige Eigenschaften sind besonders hervorzuheben
risk: Dies ist das abgestufte Risiko für eine einzelne Empfehlung. risiko kann einen Wert von 0, 1, 2, 3, 4 oder 5 annehmen. 0 bedeutet, dass wir davon ausgehen, dass die Empfehlung genügend Spielraum für Ihre Ressource hat, ohne dass es zu Überschreitungen kommt. 1 bis 5 bedeuten ein zunehmendes Risiko, dass die Leistung beeinträchtigt werden könnte. Beachten Sie, dass es sowohl eine Gesamtrisikobewertung als auch individuelle Bewertungen für CPU, Netzwerk, Speicher und Festplatte gibt.rank: Die Rangfolge basiert auf einem Gruppierungssystem für Risiko und Ersparnis. Die ranghöchste Empfehlung wird von der Kohorte mit dem geringsten Risiko abgegeben. Aus dieser Gruppe wird dann diejenige mit den höchsten Einsparungen ausgewählt. Der nächste in der Rangfolge kommt aus der Kohorte mit dem zweitniedrigsten Risiko und wiederum den höchsten Einsparungen. Die Rangfolge wird als solche festgelegt, indem diese Risikokohorten so lange durchlaufen werden, bis alle Empfehlungen die gleiche Rangfolge aufweisen. Siehe besondere Hinweise am Ende der Seite für zusätzliche Ranglistenoptionen.
Beispiele
Vollständige Liste der 10-Tage-Datensätze EC2 Empfehlungen
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ec2?limit=5&maxRecsPerResource=1&offset=0&duration=ten-day" -u api-token:
Vollständige Liste der 30-Tage-Datensätze EBS Empfehlungen
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ebs?limit=5&maxRecsPerResource=1&offset=0&duration=thirty-day" -u apikey:
Geben Sie mir nur die Standardempfehlung pro Ressource
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ec2?rank=default&maxRecsPerResource=1&sort=-recommendations.savings" -u apikey:
Geben Sie mir alle Empfehlungen für eine bestimmte Ressource/Instanz-ID
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ec2?filters=resourceIdentifier==i-ae3f332111" -u apikey:
Geben Sie mir Empfehlungen nur für bestimmte Konten
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ec2?limit=5&offset=0&vendorAccountIds=999988887777&maxRecsPerResource=1&basis=on-demand&duration=ten-day" -u apikey:
Meine Empfehlungen anhand von Tags filtern
curl "https://api.cloudability.com/v3/rightsizing/aws/recommendations/ec2?filters=<tag_key>==<tag_value>" -u apikey:
Besondere Hinweise
Um eine weitere Ebene zu diesem Ranking-System hinzuzufügen, können Sie rank=default als Abfrageparameter hinzufügen. Dabei werden 2 zusätzliche Attribute priorisiert, memoryFit und currentGen , bevor die Risiko/Spar-Routine durchlaufen wird. currentGen würde zum Beispiel sicherstellen, dass m4s (eine aktuelle Generation) vor m1s (vorherige Generation) empfohlen wird. Empfehlungen können auf zwei verschiedene Arten memoryFit sein: 1) Cloudability hat die Speicherdaten erhalten und eine Übereinstimmung festgestellt, oder 2) Cloudability hat die Speicherdaten nicht erhalten, so dass memoryFit nur Instanztypen einbezieht, die einen passenden Speicher oder mehr haben.
Schlummern/ Nicht-Schlummern-Aufzeichnungen
Die folgenden Endpunkte werden für Snooze- und Un-Snooze-Empfehlungen zur Größenanpassung Ihrer Cloud-Ressourcen verwendet, wobei " {vendor} " durch den Pfad des Endpunkts des Cloud-Anbieters und " {service} " durch den Pfad des Endpunkts des Dienstes ersetzt werden sollte.
Schlummern: /Rechtsprechung/ {vendor} /Empfehlungen/ {service} /Schlummern
Dadurch werden Snooze-Einträge mit dem angegebenen Ablaufdatum hinzugefügt oder aktualisiert, und der Snooze-Wert für die Ressourcenempfehlung wird auf true gesetzt.
Die folgenden Werte sind spezifisch für Snooze/Un-Snooze:
expiresOn (Datum) - Das Snooze-Ablaufdatum im Format jjjj-mm-tt oder der Wert "nie", um eine unbegrenzte Snoozezeit festzulegen.
resources (array) - Eine Zuordnung von Konto-IDs zu einer Liste von Ressourcen-IDs, für die Empfehlungen in den Schlummermodus versetzt werden sollen.
Beispiel: Einzelne Ressourcen schlummern EC2
curl -X POST https://api.cloudability.com/v3/rightsizing/AWS/recommendations/EC2/snooze \\
-H 'Content-Type: application/json' \\
-u '[auth_token]:' \\
-d @-
{
"expiresOn": "2024-11-24",
"resources": {
"123456789": ["resource_12345", "resource_123456"],
"111112222": ["resource_6789"]
}
}
EOF
Beispiel: Snooze-Ressourcen, die einem Filter entsprechen
curl -X POST https://api.cloudability.com/v3/rightsizing/AWS/recommendations/EC2/snooze \\
-H 'Content-Type: application/json' \\
-u '[auth_token]:' \\
-d @-
{
"expiresOn": "never",
"vendorAccountIds": [123456789, 111112222],
"filters": [
"region=ap-southeast-2",
"tag_user_Environment=staging"
]
}
- Un-Schlummern: /Rightsizing/ {vendor} /Empfehlungen/ {service} /Un-Snooze.
Im Wesentlichen das gleiche Format wie der Snooze-Endpunkt, aber ohne Ablaufdatum. Entfernt alle Verfallsdaten und setzt den Snooze-Wert für die Ressourcenempfehlung auf false.
Beispiel: Einzelne Ressourcen entschlummern
curl -X POST https://api.cloudability.com/v3/rightsizing/AWS/recommendations/EC2/unsnooze \\
-H 'Content-Type: application/json' \\
-u '[auth_token]:' \\
-d @-
{
"resources": {
"123456789": ["resource_12345", "resource_123456"],
"111112222": ["resource_6789"]
}
}
Beispiel: Entschlummern von Ressourcen, die einem Filter entsprechen
curl -X POST https://api.cloudability.com/v3/rightsizing/AWS/recommendations/EC2/snooze \\
-H 'Content-Type: application/json' \\
-u '[auth_token]:' \\
-d @-
{
"vendorAccountIds": [123456789, 111112222],
"filters": [
"region=ap-southeast-2",
"tag_user_Environment=staging"
]
}