lostyazilim
tr.link

Sunucu Uptime Kontrolü

11 Mesajlar 1.855 Okunma
lstbozum
tr.link

efeler efeler WM Aracı Kullanıcı
  • Üyelik 27.04.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Geliştirici
  • Konum Çorum
  • Ad Soyad M** U**
  • Mesajlar 53
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Sistemlerinizde; sunucu firmasından kaynaklı (503,504 vb.) durumlarda sitenizin açılmaması sorunlardan anlık haberdar olmak için nasıl bir yol izliyorsunuz? (asp.net WebForm)

Örneğin; abc.com domainimin hostu ISS durduğu için site açılmıyor. Bu durumdan anlık haberdar olmak için nasıl bir algoritma kullanıyorsunuz? (Üçüncü part site aracı olmadan)
 

 

wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Aynı sunucu üzerinde belirli periyotlarda çalışan bir task yazıp, alarm emaili attırılabilir.

Linux sunucu için aşağıdaki gibi bir bash script yazılıp, crontab'a eklenebilir.

http status 200 dışında gelince mail atsın.

Aşağıdaki gibi shell script dosyasını oluştur.

vi abc-com-status-checker.sh

İçine aşağıdaki shell kodunu ekle. (Kendine göre düzenlersin)

#!/bin/bash

status_code=$(curl --write-out %{http_code} --silent --output /dev/nullwww.abc.com )

if [[ "$status_code" -ne 200 ]] ; then
echo "HTTP Status $status_code" | mail -s "abc.com durum kontrol" "turgay.can@yopmail.com" -r "abc.com sitesini kontrol ediniz."
else
exit 0
fi


ctrl+c ile çıkıp ":wq" komutları ile write and quit yaparsın.

Kullanıcına dosya çalıştırma yetkisi ver.

chmod +x abc-com-status-check.sh


sonrasında aşağıdaki komut ilede cron tab'a job ekle (15 dk bir kontrol)

crontab -e

*/15 * * * * /path/abc-com-status-checker.sh

path kısmı dosyayı oluşturduğunuz dizinin yoludur.



Windows sunucu için Task Scheduler/Manager gibi bir şey vardı. Ama uzun yıl oldu Windows sunucular ile çalışmayalı benim bilgiler yanıltıcı olabilir.
Yukarıdaki benzerr metodu Windows Task Manager + Powershell scirpt ile yapılabiliyordur.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

efeler efeler WM Aracı Kullanıcı
  • Üyelik 27.04.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Geliştirici
  • Konum Çorum
  • Ad Soyad M** U**
  • Mesajlar 53
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Öncelikle cevabınız için teşekkürler. asp.net projesi olduğu için windows sunucu kullanıyorum. Firmada da hosting hesabı olduğu için maalesef yetki kısıtlı oluyor yani task manager a erişim yetkim yok.

Bu işi kodlama tarafında halletmem lazım.
 

 

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
uptime robot .com u kullanıyorum , sürekli takip ediyor. ücretsiz
 

 

wmaraci
wmaraci

efeler efeler WM Aracı Kullanıcı
  • Üyelik 27.04.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Geliştirici
  • Konum Çorum
  • Ad Soyad M** U**
  • Mesajlar 53
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
ben kodlama olarak sistemimin kendi içinde yapmak istiyorum. Yani üçüncü part site aracı olmadan.
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Aynı sunucuda yapıyor olmak pek makul gelmedi.
Sunucu gittiğinde, oluşturduğun alarm zaten çalışmıyor olacak.

Tavsiyem sunucu dışından yukarıdaki gibi basit bir program ile http isteği yada curl ile periyodik kontroller yapılmasıdır.

uptimerobot olayı iyiymiş ;) Bence forces önerisini dikkate almalısın, temiz bir çözüm.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
şu sayfada örnek uygulama var

http://www.4webhelp.net/scripts/php/uptime.php


###########################################################################
# #
# Copyright © http://www.4webhelp.net/ #
# Neither http://www.4webhelp.net/ nor its members accept any #
# responsibility, either expressed or implied, for any damage caused by #
# using this script or the misuse of this script. #
# #
# #
# INSTRUCTIONS #
# #
# 1) Copy this code to an editor such as Notepad and save it with a #
# .php extension. #
# 2) FTP this file to a folder on your site in ASCII mode #
# 3) Call up this file in your web browser to see your server's uptime #
# #
###########################################################################

$data = shell_exec('uptime');
$uptime = explode(' up ', $data);
$uptime = explode(',', $uptime[1]);
$uptime = $uptime[0].', '.$uptime[1];

echo ('Current server uptime: '.$uptime.'
');

?>

This script courtesy of 4WebHelp.


Latest comments
Max
thanks guys
hehehe
here is mine for Windows Server 2003, tested and works just fine, its based on another comment here Smile

i had to download the uptime.exe from ms, just search for it on their site..


Uptime.php:
$server = $_POST['server'];

// only digits
$pattern = '/[^0-9]/';
?>


Uptime




$uptime = `c:\windows\system32\uptime2.bat $server`;
$uptime = explode(": ", $uptime);
$uptime = explode(", ", $uptime[1]);

$uptime_days = preg_replace($pattern, '', $uptime[0]);
$uptime_hours = preg_replace($pattern, '', $uptime[1]);
$uptime_minutes = preg_replace($pattern, '', $uptime[2]);
$uptime_seconds = preg_replace($pattern, '', $uptime[3]);



echo 'Uptime:

';

echo 'Days: '.$uptime_days.'
';
echo 'Hours: '.$uptime_hours.'
';
echo 'Minutes: '.$uptime_minutes.'
';
echo 'Seconds: '.$uptime_seconds.'
';
?>


 

 

efeler efeler WM Aracı Kullanıcı
  • Üyelik 27.04.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Geliştirici
  • Konum Çorum
  • Ad Soyad M** U**
  • Mesajlar 53
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Windows sunucu kullanıyorum ve dil olarak asp.net c# ortamında yapmam lazım
 

 

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)

forces adlı üyeden alıntı

uptime robot .com u kullanıyorum , sürekli takip ediyor. ücretsiz

Bahsettiğiniz bu site ise uptimerobot.com ücretli olduğu yazıyor.
 

 

SN4DY SN4DY Freelance Developer Kullanıcı
  • Üyelik 12.10.2018
  • Yaş/Cinsiyet 24 / E
  • Meslek Freelance Back-end Developer
  • Konum Balıkesir
  • Ad Soyad E** A**
  • Mesajlar 26
  • Beğeniler 10 / 3
  • Ticaret 1, (%100)
https://console.cron-job.org kullanıyorum tavsiye ederim
 

 

Skype: sn4dy
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al