====== JQ ====== Mit ''jq'' lassen sich JSON ausgaben formatieren. ===== Beispiele ===== Der Befehl curl -XGET 'http://:9200/logstash-2018.01.11/_stats/store?pretty' ergibt folgende Ausgabe: { "_shards" : { "total" : 10, "successful" : 10, "failed" : 0 }, "_all" : { "primaries" : { "store" : { "size_in_bytes" : 540333 } }, "total" : { "store" : { "size_in_bytes" : 1202464 } } }, "indices" : { "logstash-2018.01.11" : { "uuid" : "NOTtTao8SJeuf1Wk9aG1Hw", "primaries" : { "store" : { "size_in_bytes" : 540333 } }, "total" : { "store" : { "size_in_bytes" : 1202464 } } } } } ==== Keys und Values ==== * Keys abfragen von "_all" jq '._all|keys[]' gibt folgende Ausgabe "primaries" "total" * Values abfragen von "_all" jq '._all.primaries.store.size_in_bytes' oder jq '._all.primaries[].size_in_bytes' gibt folgende Ausgabe 540333 * Mehrere Werte abfragen jq '.indices|keys[],.[].total[]' gibt folgendes aus "logstash-2018.01.11" { "size_in_bytes": 1202464 } * Ausgabe formatieren jq '.indices|"\(keys),\(.[].total[].size_in_bytes)"' gibt folgendes aus "[\"logstash-2018.01.11\"],1202464" Schöner ist die Ausgabe mit diesem Befehl jq '.indices|keys[] as $k|"\($k) \(.[].total[].size_in_bytes)"' Ausgabe "logstash-2018.01.11 1202464" * Abfrage der Größe mehrerer Indices curl -s -XGET 'http://:9200/logstash-2018.01.1*/_stats/store?pretty' ergibt folgende Ausgabe: { "_shards" : { "total" : 100, "successful" : 100, "failed" : 0 }, "_all" : { "primaries" : { "store" : { "size_in_bytes" : 5435698 } }, "total" : { "store" : { "size_in_bytes" : 11391707 } } }, "indices" : { "logstash-2018.01.10" : { "uuid" : "uPhznOuFSWy8knrAimjcQQ", "primaries" : { "store" : { "size_in_bytes" : 554771 } }, "total" : { "store" : { "size_in_bytes" : 1281530 } } }, "logstash-2018.01.19" : { "uuid" : "7Nu5273pTHC2LQqxc0eGjg", "primaries" : { "store" : { "size_in_bytes" : 490653 } }, "total" : { "store" : { "size_in_bytes" : 970346 } } }, "logstash-2018.01.18" : { "uuid" : "NDKWvKjKTvGxPa7O1LYVSg", "primaries" : { "store" : { "size_in_bytes" : 568719 } }, "total" : { "store" : { "size_in_bytes" : 1240946 } } }, "logstash-2018.01.17" : { "uuid" : "Vol1spp3RMKfYokWEIwsww", "primaries" : { "store" : { "size_in_bytes" : 764169 } }, "total" : { "store" : { "size_in_bytes" : 1449844 } } }, "logstash-2018.01.16" : { "uuid" : "XQRGJeaXQnSCVI9iyJbW4w", "primaries" : { "store" : { "size_in_bytes" : 472978 } }, "total" : { "store" : { "size_in_bytes" : 1081113 } } }, "logstash-2018.01.15" : { "uuid" : "BEbXpbEvQhKDFqTr1uI-9g", "primaries" : { "store" : { "size_in_bytes" : 488065 } }, "total" : { "store" : { "size_in_bytes" : 988797 } } }, "logstash-2018.01.14" : { "uuid" : "q5eDM9pGRoWMjzS4bCjnUQ", "primaries" : { "store" : { "size_in_bytes" : 536372 } }, "total" : { "store" : { "size_in_bytes" : 1001596 } } }, "logstash-2018.01.13" : { "uuid" : "3IxW3ix8QuKnpAQKKR37-g", "primaries" : { "store" : { "size_in_bytes" : 499779 } }, "total" : { "store" : { "size_in_bytes" : 976126 } } }, "logstash-2018.01.12" : { "uuid" : "CjbVg5DDRs2LlDHx_sIB3g", "primaries" : { "store" : { "size_in_bytes" : 519859 } }, "total" : { "store" : { "size_in_bytes" : 1198945 } } }, "logstash-2018.01.11" : { "uuid" : "NOTtTao8SJeuf1Wk9aG1Hw", "primaries" : { "store" : { "size_in_bytes" : 540333 } }, "total" : { "store" : { "size_in_bytes" : 1202464 } } } } } So gibt man nur die Indexnamen und deren größe aus jq -r '.indices|keys[] as $k|"\($k) bytes \(.[$k].total[].size_in_bytes)"' Ausgabe logstash-2018.01.10 bytes 1281530 logstash-2018.01.11 bytes 1202464 logstash-2018.01.12 bytes 1198945 logstash-2018.01.13 bytes 976126 logstash-2018.01.14 bytes 1001596 logstash-2018.01.15 bytes 988797 logstash-2018.01.16 bytes 1081113 logstash-2018.01.17 bytes 1449844 logstash-2018.01.18 bytes 1240946 logstash-2018.01.19 bytes 970346