Écrire et exécuter des agrégations de métriques et de buckets

Cheat Sheet

curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @logs.json

GET _cat/nodes?v

GET _cat/indices?v

### Recherche tous
GET logs/_search


### Recherche tout les clients unique
GET logs/_search
{
    "aggs": {
        "unique_client": {
            "cardinality": {
                "field": "clientip"
            }
        }
    }
}


GET logs/_search
{
    "aggs": {
        "unique_client": {
            "cardinality": {
                "field": "clientip.keyword"
            }
        }
    }
}

### Recherche la somme de bytes
GET logs/_search
{
    "size": 0,
    "aggs": {
        "sum_of_bytes": {
            "sum": {
                "field": "bytes"
            }
        }
    }
}

### Recherche la moyenne de bytes
GET logs/_search
{
    "size": 0,
    "aggs": {
        "avg_bytes": {
            "avg": {
                "field": "bytes"
            }
        }
    }
}


### Recherche le nombre de code de réponse et découper les résultats par un tableau de maximum de 10 valeurs.
GET logs/_search
{
    "size": 0,
    "aggs": {
        "response_codes": {
            "terms": {
                "field": "reponse.keyword",
                "size": 10
            }
        }
    }
}


### Recherche le nombre de requete et découper les résultats par jour.
GET logs/_search
{
    "size": 0,
    "aggs": {
        "requests_per_day": {
            "date_histogramme": {
                "field": "@timestamp",
                "calendar_interval": "day"
            }
        }
    }
}

### Recherche le nombre de requete et découper les résultats par heure.
GET logs/_search
{
    "size": 0,
    "aggs": {
        "requests_per_hour": {
            "date_histogramme": {
                "field": "@timestamp",
                "calendar_interval": "hour"
            }
        }
    }
}