health.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * 健康检查路由
  3. */
  4. const express = require('express');
  5. const router = express.Router();
  6. const os = require('os');
  7. const path = require('path');
  8. const { version } = require('../package.json');
  9. // 简单健康检查
  10. router.get('/', (req, res) => {
  11. res.json({
  12. status: 'ok',
  13. uptime: process.uptime(),
  14. timestamp: Date.now(),
  15. version
  16. });
  17. });
  18. // 详细系统信息
  19. router.get('/system', (req, res) => {
  20. try {
  21. res.json({
  22. status: 'ok',
  23. system: {
  24. platform: os.platform(),
  25. release: os.release(),
  26. hostname: os.hostname(),
  27. uptime: os.uptime(),
  28. totalMem: os.totalmem(),
  29. freeMem: os.freemem(),
  30. cpus: os.cpus().length,
  31. loadavg: os.loadavg()
  32. },
  33. process: {
  34. pid: process.pid,
  35. uptime: process.uptime(),
  36. memoryUsage: process.memoryUsage(),
  37. nodeVersion: process.version,
  38. env: process.env.NODE_ENV || 'development'
  39. }
  40. });
  41. } catch (err) {
  42. res.status(500).json({ error: '获取系统信息失败', details: err.message });
  43. }
  44. });
  45. module.exports = router;