Jak sprawdzić Uptime serwera?

Jak sprawdzić Uptime serwera?

Firmy pracujące 24 godziny na dobę, oczekują, że ich systemy są zawsze dostępne, a użytkownicy, niezależnie od lokalizacji posiadają dostęp do danych. W całej tej układance najważniejszym elementem jest serwer. Jego niezawodna i niezakłócona praca jest kluczem do osiągnięcia wymaganej niezawodności. Dlatego zespoły administratorów dwoją się i troją, aby skutecznie monitorować wydajność serwerów. Jedną z istotnych metryk, na które warto zwrócić uwagę jest Uptime. Ale dlaczego to jest aż takie ważne i jak można ją monitorować?

Czym jest Uptime?

Uptime – czyli czas nieprzerwanej pracy komputera, a mówiąc dokładniej czas od ostatniego uruchomienia systemu. Czasami nazywany również czasem dostępności usług, które oferuje dana maszyna. Pojęcie używane głównie w przypadku serwerów pracujących nieprzerwanie (24h/7), dostępnych w sieci lokalnej lub Internecie. Uptime jest często wykorzystywany jako miara stabilności i niezawodności systemu operacyjnego. W tym wypadku czas nieprzerwanej pracy jest traktowany jako ilość czasu, jaki system komputerowy może pracować bez nadzoru i opieki, a mimo to nie dojdzie do awarii czy potrzeby ponownego uruchomienia. Terminem odwrotnym jest downtime, czyli czas, w którym system komputerowy nie pracuje, zwykle w wyniku awarii sprzętowej, lub mimo pracy nie oferuje usług – awaria programowa.

Czy trzeba się tym przejmować?

In 2021 a price tag of $100,000 (USD) for one hour of downtime for a single server is extremely conservative for all but the smallest micro SMBs with one to 25 employees. It equates to $1,670 per minute/per server. Hourly cost of downtime calculated at $300,000 equals about $5,000 per server/per minute. The cost of a more severe or protracted hourly outage that a business estimated at $1 million (USD) is the equivalent of $16,700 per server/per minute.

Jak to sprawdzić?

1. Get-Uptime

PS C:\Users\Admin> Get-Uptime

Days              : 4
Hours             : 12
Minutes           : 57
Seconds           : 41
Milliseconds      : 0
Ticks             : 3922610000000
TotalDays         : 4.54005787037037
TotalHours        : 108.961388888889
TotalMinutes      : 6537.68333333333
TotalSeconds      : 392261
TotalMilliseconds : 392261000
PS C:\Users\Admin> Get-Uptime -Since

09 May 2025 08:54:12

2. Get-ComputerInfo

PS C:\Users\Admin> Get-ComputerInfo | Select-Object OsUptime

OsUptime
--------
4.13:12:47.5714104

3. Zapytanie CIM

PS C:\Users\Admin> (Get-CimInstance Win32_OperatingSystem).LastBootUpTime

09 May 2025 08:55:27
PS C:\Users\Admin> (Get-Date)-(Get-CimInstance Win32_OperatingSystem).LastBootUpTime

Days              : 4
Hours             : 13
Minutes           : 15
Seconds           : 44
Milliseconds      : 972
Ticks             : 3933449727237
TotalDays         : 4.55260385096875
TotalHours        : 109.26249242325
TotalMinutes      : 6555.749545395
TotalSeconds      : 393344.9727237
TotalMilliseconds : 393344972.7237

4. Dziennik zdarzeń

PS C:\Users\Admin> (Get-WinEvent -FilterHashtable @{LogName='System'; ID='6005'} -MaxEvents 1).TimeCreated

09 May 2025 08:55:35
PS C:\Users\Admin> (Get-Date)-(Get-WinEvent -FilterHashtable @{LogName='System'; ID='6005'} -MaxEvents 1).TimeCreated

Days              : 4
Hours             : 13
Minutes           : 20
Seconds           : 1
Milliseconds      : 640
Ticks             : 3936016405554
TotalDays         : 4.55557454346528
TotalHours        : 109.333789043167
TotalMinutes      : 6560.02734259
TotalSeconds      : 393601.6405554
TotalMilliseconds : 393601640.5554

5. Gotowe skrypty i funkcje (w przypadku Windows PowerShell)

PS C:\Users\Admin> Find-Command -Name Get-Uptime

Name                                Version    ModuleName                          Repository
----                                -------    ----------                          ----------
Get-Uptime                          3.3.2      Pscx                                PSGallery
Get-Uptime                          1.0.2      windows-screenfetch                 PSGallery
Get-Uptime                          1.7        GetUptime                           PSGallery
Get-Uptime                          4.0.1.1    WintellectPowerShell                PSGallery
Get-UpTime                          2.13.2     CPolydorou.General                  PSGallery
Get-Uptime                          0.1.2.1    Uptime                              PSGallery
Get-UpTime                          2.4        CISPowerShell                       PSGallery
Get-Uptime                          1.3.6      MrAToolbox                          PSGallery
Get-Uptime                          1.1        SUBnet192.Toolset                   PSGallery
Get-UpTime                          1.0.1      AdministrativeAddOn                 PSGallery
Get-Uptime                          4.0.3.10   SourceOne_POSH                      PSGallery
Get-Uptime                          1.0.0.2    InfrastructureFunctionsModule       PSGallery
Get-Uptime                          2.0        finnget                             PSGallery
Get-Uptime                          0.1.1      pewtools                            PSGallery
PS C:\Users\Admin> Install-Module -Name pewtools                                                                                                                                                                                                Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y
PS C:\Users\Admin> Get-Uptime


Days     : 5
Hours    : 12
Minutes  : 10
Seconds  : 40
Readable : 5d, 12h, 10m, 40s

Podsumowanie


To wszystko na dziś!

Jeśli masz ciekawe spostrzeżenia lub doświadczenia w tym temacie – koniecznie podziel się nimi w komentarzach.
A jeśli moje materiały są dla Ciebie pomocne, możesz postawić mi wirtualną kawę.

Dzięki za wsparcie!

Postaw mi kawę na buycoffee.to

Adam Pietrzak

Trener IT | Autor szkoleń | Entuzjasta PowerShella

Administrator systemów i sieci wsparcia działań wojskowych z ponad 10-letnim doświadczeniem. Praktyk w dziedzinie bezpieczeństwa systemu Windows, automatyzacji zadań (PowerShell) oraz rozwiązań chmurowych. Trener i twórca materiałów edukacyjnych (szkolenia, warsztaty, artykuły, podręczniki). Pasjonat dzielenia się wiedzą i wspierania początkujących administratorów IT. Prywatnie – amator aktywnego wypoczynku i rodzinnych podróży.


PowerShell - 10 sposobów na optymalizację codziennej pracy
Podziel się

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *