⭐ 10 Yıldıza Özel!
10 yıldıza ulaştığımızda, şu özellikleri içeren güçlü bir güncelleme yayınlanacak:
- Gelişmiş metrik takibi 📊
- Telegram entegrasyonu 📱
- Özelleştirilebilir bildirim şablonları ✨
- Detaylı raporlama sistemi 📑
- Web arayüzü 🌐
Website Monitoring aracı, izlediğiniz web sitelerinin durumunu kontrol etmek için basit bir Go uygulamasıdır. Web sitelerinizin erişilebilirliğini düzenli aralıklarla kontrol eder ve eğer bir hata varsa Discord Webhook ile bildirim gönderir.
Öncelikle bu projeyi bilgisayarınıza klonlayın:
git clone https://github.com/rasperon/website-monitoring-bot.git
cd website-monitor
Go modüllerini yüklemek için şu komutu çalıştırın:
go mod tidy
Kullanıcıdan site URL'leri, kontrol süresi ve Discord Webhook URL'sini almak için aşağıdaki komutla uygulamayı başlatın:
go run main.go
- İzlemek istediğiniz web sitelerinin URL'lerini girin (boş bırakabilirsiniz).
- Kontrol aralığını saniye cinsinden belirtin.
- Discord Webhook URL'sini girin (zorunlu değil).
Uygulama, belirlediğiniz aralıklarla her bir siteyi kontrol eder ve aşağıdaki durumları kontrol eder:
- Erişim Hatası (HTTP 4xx/5xx): Eğer siteye erişilemiyorsa veya bir hata alındıysa, Discord’a bildirim gönderilir.
- Başarıyla Erişim (HTTP 2xx): Site doğru şekilde çalışıyorsa, herhangi bir bildirim gönderilmez.
Her statü değişikliğinde Discord kanalınıza bildirim gönderilecektir. Aynı hata tekrar meydana gelirse, bir bildirim sadece ilk defa hata oluştuğunda yapılacaktır.
website-monitor/
│── main.go # Ana uygulama
│── config/
│ ├── config.go # Kullanıcı girişlerinin alındığı dosya
│── monitor/
│ ├── check.go # Web sitesi kontrol mekanizması
│── notify/
│ ├── discord.go # Discord Webhook bildirimleri
│── logs/
│ ├── monitor.log # Uygulama logları
│── utils/
│ ├── logger.go # Log dosyasına yazma fonksiyonu
│ ├── storage.go # Kullanıcı yapılandırmalarını kaydetme
- Discord Bildirimleri: Web sitenizin durumu değiştiğinde, Discord kanalınıza bildirim gönderir.
- Retry Mekanizması: Erişim hatası durumunda siteyi 3 kez tekrar deneme mekanizması.
- Yapılandırma Kaydetme: Kullanıcı girdiği ayarları JSON dosyasına kaydeder, böylece her seferinde tekrar girmenize gerek yok.
- Loglama: Web sitesi durumları ve hata mesajları
monitor.log
dosyasına kaydedilir.
Web siteniz hakkında bildirim almak için Discord'da bir webhook oluşturmanız gerekecek. Webhook oluşturduktan sonra, URL'yi uygulamaya girmeniz yeterlidir.
Discord Webhook Nasıl Oluşturulur?
Katkı sağlamak isterseniz, bir Pull Request göndererek önerilerinizi iletebilirsiniz. Ya da sorunları Issues bölümünde bildirebilirsiniz.
MIT Lisansı altında lisanslanmıştır. (Lisans dosyasını inceleyin.)
🛠 İyi kodlamalar! 🚀