web-dev-qa-db-fra.com

historique de disponibilité de Linux

Comment puis-je obtenir un historique des temps de disponibilité de ma boîte Debian? Après un redémarrage, je ne vois pas d’option permettant à la commande uptime d’afficher un historique des temps de disponibilité. Si cela compte, j'aimerais utiliser ces périodes de disponibilité pour représenter graphiquement une page en php afin d'afficher les durées de disponibilité de mes serveurs Web entre les bottes.

Mise à jour: Je ne suis pas sûr que cela soit basé sur une durée ou si la dernière fois est réinitialisée au redémarrage, mais je n'ai que l'horodatage de démarrage le plus récent avec la dernière commande. last -x ne renvoie pas non plus d'informations supplémentaires. On dirait qu'un script est mon meilleur pari.

Mise à jour: Uptimed est l’information que je cherche, mais je ne suis pas sûr de la façon de la grapiner dans le code. La gestion de mon propre script pour une base de données semble être la meilleure solution pour une application.

32
Jas

Vous pouvez créer un script simple qui exécute une période d'activité et le dépose dans un fichier.

uptime >> uptime.log

Ensuite, configurez un travail cron pour cela.

26
etchasketch

Installez uptimed . Il fait exactement ce que tu veux.

Modifier:

Vous pouvez apparemment l'inclure dans une page PHP aussi facilement que ceci:

<? system("/usr/local/bin/uprecords -a -B"); ?>

Exemples - lien brisé?

47
1800 INFORMATION

la commande last vous indiquera les heures de redémarrage du système. Vous pouvez prendre la différence entre chaque redémarrage successif et cela devrait donner le temps de disponibilité de la machine.

update

1800 INFORMATION answer est une meilleure solution.

22
roo

selon last page de manuel:

Le pseudo-utilisateur redémarre les journaux à chaque redémarrage du système. Ainsi, le dernier redémarrage affichera un journal de tous les redémarrages depuis la création du fichier journal .

ainsi, la dernière colonne de la commande #last reboot vous donne l'historique des temps de disponibilité:

#last reboot
reboot   system boot  **************** Sat Sep 21 03:31 - 08:27 (1+04:56)   
reboot   system boot  **************** Wed Aug  7 07:08 - 08:27 (46+01:19)
7
sepehr

Essayez ceci: 

last | grep reboot 
5
none

Je créerais un travail cron à exécuter à la résolution requise (disons 10 minutes) en entrant le texte suivant [sur une une seule ligne - je viens de le séparer aux fins de formatage] dans votre crontab (cron -l to list , cron -e pour éditer).

0,10,20,30,40,50 * * * *
    /bin/echo $(/bin/date +\%Y-\%m-\%d) $(/usr/bin/uptime)
    >>/tmp/uptime.hist 2>&1

Cela ajoute la date, l'heure et la disponibilité au fichier uptime.hist toutes les dix minutes pendant le fonctionnement de la machine. Vous pouvez ensuite examiner ce fichier manuellement pour comprendre les informations ou écrire un script pour le traiter à votre guise.

Chaque fois que la disponibilité diminue, il y a eu un redémarrage depuis le dernier enregistrement. Lorsqu'il y a de grands espaces entre les lignes (c'est-à-dire plus que les dix minutes prévues), la machine est en panne pendant ce temps.

2
paxdiablo

Ce n'est pas stocké entre les bottes, mais The Uptimes Project est une option tierce pour le suivre, avec des logiciels pour diverses plates-formes.

Un autre outil disponible sur Debian est uptimed , qui permet de suivre les périodes de disponibilité entre les bottes.

2
Shermozle

Ou vous pouvez utiliser tuptime https://sourceforge.net/projects/tuptime/ pour un temps total de disponibilité.

1
Slet

je ne pense pas que cette information est enregistrée entre les redémarrages.

si vous arrêtez correctement, vous pouvez exécuter une commande à l’arrêt qui enregistre le temps de disponibilité, ce qui vous permet de la relire après le redémarrage.

1
John Boker

Cette information n'est normalement pas enregistrée. Cependant, vous pouvez vous inscrire à un service en ligne qui le fera pour vous. Vous venez d'installer un client qui enverra votre disponibilité au serveur toutes les 5 minutes et le site vous présentera un graphique de vos temps de disponibilité:

http://uptimes-project.org/

1
Kyle Cronin

Vous pouvez utiliser tuptime, une commande simple permettant de signaler le temps total de disponibilité sous Linux en le gardant entre les redémarrages.

http://sourceforge.net/projects/tuptime/

1
Rfraile

Nagios peut faire de très beaux diagrammes à ce sujet.

0
peterh