J'ai un serveur Windows 2003 et j'ai besoin de coder un service qui m'envoie un e-mail lorsque l'utilisation du processeur reste supérieure à 90% pendant plus de 5 minutes. Comment pourrais-je faire ça?Alerte lorsque l'utilisation de l'UC reste au-dessus d'une limite pendant une période de temps
Répondre
D'abord, vous aurait le lire la charge du processeur comme:
How to get the CPU Usage in C#?
Deuxièmement, vous devez utiliser une minuterie qui vérifie le temps processeur dans un certain intervalle. La minuterie standard de .Net est suffisamment précise lorsque nous parlons 5 min. L'intervalle pourrait être quelque chose comme quelques secondes. Sur Tick, vous mesurez le CPU et si elle est INFÉRIEURE à 90%, réinitialisez start-DateTime et si elle est supérieure à 90%, vérifiez si start-DateTime a plus de 5 minutes.
Enfin vous devez envoyer un message comme celui-ci:
De cette façon, utilise un serveur SMTP que vous pouvez installer local ou sinon vous avez correctement un serveur SMTP pour l'un de vos e-mail etc. Vous pouvez également envoyer un mail sans plus de frais généraux. Rechercher Stackoverflow pour cela :)
Votre service Windows devrait périodiquement WMI in a manner similar to this et de déterminer si vous souhaitez vous informer.
Lire le compteur de performance approprié à un intervalle approprié. Si les données collectées répondent à vos critères, effectuez l'action souhaitée.
De nombreuses choses comme ceci peuvent déjà être faites avec des outils comme les alertes du moniteur de performance (y compris le lancement d'une application).
- 1. Clé primaire lorsque vous stockez beaucoup de données pendant une courte période de temps
- 2. alerte lorsque la limite de confinement est atteinte
- 3. Vérifiez si une application est inactif pendant une période de temps et le verrouiller
- 4. Formatage d'une période de temps
- 5. Expiration de l'instance Singleton après une période de temps
- 6. problème clic limite de la souris, comme une alerte()
- 7. JAVA: Comment accepter les entrées pendant une certaine période de temps seulement
- 8. La requête Mysql reste dans l'état 'SENDING DATA' pendant une longue période lors de l'utilisation de LEFT JOIN
- 9. Requête de période de temps SQL
- 10. Utilisateurs automatiquement non-debus après une période de temps
- 11. Comment puis-je conserver un son pendant une longue période?
- 12. Configurer BOSH pour permettre aux utilisateurs de se connecter sans mot de passe pendant une longue période de temps?
- 13. processus tuant java après une période de temps
- 14. Exécution d'une application après une période de temps
- 15. comment sélectionner une période de temps dans mysql?
- 16. Comment exécuter une animation pendant une courte période?
- 17. Pourquoi toutes les variables statiques de l'application Android sont-elles détruites lorsque l'application est en arrière-plan pendant une longue période de temps?
- 18. Comment puis-je augmenter le temps pendant lequel un menu déroulant Javascript reste à l'écran?
- 19. comment installer des cookies php pour une longue période de temps
- 20. Commande Scons avec limite de temps
- 21. comment charger quelques cartes de crédit après une période de temps?
- 22. Est-ce que AssemblyCleanup a une limite de temps
- 23. Agréger les valeurs des colonnes SQL par période de temps
- 24. Agrégation de données par période de temps dans MySQL
- 25. ajouter un essai avec la limite de temps dans vb.net
- 26. Appel d'une fonction pendant un certain temps
- 27. Comment exécuter un thread pour une période de temps donnée puis revenir en Java?
- 28. Rails: Obtenir un tableau de valeurs à partir d'un modèle pour une période de temps
- 29. Qu'est-ce qu'un moyen précis de bloquer un thread pour une période de temps spécifique?
- 30. webrequest.begingetresponse prend trop de temps lorsque l'url est invalide