AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
The CreateScraper operation creates a scraper to collect metrics. A scraper
pulls metrics from Prometheus-compatible sources and sends them to your Amazon Managed
Service for Prometheus workspace. You can configure scrapers to collect metrics from
Amazon EKS clusters, Amazon MSK clusters, or from VPC-based sources that support DNS-based
service discovery. Scrapers are flexible, and can be configured to control what metrics
are collected, the frequency of collection, what transformations are applied to the
metrics, and more.
An IAM role will be created for you that Amazon Managed Service for Prometheus uses to access the metrics in your source. You must configure this role with a policy that allows it to scrape metrics from your source. For Amazon EKS sources, see Configuring your Amazon EKS cluster in the Amazon Managed Service for Prometheus User Guide.
The scrapeConfiguration parameter contains the base-64 encoded YAML configuration
for the scraper.
When creating a scraper, the service creates a Network Interface in each Availability
Zone that are passed into CreateScraper through subnets. These network
interfaces are used to connect to your source within the VPC for scraping metrics.
For more information about collectors, including what metrics are collected, and how to configure the scraper, see Using an Amazon Web Services managed collector in the Amazon Managed Service for Prometheus User Guide.
For .NET Core this operation is only available in asynchronous form. Please refer to CreateScraperAsync.
Namespace: Amazon.PrometheusService
Assembly: AWSSDK.PrometheusService.dll
Version: 3.x.y.z
public abstract CreateScraperResponse CreateScraper( CreateScraperRequest request )
Container for the necessary parameters to execute the CreateScraper service method.
| Exception | Condition |
|---|---|
| AccessDeniedException | You do not have sufficient access to perform this action. |
| ConflictException | The request would cause an inconsistent state. |
| InternalServerException | An unexpected error occurred during the processing of the request. |
| ResourceNotFoundException | The request references a resources that doesn't exist. |
| ServiceQuotaExceededException | Completing the request would cause a service quota to be exceeded. |
| ThrottlingException | The request was denied due to request throttling. |
| ValidationException | The input fails to satisfy the constraints specified by an Amazon Web Services service. |
var client = new AmazonPrometheusServiceClient();
var response = client.CreateScraper(new CreateScraperRequest
{
Alias = "alias",
ClientToken = "token",
Destination = new Destination { AmpConfiguration = new AmpConfiguration { WorkspaceArn = "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" } },
ScrapeConfiguration = new ScrapeConfiguration { ConfigurationBlob = new MemoryStream(blob) },
Source = new Source { EksConfiguration = new EksConfiguration {
ClusterArn = "arn:aws:eks:us-west-2:123456789012:cluster/example",
SecurityGroupIds = new List<string> {
"sg-abc123"
},
SubnetIds = new List<string> {
"subnet-abc123"
}
} },
Tags = new Dictionary<string, string> {
{ "exampleTag", "exampleValue" }
}
});
string arn = response.Arn;
string scraperId = response.ScraperId;
ScraperStatus status = response.Status;
Dictionary<string, string> tags = response.Tags;
var client = new AmazonPrometheusServiceClient();
var response = client.CreateScraper(new CreateScraperRequest
{
Alias = "alias",
ClientToken = "token",
Destination = new Destination { AmpConfiguration = new AmpConfiguration { WorkspaceArn = "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" } },
ScrapeConfiguration = new ScrapeConfiguration { ConfigurationBlob = new MemoryStream(blob) },
Source = new Source { VpcConfiguration = new VpcConfiguration {
SecurityGroupIds = new List<string> {
"sg-abc123"
},
SubnetIds = new List<string> {
"subnet-abc123"
}
} },
Tags = new Dictionary<string, string> {
{ "exampleTag", "exampleValue" }
}
});
string arn = response.Arn;
string scraperId = response.ScraperId;
ScraperStatus status = response.Status;
Dictionary<string, string> tags = response.Tags;
.NET Framework:
Supported in: 4.7.2 and newer