overview.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. require_once 'includes/common.inc.php';
  3. $info = array();
  4. foreach ($config['servers'] as $i => $server) {
  5. if (!isset($server['db'])) {
  6. $server['db'] = 0;
  7. }
  8. // Setup a connection to Redis.
  9. if (isset($server['scheme']) && $server['scheme'] === 'unix' && $server['path']) {
  10. $redis = new Predis\Client(array('scheme' => 'unix', 'path' => $server['path']));
  11. } else {
  12. $redis = !$server['port'] ? new Predis\Client($server['host']) : new Predis\Client('tcp://' . $server['host'] . ':' . $server['port']);
  13. }
  14. try {
  15. $redis->connect();
  16. } catch (Predis\CommunicationException $exception) {
  17. $redis = false;
  18. }
  19. if (!$redis) {
  20. $info[$i] = false;
  21. } else {
  22. if (isset($server['auth'])) {
  23. if (!$redis->auth($server['auth'])) {
  24. die('ERROR: Authentication failed (' . $server['host'] . ':' . $server['port'] . ')');
  25. }
  26. }
  27. if ($server['db'] != 0) {
  28. if (!$redis->select($server['db'])) {
  29. die('ERROR: Selecting database failed (' . $server['host'] . ':' . $server['port'] . ',' . $server['db'] . ')');
  30. }
  31. }
  32. $info[$i] = $redis->info();
  33. $info[$i]['size'] = $redis->dbSize();
  34. if (!isset($info[$i]['Server'])) {
  35. $info[$i]['Server'] = array(
  36. 'redis_version' => $info[$i]['redis_version'],
  37. 'uptime_in_seconds' => $info[$i]['uptime_in_seconds']
  38. );
  39. }
  40. if (!isset($info[$i]['Memory'])) {
  41. $info[$i]['Memory'] = array(
  42. 'used_memory' => $info[$i]['used_memory']
  43. );
  44. }
  45. }
  46. }
  47. $page['css'][] = 'frame';
  48. $page['js'][] = 'frame';
  49. require 'includes/header.inc.php';
  50. ?>
  51. <?php foreach ($config['servers'] as $i => $server) { ?>
  52. <div class="server">
  53. <h2><?php echo isset($server['name']) ? format_html($server['name']) : format_html($server['host']) ?></h2>
  54. <?php if (!$info[$i]): ?>
  55. <div style="text-align:center;color:red">Server Down</div>
  56. <?php else: ?>
  57. <table>
  58. <tr><td><div>Redis version:</div></td><td><div><?php echo $info[$i]['Server']['redis_version'] ?></div></td></tr>
  59. <tr><td><div>Keys:</div></td><td><div><?php echo $info[$i]['size'] ?></div></td></tr>
  60. <tr><td><div>Memory used:</div></td><td><div><?php echo format_size($info[$i]['Memory']['used_memory']) ?></div></td></tr>
  61. <tr><td><div>Uptime:</div></td><td><div><?php echo format_ago($info[$i]['Server']['uptime_in_seconds']) ?></div></td></tr>
  62. <tr><td><div>Last save:</div></td><td><div><?php
  63. if (isset($info[$i]['Persistence']['rdb_last_save_time'])) {
  64. echo format_ago(time() - $info[$i]['Persistence']['rdb_last_save_time'], true);
  65. } else {
  66. echo 'never';
  67. }
  68. ?> <a href="save.php?s=<?php echo $i ?>"><img src="images/save.png" width="16" height="16" title="Save Now" alt="[S]" class="imgbut"></a></div></td></tr>
  69. </table>
  70. <?php endif; ?>
  71. </div>
  72. <?php } ?>
  73. <p class="clear">
  74. <a href="https://github.com/ErikDubbelboer/phpRedisAdmin" target="_blank">phpRedisAdmin on GitHub</a>
  75. </p>
  76. <p>
  77. <a href="http://redisdoc.com/index.html" target="_blank">Redis Documentation</a>
  78. </p>
  79. <?php
  80. require 'includes/footer.inc.php';
  81. ?>