É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"
}
}
}
}