# Metric Collection

Metric Collection is the process of scraping metrics from applications running in Kubernetes pods using Prometheus.

## Collecting container metrics based on pod annotations

&#x20;Kubernetes Pod Annotations are used to mark pods as targets for metric collection. Set the value to true to enable metric scraping for containers inside the pod. You can add the following annotation:

```yaml
prometheus.io/scrape: "true" 
prometheus.io/port: "8000"
prometheus.io/path: /metrics
```

There are two ways to enable metric collection:

### &#x20;1. Through pod definition

Annotate workloads (e.g., Deployment) to enable metric collection:

```yaml
spec:
 template:
  metadata:
    annotations:
      prometheus.io/scrape: "true" 
      prometheus.io/port: "8000"
      prometheus.io/path: /metrics
```

### 2. Through running pods

This is a temporary method that works on running pods. The annotation will be reverted after the pod is rolled out or restarted.

```bash
kubectl -n <namespace> annotate pod <pod_name> prometheus.io/scrape="true" 
kubectl -n <namespace> annotate pod <pod_name> prometheus.io/port="8080"
kubectl -n <namespace> annotate pod <pod_name> prometheus.io/path="/metrics"
```
