TR: Karavul, web sitelerini, API endpointlerini ve servisleri izlemek (uptime & performance monitoring) için tasarlanmış, local olarak çalışan bir Windows Service uygulamasıdır.
EN: Karavul is a locally running Windows Service application designed for uptime and performance monitoring of websites, API endpoints, and services.
📦 Installation / Kurulum
- TR: Linkteki
KaravulSetup_v1.0.4.exedosyasını indirin ve çalıştırın. Kurulum tamamlandıktan sonra yönetim panelinehttp://127.0.0.1:9060adresinden erişebilirsiniz. (Varsayılan Giriş Bilgileri -> Kullanıcı Adı: Admin | Şifre: admin) - EN: Download and run the
KaravulSetup_v1.0.4.exefile below. Once installed, you can access the management panel athttp://127.0.0.1:9060. (Default Login Credentials -> Username: Admin | Password: admin)
TR:
- HTTP/HTTPS İzleme: Beklenen durum kodu (status code), yanıt süresi limitleri ve timeout denetimleri.
- SSL Sertifika Denetimi: HTTPS adreslerinin SSL sertifika geçerlilik ve bitiş tarihlerini kontrol etme.
- Olay (Incident) Yönetimi: Uygulama kesintilerinde otomatik olay kaydı açma ve kapanma sürelerini hesaplama. Manuel olarak kapatılabilme özelliği.
- Bildirimler: Olay anında İletişim Gruplarına (Contact Group) e-posta, SMS (Mock) ve Telegram üzerinden bildirim gönderme. Tekrar eden alarm (repeat alert) mekanizması.
EN:
- HTTP/HTTPS Monitoring: Expected status code, response time limits, and timeout checks.
- SSL Certificate Validation: Checking SSL certificate validity and expiration dates for HTTPS endpoints.
- Incident Management: Automatic incident creation during downtime, calculation of downtime durations, and manual resolve capabilities.
- Notifications: Sending notifications via Email, SMS (Mock), and Telegram to Contact Groups during incidents. Includes a repeat alert mechanism.
TR:
- Backend: .NET 10 Worker Service & ASP.NET Core
- Database: SQLite (Dapper kullanarak)
- UI: ASP.NET Core Razor Pages (Vanilla CSS & JS ile modern dark theme)
- Dağıtım: Inno Setup ile Windows Service olarak kurulum
EN:
- Backend: .NET 10 Worker Service & ASP.NET Core
- Database: SQLite (using Dapper)
- UI: ASP.NET Core Razor Pages (modern dark theme using Vanilla CSS & JS)
- Deployment: Windows Service installation via Inno Setup
TR: Projeyi local bilgisayarınızda geliştirmek veya terminal üzerinden test etmek için aşağıdaki komutu kullanabilirsiniz: EN: To develop the project on your local machine or test it directly via the terminal, use the following command:
dotnet run --project src\Karavul.Host\Karavul.Host.csprojTR: Uygulama çalıştıktan sonra tarayıcınızdan http://127.0.0.1:9066 adresine giderek yönetim arayüzüne ulaşabilirsiniz. EN: Once the application is running, open your browser and navigate to http://127.0.0.1:9066 to access the management interface.
TR: Varsayılan Giriş Bilgileri: EN: Default Login Credentials:
- Kullanıcı Adı / Username:
Admin - Şifre / Password:
admin(TR: Güvenlik sebebiyle ilk girişte şifre değiştirmeniz istenecektir.) (EN: For security reasons, you will be prompted to change your password upon first login.)
TR: Uygulamayı Windows Servis olarak kurmanın iki yolu vardır. En kolay yol sayfanın üst kısmındaki linkten hazır .exe dosyasını indirip kurmaktır. Alternatif olarak projeyi kendiniz derleyip kurulum dosyası oluşturabilirsiniz.
EN: There are two ways to install the application as a Windows Service. The easiest way is to download and run the ready-to-use .exe from the link at the top of the page. Alternatively, you can build the project and generate the installer yourself.
TR: Sayfanın en üstündeki bağlantıya (Download KaravulSetup_v1.0.4.exe) tıklayarak indireceğiniz dosyayı çalıştırın ve ekrandaki adımları izleyin. EN: Click the link at the top of the page (Download KaravulSetup_v1.0.4.exe), run the downloaded file, and follow the on-screen steps.
Yöntem 2: Kaynak Koddan Kurulum Dosyası Oluşturmak / Method 2: Generating Installer from Source Code (Inno Setup)
TR: Proje kök dizininde (C:\GIT\Karavul) terminali açın ve aşağıdaki komutu çalıştırın:
EN: Open a terminal in the project root directory (C:\GIT\Karavul) and run the following command:
dotnet publish src\Karavul.Host\Karavul.Host.csproj -c Release -r win-x64 --self-contained false -o src\Karavul.Host\bin\Release\net10.0-windows\win-x64\publishTR:
- Bilgisayarınızda Inno Setup Compiler yüklü olmalıdır.
- Proje klasöründeki
setup.issdosyasını Inno Setup ile açın. - Üst menüden Build -> Compile (veya
Ctrl+F9) seçeneğine tıklayın. - Tamamlandığında proje dizini altındaki
Outputklasöründe kurulum dosyanız hazır olacaktır.
EN:
- Ensure Inno Setup Compiler is installed on your computer.
- Open the
setup.issfile located in the project folder with Inno Setup. - Click Build -> Compile from the top menu (or press
Ctrl+F9). - Once completed, your setup file will be ready in the
Outputfolder within the project directory.
- Uygulama Dosyaları / App Files:
C:\Program Files\Karavul\ - Veritabanı ve Loglar / DB & Logs:
C:\ProgramData\Karavul\ - Web Arayüz Portu / Web UI Port:
9066(TR: Localhost'a kısıtlıdır / EN: Restricted to Localhost)
TR: Karavul üzerinden Telegram bildirimleri alabilmek için appsettings.json dosyasındaki Telegram ayarlarını yapılandırmanız gerekmektedir:
EN: To receive Telegram notifications via Karavul, you must configure the Telegram settings in your appsettings.json file:
"Telegram": {
"BotToken": "YOUR_BOT_TOKEN",
"ChannelName": "Kanal Adı (Örn: Karavul)"
}
-
BotToken Alma / Getting the BotToken:
- TR: Telegram'da arama çubuğuna @BotFather yazarak resmi bota gidin.
/newbotkomutunu göndererek yeni bir bot oluşturun. BotFather size uzun bir HTTP API Token (BotToken) verecektir. - EN: Search for @BotFather in Telegram and go to the official bot. Send the
/newbotcommand to create a new bot. BotFather will provide you with a long HTTP API Token (BotToken).
- TR: Telegram'da arama çubuğuna @BotFather yazarak resmi bota gidin.
-
ChannelName:
- TR: Karavul arayüzünde "Bildirim Geçmişi" tablosunda görünecek temsili isimdir. Görsel amaçlıdır.
- EN: This is the display name that will appear in the "Notification Logs" table in the Karavul UI. It is purely for visual purposes.
TR: Karavul, hem kullanıcı arayüzü (UI) hem de arka plan bildirimleri için Türkçe (tr) ve İngilizce (en) dil desteğine sahiptir.
- Web Arayüzü: Login ekranında veya üst menüdeki dil değiştirme butonu ile dil anlık olarak değiştirilebilir. Seçiminiz tarayıcı çerezlerinde saklanır.
- Bildirimler: Arka planda gönderilen Telegram vb. bildirimlerin dili,
appsettings.jsoniçerisindekiLanguageparametresi ile belirlenir (trveyaen).
EN: Karavul features Turkish (tr) and English (en) language support for both the user interface (UI) and background notifications.
- Web UI: You can instantly switch the language using the language toggle button on the login screen or top menu. Your selection is stored in browser cookies.
- Notifications: The language for background notifications (like Telegram) is determined by the
Languageparameter inappsettings.json(troren).
TR: appsettings.Production.json (veya appsettings.Development.json) dosyası içindeki Karavul düğümü altındaki tüm ayarların açıklamaları:
EN: Explanations for all settings under the Karavul node in the appsettings.Production.json (or appsettings.Development.json) file:
WebPort: (int) Web yönetim arayüzünün çalışacağı HTTP portudur. / The HTTP port for the web management interface. (Default: 9066)DatabasePath: (string) SQLite veritabanı dosyasının tam fiziksel yolu. / Full physical path to the SQLite database file.LogPath: (string) Log dosyalarının kaydedileceği klasör dizini. / Directory path where log files will be saved.RetentionDays: (int) Olayların ve bildirim geçmişinin veritabanında kaç gün saklanacağını belirler. / Number of days to keep incidents and notification history before deletion.CheckWorkerIntervalMs: (int) Aktif monitörlerin kaç milisaniyede bir sıraya alınıp kontrol edileceği. / How often (in milliseconds) active monitors are queued and checked.CleanupIntervalHours: (int) Eski verileri silen temizlik görevinin kaç saatte bir çalışacağı. / How often (in hours) the database cleanup worker runs to delete old data.Language: (string) Arka plan bildirimleri (Telegram vb.) için kullanılacak sistem dili.trveyaenalabilir. / The system language used for background notifications. Acceptstroren.