Guest User

Untitled

a guest
Jul 18th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. <?php
  2.  
  3. $client = ClientBuilder::create()->setHosts(['127.0.0.1'])->build();
  4.  
  5. $params = [
  6. 'index' => 'metricbeat-*',
  7. 'body' => [
  8. 'query' => [
  9. 'bool' => [
  10. 'must' => [
  11. [
  12. 'term' => [
  13. 'system.process.name' => 'explorer.exe'
  14. ]
  15. ],
  16. /*[
  17. 'range' => [
  18. '@timestamp' => [
  19. 'gte' => 'now-24h',
  20. 'lte' => 'now'
  21. ]
  22. ],
  23. ]*/
  24. ],
  25. ]
  26. ],
  27. 'aggs' => [
  28. 'group_by_username' => [
  29. 'terms' => [
  30. 'field' => 'system.process.username'
  31. ],
  32. 'aggs' => [
  33. 'per_day' => [
  34. 'date_histogram' => [
  35. 'field' => '@timestamp',
  36. 'interval' => 'day',
  37. //'time_zone' => '+02:00'
  38. ],
  39. ]
  40. ],
  41. ],
  42. ]
  43. ]
  44. ];
  45.  
  46. $response = $client->search($params);
  47.  
  48. foreach ($response['aggregations']['group_by_username']['buckets'] as $groupByUsername) {
  49. $username = $groupByUsername['key'];
  50. echo "<br>\n$username: <br>\n";
  51. foreach ($groupByUsername['per_day']['buckets'] as $groupByDay) {
  52. $date = $groupByDay['key_as_string'];
  53. // We multiply per 10 because I'm sending the processes every 10 seconds, change this according to your update interval
  54. $hours = $groupByDay['doc_count'] * 10 / 60 / 60;
  55. echo "$date: $hours<br>\n";
  56. }
  57. }
Add Comment
Please, Sign In to add comment