1. function generateDiagnosticsConfig(filename = 'diagnostics.json') {
  2. const config = {
  3. // General settings
  4. logLevel: 'info', // Default: info
  5. reportFormat: 'json', // Default: json
  6. reportInterval: 60, // Default: 60 seconds
  7. // File/Directory monitoring
  8. watchedDirectories: [
  9. '/var/log',
  10. '/home/user/data'
  11. ], // Default: example directories
  12. ignoredFiles: [
  13. '.git',
  14. 'node_modules'
  15. ], // Default: common ignored files
  16. // Specific diagnostics settings
  17. cpuUsageThreshold: 80, // Default: 80%
  18. memoryUsageThreshold: 90, // Default: 90%
  19. diskSpaceThreshold: 80, // Default: 80%
  20. //Notification settings
  21. enableNotifications: true, // Default: true
  22. notificationMethod: 'console', // Default: console, can be 'email', 'slack', etc.
  23. notificationEmail: '', // Default empty string if not using email
  24. slackWebhookUrl: '' //Default empty string if not using slack
  25. };
  26. // Write the config to a file
  27. try {
  28. const fs = require('fs'); // Node.js file system module
  29. fs.writeFileSync(filename, JSON.stringify(config, null, 2)); // Write JSON with indentation
  30. console.log(`Diagnostics configuration written to ${filename}`);
  31. } catch (err) {
  32. console.error(`Error writing to file: ${err.message}`);
  33. }
  34. }

Add your comment