contour
Aujourd'hui, la principale part un script shell utilisé pour obtenir CPU système linux, mémoire, disque IO et d'autres informations.
scénario
#! / Bin / bash # Obtenir l'adresse IP du serveur local à surveiller IP = `ifconfig | grep iNet | grep -vE 'inet6 | 127.0.0.1' | awk '{print $ 2}'` echo "Adresse IP:" $ IP # Obtenez le nombre total de noyau cpu cpu_num = `grep -c "nom du modèle"/ proc / cpuinfo` echo "nombre total de cpu du nucléaire:" $ cpu_num # 1, obtenir l'utilisation du processeur ################################################ l'espace utilisateur #us occupé par le pourcentage de CPU #sy espace noyau occupé par le pourcentage de CPU processus prioritaires dans l'espace de processus utilisateur modifié #ni occupé par le pourcentage de CPU #id pourcentage CPU ralenti pourcentage #wa de temps CPU attente d'entrée et de sortie interruption matérielle #hi interruption logicielle #Si ################################################# # Obtenir l'espace utilisateur occupé par le pourcentage de CPU cpu_user = `top -b -n 1 | grep Cpu | awk '{print $ 2}' | cut -f 1 -d "%"` echo « espace utilisateur occupé par le pourcentage de CPU: » $ cpu_user # Get espace noyau occupé par le pourcentage de CPU cpu_system = `top -b -n 1 | grep Cpu | awk '{print $ 4}' | cut -f 1 -d "%"` echo « espace noyau occupé par le pourcentage de CPU: » $ cpu_system # Obtenez le pourcentage de CPU ralenti cpu_idle = `top 1 -b -n | grep Cpu | awk '{print $ 8}' | cut -f 1 "%" -d` echo "pourcentage de ralenti CPU:" $ cpu_idle # Attendez pour obtenir les entrées et sorties ont représenté le pourcentage de CPU cpu_iowait = `top 1 -b -n | grep Cpu | awk '{print $ 10}' | cut -f 1 "%" -d` echo « attendre d'entrée-sortie qui représente le pourcentage de CPU: » $ cpu_iowait # 2, pour obtenir le nombre d'interruptions de CPU et les commutateurs de contexte # Get CPU interruptions cpu_interrupt = `vmstat -n 11 | -n 3p sed | awk '{print $ 11}'` echo "Les interruptions de CPU:" $ cpu_interrupt # Obtenez le nombre de changements de contexte CPU cpu_context_switch = `vmstat -n 11 | -n 3p sed | awk '{print $ 12}'` echo "contexte CPU passe:" $ cpu_context_switch # 3, pour obtenir des informations sur la charge CPU # Obtenez il y a CPU15 minutes à la moyenne de la charge actuelle cpu_load_15min = `temps de fonctionnement | awk '{print $ 11}' | cut -f 1 -d ''` echo "CPU il y a 15 minutes à la moyenne charge actuelle:" $ cpu_load_15min # Obtenez il y a CPU5 minutes à la moyenne de la charge actuelle cpu_load_5min = `temps de fonctionnement | awk '{print $ 10}' | cut -f 1 -d ''` echo "CPU 5 minutes il y a à la charge moyenne actuelle:" $ cpu_load_5min # Obtenez il y a CPU1 minutes à la moyenne de la charge actuelle cpu_load_1min = `temps de fonctionnement | awk '{print $ 9}' | cut -f 1 -d ''` echo "CPU il y a 1 minute à la moyenne actuelle charge:" $ cpu_load_1min # Obtenir (le nombre de processus d'attente de l'état prêt) la file d'attente des tâches cpu_task_length = `vmstat -n 11 | -n 3p sed | awk '{print $ 1}'` echo "tâche de la longueur de la file d'attente CPU:" $ cpu_task_length # 4, obtenir des informations de la mémoire # Obtenir la mémoire physique totale mem_total = `gratuit | grep Mem | awk '{print $ 2}'` echo "mémoire physique totale:" $ mem_total # Système d'exploitation a été utilisé pour obtenir la quantité totale de mémoire mem_sys_used = `gratuit | grep Mem | awk '{print $ 3}'` echo "la quantité totale de mémoire utilisée (OS):" mem_sys_used $ # Obtenir le système d'exploitation ne pas utiliser la quantité de mémoire mem_sys_free = `gratuit | grep Mem | awk '{print $ 4}'` echo "La quantité de mémoire (OS) restant:" $ mem_sys_free # Obtenir la quantité de mémoire de l'application a été utilisée mem_user_used = `gratuit | sed -n 3p | awk '{print $ 3}'` echo "la quantité de mémoire utilisée (l'application):" mem_user_used $ # Obtenez l'application ne pas utiliser la quantité de mémoire mem_user_free = `gratuit | sed -n 3p | awk '{print $ 4}'` echo "La quantité de mémoire restante (l'application):" $ mem_user_free # Obtenez la taille totale de la partition de swap mem_swap_total = `gratuit | Swap grep | awk '{print $ 2}'` echo "La taille totale de la partition de swap:" $ mem_swap_total # Get Swap utilisé taille de la partition mem_swap_used = `gratuit | Swap grep | awk '{print $ 3}'` echo "a été utilisé la taille de la partition swap:" mem_swap_used $ # Obtenez le swap restant taille de la partition mem_swap_free = `gratuit | grep Swap | awk '{print $ 4}'` echo "Le reste de la taille de la partition swap:" mem_swap_free de $ # 5, les statistiques d'E / S disque écho "le périphérique spécifié (/ dev / sda) Statistiques" # Pour lire le nombre de requêtes par seconde initiative dispositif disk_sda_rs = `iostat kx | grep sda | awk '{print $ 4}'` echo « pour lire le nombre de requêtes par seconde dispositif lancé: » $ disk_sda_rs # Nombre de requêtes par seconde à écriture.Dispositif-initié disk_sda_ws = `iostat kx | grep sda | awk '{print $ 5}'` echo « par dispositif lancé pour écrire le nombre de demandes: » $ disk_sda_ws # Pour dispositif initié par la moyenne de longueur de la file d'attente demande d'E / S disk_sda_avgqu_sz = `iostat kx | grep sda | awk '{print $ 9}'` echo « au dispositif d'ouverture de la longueur de la file d'attente de demande d'E / S moyenne » $ disk_sda_avgqu_sz # A chaque E / S initié de périphérique demande le temps moyen disk_sda_await = `iostat kx | grep sda | awk '{print $ 10}'` echo « à chaque E / S initié de périphérique demande le temps moyen: » $ disk_sda_await # Lancez le temps de service E / S de l'appareil à la moyenne disk_sda_svctm = `iostat kx | grep sda | awk '{print $ 11}'` echo "pour lancer le dispositif temps de service I / O signifie:" $ disk_sda_svctm # Initier demande d'E / S à la comptabilisation du pourcentage de dispositif de temps CPU disk_sda_util = `iostat kx | grep sda | awk '{print $ 12}'` echo « pourcentage de demandes d'E / S initiant la comptabilité du temps CPU à un appareil: » $ disk_sda_utilLes résultats:
Plus tard, partageront plus DevOps et aspects DBA, et les amis intéressés peuvent se concentrer le prochain!