[{"id":16,"title":"Terminalde Log Dosyalar\u0131n\u0131 Ger\u00e7ek Zamanl\u0131 Ke\u015ffet","content":"<h1>lnav (Log File Navigator) - Kapsaml\u0131 Rehber<\/h1>\r\n<p>Log dosyalar\u0131n\u0131 analiz etmek sistem y&ouml;neticisi ve geli\u015ftiricilerin en s\u0131k kar\u015f\u0131la\u015ft\u0131\u011f\u0131 g&ouml;revlerden biridir. <code>tail -f<\/code>, <code>grep<\/code>, <code>less<\/code> gibi ara&ccedil;lar\u0131 birli\u015ftirip s&uuml;rekli terminal de\u011fi\u015ftirmek yorucu de\u011fil mi? <strong>lnav (Log File Navigator)<\/strong> tam bu sorunu &ccedil;&ouml;zmek i&ccedil;in tasarlanm\u0131\u015f devrimsel bir ara&ccedil;t\u0131r.<\/p>\r\n<h2>\ud83c\udfaf lnav Nedir?<\/h2>\r\n<p>lnav, log dosyalar\u0131n\u0131 analiz etmek i&ccedil;in &ouml;zel olarak tasarlanm\u0131\u015f geli\u015fmi\u015f bir terminal uygulamas\u0131d\u0131r. Apache, Nginx, systemd journal, Docker, PostgreSQL ve y&uuml;zlerce farkl\u0131 log format\u0131n\u0131 otomatik olarak alg\u0131layarak tek bir aray&uuml;zde birle\u015ftirir.<\/p>\r\n<h3>Temel Avantajlar:<\/h3>\r\n<ul>\r\n<li><strong>&Ccedil;oklu format deste\u011fi:<\/strong> 100+ log format\u0131n\u0131 otomatik alg\u0131lar<\/li>\r\n<li><strong>Ger&ccedil;ek zamanl\u0131 izleme:<\/strong> Dosyalar de\u011fi\u015ftik&ccedil;e otomatik g&uuml;ncellenir<\/li>\r\n<li><strong>SQL sorgular\u0131:<\/strong> Log verilerini SQL ile sorgulayabilirsiniz<\/li>\r\n<li><strong>Zaman senkronizasyonu:<\/strong> Farkl\u0131 kaynaklardan gelen loglar\u0131 zaman damgas\u0131na g&ouml;re birle\u015ftirir<\/li>\r\n<li><strong>G&ouml;rsel aray&uuml;z:<\/strong> Renkli syntax highlighting ve histogram g&ouml;r&uuml;n&uuml;m&uuml;<\/li>\r\n<\/ul>\r\n<h2>\ud83d\udcbe Kurulum<\/h2>\r\n<h3>Linux (Debian\/Ubuntu):<\/h3>\r\n<pre class=\"language-bash\"><code># APT ile kurulum\r\nsudo apt-get update\r\nsudo apt-get install lnav\r\n\r\n# Snap ile kurulum\r\nsudo snap install lnav<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Linux (Red Hat\/CentOS\/Fedora):<\/h3>\r\n<pre class=\"language-bash\"><code># DNF ile kurulum (Fedora)\r\nsudo dnf install lnav\r\n\r\n# YUM ile kurulum (CentOS\/RHEL)\r\nsudo yum install lnav\r\n# EPEL repository gerekli olabilir\r\nsudo yum install epel-release<\/code><\/pre>\r\n<h3>macOS:<\/h3>\r\n<pre class=\"language-bash\"><code># Homebrew ile kurulum (&ouml;nerilen)\r\nbrew install lnav\r\n\r\n# MacPorts ile kurulum\r\nsudo port install lnav<\/code><\/pre>\r\n<h3>Windows:<\/h3>\r\n<pre class=\"language-markup\"><code># Scoop ile kurulum\r\nscoop install lnav\r\n\r\n# Chocolatey ile kurulum\r\nchoco install lnav\r\n\r\n# WSL i&ccedil;inde Linux kurulum komutlar\u0131 kullan\u0131labilir<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Kaynak Koddan Kurulum:<\/h3>\r\n<pre class=\"language-bash\"><code># Gerekli ba\u011f\u0131ml\u0131l\u0131klar\r\nsudo apt-get install build-essential libncurses5-dev libreadline-dev zlib1g-dev libbz2-dev libsqlite3-dev libcurl4-openssl-dev\r\n\r\n# Kaynak kodunu indirme ve derleme\r\nwget https:\/\/github.com\/tstack\/lnav\/releases\/download\/v0.11.2\/lnav-0.11.2.tar.gz\r\ntar xzf lnav-0.11.2.tar.gz\r\ncd lnav-0.11.2\r\n.\/configure\r\nmake\r\nsudo make install<\/code><\/pre>\r\n<h2>\ud83d\ude80 Temel Kullan\u0131m<\/h2>\r\n<h3>H\u0131zl\u0131 Ba\u015flang\u0131&ccedil;<\/h3>\r\n<pre class=\"language-bash\"><code># Tek dosya a&ccedil;ma\r\nlnav \/var\/log\/syslog\r\n\r\n# Birden fazla dosya a&ccedil;ma\r\nlnav \/var\/log\/nginx\/access.log \/var\/log\/nginx\/error.log\r\n\r\n# Dizindeki t&uuml;m loglar\u0131 a&ccedil;ma\r\nlnav \/var\/log\/\r\n\r\n# Compressed loglar\u0131 da dahil etme\r\nlnav \/var\/log\/*.log \/var\/log\/*.gz<\/code><\/pre>\r\n<h3>Ger&ccedil;ek Zamanl\u0131 \u0130zleme<\/h3>\r\n<pre class=\"language-bash\"><code># Watch mode ile ba\u015flatma\r\nlnav -t \/var\/log\/syslog\r\n\r\n# Tail mode (yeni sat\u0131rlar\u0131 takip et)\r\nlnav -f \/var\/log\/apache2\/access.log\r\n\r\n# Recursive mode (alt dizinleri de tara)\r\nlnav -r \/var\/log\/<\/code><\/pre>\r\n<h2>\ud83c\udfae \u0130nteraktif Komutlar ve Klavye K\u0131sayollar\u0131<\/h2>\r\n<h3>Navigasyon K\u0131sayollar\u0131<\/h3>\r\n<table>\r\n<thead>\r\n<tr>\r\n<th>K\u0131sayol<\/th>\r\n<th>A&ccedil;\u0131klama<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td>Space\/b<\/td>\r\n<td>Sayfa a\u015fa\u011f\u0131\/yukar\u0131<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>&uarr;\/&darr;<\/td>\r\n<td>Sat\u0131r a\u015fa\u011f\u0131\/yukar\u0131<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Home\/End<\/td>\r\n<td>Dosya ba\u015f\u0131\/sonu<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>g\/G<\/td>\r\n<td>Belirli sat\u0131ra git \/ Son sat\u0131ra git<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>n\/N<\/td>\r\n<td>Sonraki\/&ouml;nceki arama sonucu<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\/<\/td>\r\n<td>Arama modunu a&ccedil;<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h3>Zaman Navigasyonu<\/h3>\r\n<table>\r\n<thead>\r\n<tr>\r\n<th>K\u0131sayol<\/th>\r\n<th>A&ccedil;\u0131klama<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td>t<\/td>\r\n<td>Zaman damgas\u0131 g&ouml;r&uuml;n&uuml;m&uuml;n&uuml; a&ccedil;\/kapat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>T<\/td>\r\n<td>Belirli zamana git<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>d\/D<\/td>\r\n<td>Bir g&uuml;n ileri\/geri<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>h\/H<\/td>\r\n<td>Bir saat ileri\/geri<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>m\/M<\/td>\r\n<td>Bir dakika ileri\/geri<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h3>Filtreleme ve G&ouml;r&uuml;n&uuml;m<\/h3>\r\n<table>\r\n<thead>\r\n<tr>\r\n<th>K\u0131sayol<\/th>\r\n<th>A&ccedil;\u0131klama<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td>f<\/td>\r\n<td>Filtre men&uuml;s&uuml;n&uuml; a&ccedil;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>F<\/td>\r\n<td>T&uuml;m filtreleri temizle<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>s<\/td>\r\n<td>Histogram g&ouml;r&uuml;n&uuml;m&uuml;n&uuml; a&ccedil;\/kapat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>x<\/td>\r\n<td>Log level g&ouml;r&uuml;n&uuml;m&uuml;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>X<\/td>\r\n<td>Geni\u015fletilmi\u015f g&ouml;r&uuml;n&uuml;m<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2>\ud83d\udd0d SQL Sorgular\u0131 ile Log Analizi<\/h2>\r\n<p>lnav'\u0131n en g&uuml;&ccedil;l&uuml; &ouml;zelliklerinden biri, log verilerini SQL ile sorgulayabilmesidir.<\/p>\r\n<h3>Temel SQL Komutlar\u0131<\/h3>\r\n<pre class=\"language-bash\"><code>-- Komut sat\u0131r\u0131n\u0131 a&ccedil;mak i&ccedil;in `:` tu\u015funa bas\u0131n\r\n\r\n-- T&uuml;m ERROR seviyesindeki loglar\u0131 g&ouml;ster\r\n:filter-in log_level = 'error'\r\n\r\n-- Son 1 saatteki loglar\u0131 listele\r\nSELECT * FROM all_logs WHERE log_time &gt;= datetime('now', '-1 hour')\r\n\r\n-- IP adresine g&ouml;re gruplama (Apache\/Nginx loglar\u0131 i&ccedil;in)\r\nSELECT c_ip, count(*) as hit_count \r\nFROM access_log \r\nGROUP BY c_ip \r\nORDER BY hit_count DESC \r\nLIMIT 10\r\n\r\n-- HTTP status kodlar\u0131n\u0131 analiz et\r\nSELECT sc_status, count(*) as count \r\nFROM access_log \r\nWHERE log_time &gt;= datetime('now', '-1 day') \r\nGROUP BY sc_status \r\nORDER BY count DESC\r\n\r\n-- Error loglar\u0131ndaki en s\u0131k tekrar eden mesajlar\u0131 bul\r\nSELECT log_body, count(*) as frequency \r\nFROM all_logs \r\nWHERE log_level = 'error' \r\nGROUP BY log_body \r\nORDER BY frequency DESC \r\nLIMIT 5<\/code><\/pre>\r\n<pre><code class=\"language-sql\">\r\n<\/code><\/pre>\r\n<h3>Geli\u015fmi\u015f Sorgular<\/h3>\r\n<pre class=\"language-bash\"><code>-- Zaman bazl\u0131 analiz (saatlik breakdown)\r\nSELECT strftime('%H', log_time) as hour, count(*) as request_count \r\nFROM access_log \r\nWHERE log_time &gt;= date('now') \r\nGROUP BY hour \r\nORDER BY hour\r\n\r\n-- Response time analizi\r\nSELECT avg(duration), min(duration), max(duration) \r\nFROM access_log \r\nWHERE sc_status = 200\r\n\r\n-- Hata oran\u0131 hesaplama\r\nSELECT (SELECT count(*) FROM access_log WHERE sc_status &gt;= 400) * 100.0 \/ \r\n       (SELECT count(*) FROM access_log) as error_percentage\r\n\r\n-- Unique ziyaret&ccedil;i say\u0131s\u0131\r\nSELECT count(DISTINCT c_ip) as unique_visitors \r\nFROM access_log \r\nWHERE log_time &gt;= date('now')<\/code><\/pre>\r\n<h2>\ud83d\udcca Geli\u015fmi\u015f &Ouml;zellikler<\/h2>\r\n<h3>1. Otomatik Format Alg\u0131lama<\/h3>\r\n<p>lnav otomatik olarak \u015fu formatlar\u0131 alg\u0131lar:<\/p>\r\n<ul>\r\n<li>Apache Common\/Combined Log Format<\/li>\r\n<li>Nginx access\/error logs<\/li>\r\n<li>Syslog (RFC3164\/RFC5424)<\/li>\r\n<li>systemd Journal<\/li>\r\n<li>Docker container logs<\/li>\r\n<li>PostgreSQL logs<\/li>\r\n<li>MySQL logs<\/li>\r\n<li>JSON structured logs<\/li>\r\n<li>ve 100+ format daha...<\/li>\r\n<\/ul>\r\n<h3>2. Custom Format Tan\u0131mlama<\/h3>\r\n<p><code>~\/.lnav\/formats\/<\/code> dizininde custom format dosyalar\u0131:<\/p>\r\n<pre class=\"language-bash\"><code>cat &gt; ~\/.lnav\/formats\/myapp.json &lt;&lt; EOF\r\n{\r\n  \"myapp_log\": {\r\n    \"title\": \"My Application Log Format\",\r\n    \"description\": \"Custom log format for my application\",\r\n    \"url\": \"http:\/\/example.com\/log-format\",\r\n    \"regex\": {\r\n      \"std\": {\r\n        \"pattern\": \"^(?P\\\\d{4}-\\\\d{2}-\\\\d{2} \\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\[(?P\\\\w+)\\\\] (?P.*)\"\r\n      }\r\n    },\r\n    \"timestamp-field\": \"timestamp\",\r\n    \"level-field\": \"level\",\r\n    \"body-field\": \"body\"\r\n  }\r\n}\r\nEOF<\/code><\/pre>\r\n<h3>3. Bookmarks ve Annotations<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># &Ouml;nemli loglar\u0131 i\u015faretle\r\n:bookmark \"Critical error occurred\"\r\n\r\n# Annotation ekle\r\n:comment \"This error started the cascade failure\"\r\n\r\n# Bookmark listesini g&ouml;r&uuml;nt&uuml;le\r\n:bookmarks<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>4. Session Y&ouml;netimi<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-python\"><code># Session kaydet\r\n:save-session \/tmp\/debug-session.lnav\r\n\r\n# Session y&uuml;kle\r\nlnav -s \/tmp\/debug-session.lnav\r\n\r\n# Son session'\u0131 otomatik y&uuml;kle\r\nlnav -r<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h2>\ud83d\udd27 Pratik Kullan\u0131m Senaryolar\u0131<\/h2>\r\n<h3>Senaryo 1: Web Server Log Analizi<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># Nginx access ve error loglar\u0131n\u0131 birlikte analiz\r\nlnav \/var\/log\/nginx\/access.log \/var\/log\/nginx\/error.log\r\n\r\n# SQL ile analiz\r\n:;SELECT c_ip, count(*) FROM access_log GROUP BY c_ip ORDER BY count(*) DESC LIMIT 10\r\n:filter-in sc_status &gt;= 400<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Senaryo 2: Sistem Hatalar\u0131n\u0131 Takip<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># Systemd journal ve syslog birlikte\r\nlnav \/var\/log\/syslog\r\n# veya\r\njournalctl -f | lnav\r\n\r\n# Error ve warning seviyelerini filtrele\r\n:filter-in log_level IN ('error', 'warning')<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Senaryo 3: Uygulama Debug<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># Docker container loglar\u0131\r\ndocker logs -f myapp | lnav\r\n\r\n# Uygulama loglar\u0131 ile sistem loglar\u0131n\u0131 birle\u015ftir\r\nlnav \/var\/log\/myapp\/*.log \/var\/log\/syslog<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Senaryo 4: Performance Monitoring<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># Apache access log performance analizi\r\nlnav \/var\/log\/apache2\/access.log\r\n\r\n# SQL ile yava\u015f requestleri bul\r\n:;SELECT cs_uri_stem, avg(duration) as avg_time FROM access_log GROUP BY cs_uri_stem HAVING avg_time &gt; 1000 ORDER BY avg_time DESC<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h2>\ud83c\udfa8 G&ouml;rsel Customization<\/h2>\r\n<h3>Renk \u015eemalar\u0131<\/h3>\r\n<pre><code class=\"language-bash\"># Tema de\u011fi\u015ftirme\r\n:config theme monokai\r\n:config theme solarized-dark\r\n:config theme default\r\n\r\n# Custom renk ayarlar\u0131\r\n~\/.lnav\/configs\/default\/config.json\r\n<\/code><\/pre>\r\n<h3>Histogram G&ouml;r&uuml;n&uuml;m&uuml;<\/h3>\r\n<ul>\r\n<li>Histogram aktifle\u015ftir (s tu\u015fu)<\/li>\r\n<li>Zaman bazl\u0131 log da\u011f\u0131l\u0131m\u0131n\u0131 g&ouml;rsel olarak g&ouml;sterir<\/li>\r\n<li>Spike'lar\u0131 ve anomalileri kolayca tespit eder<\/li>\r\n<\/ul>\r\n<h2>\ud83d\udea8 Troubleshooting ve En \u0130yi Pratikler<\/h2>\r\n<h3>Performans Optimizasyonu<\/h3>\r\n<pre><code class=\"language-bash\"># B&uuml;y&uuml;k loglar i&ccedil;in bellek kullan\u0131m\u0131n\u0131 s\u0131n\u0131rla\r\nexport LNAV_EXP_DISABLE_PRECOMPUTE=1\r\n\r\n# Index olu\u015fturmay\u0131 devre d\u0131\u015f\u0131 b\u0131rak (h\u0131z i&ccedil;in)\r\nlnav --no-index \/var\/log\/huge.log\r\n\r\n# Sadece son N sat\u0131r\u0131 y&uuml;kle\r\ntail -n 10000 \/var\/log\/big.log | lnav\r\n<\/code><\/pre>\r\n<h3>Yayg\u0131n Sorunlar ve &Ccedil;&ouml;z&uuml;mleri<\/h3>\r\n<p><strong>Problem:<\/strong> Log format\u0131 tan\u0131nm\u0131yor <strong>&Ccedil;&ouml;z&uuml;m:<\/strong> Manual format belirtme<\/p>\r\n<pre><code class=\"language-bash\">:open \/path\/to\/log.txt syslog\r\n<\/code><\/pre>\r\n<p><strong>Problem:<\/strong> &Ccedil;ok yava\u015f y&uuml;kleniyor <strong>&Ccedil;&ouml;z&uuml;m:<\/strong> Streaming mode kullan<\/p>\r\n<pre><code class=\"language-bash\">tail -f \/var\/log\/big.log | lnav -\r\n<\/code><\/pre>\r\n<p><strong>Problem:<\/strong> UTF-8 karakter sorunu <strong>&Ccedil;&ouml;z&uuml;m:<\/strong> Encoding belirt<\/p>\r\n<pre><code class=\"language-bash\">export LC_ALL=en_US.UTF-8\r\nlnav \/var\/log\/app.log\r\n<\/code><\/pre>\r\n<h2>\ud83d\udcc8 Monitoring ve Alerting Entegrasyonu<\/h2>\r\n<h3>Script ile Otomasyonu<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code>#!\/bin\/bash\r\n# lnav-monitor.sh\r\n\r\nERROR_COUNT=$(lnav -n -c ':;SELECT count(*) FROM all_logs WHERE log_level=\"error\" AND log_time &gt;= datetime(\"now\", \"-5 minutes\")' \/var\/log\/app.log)\r\n\r\nif [ $ERROR_COUNT -gt 0 ]; then\r\n    echo \"ALERT: $ERROR_COUNT errors in last 5 minutes\"\r\n    # Send notification\r\nfi<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h3>Prometheus Metrikleri<\/h3>\r\n<pre>&nbsp;<\/pre>\r\n<pre class=\"language-bash\"><code># Log metrics export\r\nlnav -c ':;SELECT log_level, count(*) FROM all_logs WHERE log_time &gt;= datetime(\"now\", \"-1 hour\") GROUP BY log_level' -n \/var\/log\/app.log | while read level count; do\r\n    echo \"log_entries_total{level=\\\"$level\\\"} $count\"\r\ndone<\/code><\/pre>\r\n<pre><code class=\"language-bash\">\r\n<\/code><\/pre>\r\n<h2>\ud83d\udd17 Di\u011fer Ara&ccedil;larla Entegrasyon<\/h2>\r\n<h3>ELK Stack Alternative<\/h3>\r\n<pre><code class=\"language-bash\"># lnav + jq + curl ile basit log aggregation\r\nlnav -c ':;SELECT * FROM all_logs WHERE log_level=\"error\"' -n \/var\/log\/*.log | jq -r '. | {timestamp, level, message}' | curl -X POST -H \"Content-Type: application\/json\" -d @- http:\/\/logserver\/api\/logs\r\n<\/code><\/pre>\r\n<h3>Grafana Integration<\/h3>\r\n<pre><code class=\"language-bash\"># JSON output ile Grafana'ya veri g&ouml;nderme\r\nlnav -c ':;SELECT strftime(\"%Y-%m-%d %H:00:00\", log_time) as hour, count(*) FROM all_logs GROUP BY hour' -n \/var\/log\/app.log\r\n<\/code><\/pre>\r\n<h2>\ud83c\udf93 Pro Tips ve \u0130leri Seviye Kullan\u0131m<\/h2>\r\n<h3>1. Regular Expression G&uuml;&ccedil;l&uuml; Filtreleme<\/h3>\r\n<pre><code class=\"language-bash\"># Regex ile filtreleme\r\n:filter-in log_body REGEXP 'user_id:\\s*(\\d+)'\r\n\r\n# IP adresi pattern'i\r\n:filter-in c_ip REGEXP '^192\\.168\\.'\r\n<\/code><\/pre>\r\n<h3>2. Multi-line Log Handling<\/h3>\r\n<pre><code class=\"language-bash\"># Java stack trace gibi multi-line loglar i&ccedil;in\r\n:config show-time-offset true\r\n<\/code><\/pre>\r\n<h3>3. Export ve Payla\u015f\u0131m<\/h3>\r\n<pre><code class=\"language-bash\"># Filtered loglar\u0131 export et\r\n:write-csv-to \/tmp\/filtered_logs.csv\r\n:write-json-to \/tmp\/logs.json\r\n\r\n# Screenshot benzeri text export\r\n:write-to \/tmp\/log_snapshot.txt\r\n<\/code><\/pre>\r\n<h3>4. Keyboard Shortcuts Customization<\/h3>\r\n<pre><code class=\"language-json\">\/\/ ~\/.lnav\/configs\/default\/keymap.json\r\n{\r\n  \"key-map\": {\r\n    \"x\": \":toggle-view\",\r\n    \"ctrl-r\": \":reset-session\"\r\n  }\r\n}\r\n<\/code><\/pre>\r\n<h2>\ud83d\udcda Kar\u015f\u0131la\u015ft\u0131rma Tablosu<\/h2>\r\n<h2>&nbsp;<\/h2>\r\n<h2><span style=\"font-size: 14px;\"><img style=\"max-width: 100%; height: auto;\" src=\"..\/..\/..\/uploads\/images\/6899f02d37c66_1754918957.png\" alt=\"Y&uuml;klenen resim\"><\/span><\/h2>\r\n<h2><span style=\"font-size: 14px;\">\ud83c\udfaf Sonu&ccedil; ve &Ouml;neriler<\/span><\/h2>\r\n<p>lnav, log analizi i&ccedil;in g&uuml;&ccedil;l&uuml; ve kullan\u0131\u015fl\u0131 bir ara&ccedil;t\u0131r. &Ouml;zellikle:<\/p>\r\n<h3>Kimler Kullanmal\u0131:<\/h3>\r\n<ul>\r\n<li><strong>System Administrators:<\/strong> Merkezi log analizi i&ccedil;in<\/li>\r\n<li><strong>DevOps Engineers:<\/strong> CI\/CD pipeline debugging<\/li>\r\n<li><strong>SRE Teams:<\/strong> Incident response ve post-mortem analizi<\/li>\r\n<li><strong>Developers:<\/strong> Application debugging ve performance tuning<\/li>\r\n<li><strong>Security Analysts:<\/strong> Security event correlation<\/li>\r\n<\/ul>\r\n<h3>Kullan\u0131m &Ouml;nerileri:<\/h3>\r\n<ul>\r\n<li><strong>G&uuml;nl&uuml;k rutinde:<\/strong> <code>tail -f<\/code> yerine <code>lnav -f<\/code> kullan\u0131n<\/li>\r\n<li><strong>Debug sessions:<\/strong> Bookmarks ve annotations kullanarak &ouml;nemli noktalar\u0131 i\u015faretleyin<\/li>\r\n<li><strong>Performance tuning:<\/strong> SQL queries ile bottleneck analizi yap\u0131n<\/li>\r\n<li><strong>Team collaboration:<\/strong> Session dosyalar\u0131n\u0131 payla\u015farak debugging s&uuml;recini h\u0131zland\u0131r\u0131n<\/li>\r\n<li><strong>Automation:<\/strong> Script'lerde lnav SQL &ouml;zelliklerini kullanarak otomatik raporlar olu\u015fturun<\/li>\r\n<\/ul>\r\n<h3>Son Tavsiyeler:<\/h3>\r\n<ul>\r\n<li>Interactive mode'u &ouml;\u011frenmeye zaman ay\u0131r\u0131n<\/li>\r\n<li>SQL sorgu &ouml;zelliklerini master edin<\/li>\r\n<li>Custom format tan\u0131mlamay\u0131 &ouml;\u011frenin<\/li>\r\n<li>Keyboard shortcuts'lar\u0131 ezberleyin<\/li>\r\n<li>Regular expression filtreleme kullan\u0131n<\/li>\r\n<\/ul>\r\n<p>Log analizi art\u0131k karma\u015f\u0131k bir s&uuml;re&ccedil; olmak zorunda de\u011fil. lnav ile tail, grep, less d&ouml;ng&uuml;s&uuml;nden kurtulun ve log'lar\u0131n\u0131z\u0131 saniyeler i&ccedil;inde analiz edin!<\/p>\r\n<hr>\r\n<p><em>Bu rehber lnav v0.11+ s&uuml;r&uuml;m&uuml; baz al\u0131narak haz\u0131rlanm\u0131\u015ft\u0131r. En son &ouml;zellikler i&ccedil;in GitHub repository'yi takip edin.<\/em><\/p>\r\n<p><strong>Etiketler:<\/strong> linux, lnav, logs, observability, sysadmin, devops, sre, terminal, dashboard, monitoring<\/p>","excerpt":"lnav (Log File Navigator) tam bu sorunu \u00e7\u00f6zmek i\u00e7in tasarlanm\u0131\u015f devrimsel bir ara\u00e7t\u0131r.","created_at":"2025-07-27 11:21:02","updated_at":"2026-09-07 16:17:37","category_id":6,"view_count":917,"reading_time":9,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-07-27 11:21:02","featured_image":"resimyok.jpg","slug":"terminalde-log-dosyalarini-gercek-zamanli-kesfet","category_name":"Sistem","category_slug":"sistem","category_color":"#3b82f6"},{"id":169,"title":"Active Directory G\u00fcvenli\u011fi ve \u0130zleme Ara\u00e7lar\u0131","content":"Active Directory (AD), kurumsal a\u011flar\u0131n temelini olu\u015fturan kritik bir bile\u015fendir. Ancak, AD'nin karma\u015f\u0131k yap\u0131s\u0131 ve geni\u015f kapsam\u0131, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n ortaya \u00e7\u0131kmas\u0131na neden olabilir. Bu nedenle, AD g\u00fcvenli\u011fini sa\u011flamak ve olas\u0131 tehditleri tespit etmek i\u00e7in \u00e7e\u015fitli ara\u00e7lar ve scriptler geli\u015ftirilmi\u015ftir. Bu blog yaz\u0131s\u0131nda, AD g\u00fcvenli\u011fi ve izleme konusunda kullan\u0131lan baz\u0131 pop\u00fcler ara\u00e7lar\u0131 ve scriptleri inceleyece\u011fiz. ## 1. **Invoke-TrimarcADChecks** Bu PowerShell scripti, tek bir etki alan\u0131 AD orman\u0131ndan veri toplamak ve Active Directory G\u00fcvenlik De\u011ferlendirmesi (ADSA) yapmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Script, AD yap\u0131land\u0131rmas\u0131ndaki zay\u0131f noktalar\u0131 ve g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131l\u0131r. <a href=\"https:\/\/ondernet.net\/post\/invoke-trimarcadchecks\">Kurulum ve Kullan\u0131m<\/a> ## 2. **Create-Tiers in AD** Bu proje, herhangi bir ortamda Active Directory'de katmanlar\u0131n otomatik olarak da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar. Katmanl\u0131 mimari, AD g\u00fcvenli\u011fini art\u0131rmak i\u00e7in kritik \u00f6neme sahiptir ve bu script, bu s\u00fcreci otomatikle\u015ftirir. <a href=\"https:\/\/ondernet.net\/post\/create-tiers-in-ad\">Kurulum ve Kullan\u0131m\u00a0<\/a> ## 3. **SAMRi10** art\u0131k MS galerisinde bulunmuyor..!! Windows 10 ve Server 2016'da SAM (Security Account Manager) uzaktan eri\u015fimini g\u00fc\u00e7lendirmek i\u00e7in tasarlanm\u0131\u015f bir ara\u00e7t\u0131r. Bu ara\u00e7, yetkisiz eri\u015fimleri engellemek i\u00e7in SAM veritaban\u0131n\u0131n g\u00fcvenli\u011fini art\u0131r\u0131r. &nbsp; ## 4. **Net Cease** Net Session Enumeration'\u0131 g\u00fc\u00e7lendirmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Bu ara\u00e7, a\u011f \u00fczerindeki oturumlar\u0131n yetkisiz \u015fekilde numaraland\u0131r\u0131lmas\u0131n\u0131 engelleyerek g\u00fcvenli\u011fi art\u0131r\u0131r. <a href=\"https:\/\/ondernet.net\/post\/netcease\">Kurulum ve Kullan\u0131m<\/a> ## 5. **PingCastle** PingCastle, Active Directory g\u00fcvenlik seviyesini h\u0131zl\u0131 bir \u015fekilde de\u011ferlendirmek i\u00e7in tasarlanm\u0131\u015f bir ara\u00e7t\u0131r. Risk de\u011ferlendirmesi ve olgunluk \u00e7er\u00e7evesine dayal\u0131 bir metodoloji kullan\u0131r. <a href=\"https:\/\/ondernet.net\/post\/pingcastle\">Kurulum ve Kullan\u0131m<\/a> ## 6. **Aorato Skeleton Key Malware Remote DC Scanner** Bu ara\u00e7, Skeleton Key Malware'nin varl\u0131\u011f\u0131n\u0131 uzaktan taramak i\u00e7in kullan\u0131l\u0131r. Skeleton Key, AD ortam\u0131nda ciddi g\u00fcvenlik a\u00e7\u0131klar\u0131na neden olabilen bir k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131md\u0131r. <a href=\"https:\/\/ondernet.net\/post\/aorato-skeleton-key-malware-remote-dc-scanner\">Kurulum ve Kullan\u0131m<\/a> ## 7. **Reset the krbtgt account password\/keys** Bu script, krbtgt hesab\u0131n\u0131n parolas\u0131n\u0131 ve ilgili anahtarlar\u0131 s\u0131f\u0131rlamak i\u00e7in kullan\u0131l\u0131r. Bu i\u015flem, Kerberos kimlik do\u011frulama sorunlar\u0131n\u0131 en aza indirirken AD g\u00fcvenli\u011fini art\u0131r\u0131r. <a href=\"https:\/\/ondernet.net\/post\/krbtgt-hesabinin-active-directory-de-guvenli-bir-sekilde-sifirlanmasi\">Kurulum ve Kullan\u0131m<\/a> ## 8. **RiskySPN** RiskySPN, SPN'ler (Service Principal Name) ile ili\u015fkili hesaplar\u0131 tespit etmek ve k\u00f6t\u00fcye kullanmak i\u00e7in odaklanm\u0131\u015f bir PowerShell script koleksiyonudur. SPN'ler, AD ortam\u0131nda s\u0131k\u00e7a hedef al\u0131nan bile\u015fenlerdir. Kurulum ve Kullan\u0131m ## 9. **Deploy-Deception** Bu PowerShell mod\u00fcl\u00fc, Active Directory'de tuzak nesneleri da\u011f\u0131tmak i\u00e7in kullan\u0131l\u0131r. Tuzak nesneler, sald\u0131rganlar\u0131n ger\u00e7ek sistemlere eri\u015fmeden \u00f6nce tespit edilmesini sa\u011flar. Kurulum ve Kullan\u0131m ## 10. **SpoolerScanner** MS-RPRN'nin uzaktan eri\u015filebilir olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Bu ara\u00e7, yaz\u0131c\u0131 hizmetlerindeki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131l\u0131r. Kurulum ve Kullan\u0131m ## 11. **dcept** Active Directory tuzaklar\u0131n\u0131 da\u011f\u0131tmak ve kullan\u0131m\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Bu ara\u00e7, sald\u0131rganlar\u0131n tespit edilmesini sa\u011flar. Kurulum ve Kullan\u0131m ## 12. **LogonTracer** LogonTracer, Windows olay g\u00fcnl\u00fcklerini g\u00f6rselle\u015ftirerek ve analiz ederek k\u00f6t\u00fc ama\u00e7l\u0131 Windows oturum a\u00e7ma i\u015flemlerini ara\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r. ## 13. **<a href=\"https:\/\/ondernet.net\/post\/dcsyncmonitor\">DCSYNCMonitor<\/a>** DCSYNC ve DCSHADOW sald\u0131r\u0131lar\u0131n\u0131 izlemek ve bu olaylar i\u00e7in \u00f6zel Windows olaylar\u0131 olu\u015fturmak i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Kurulum ve Kullan\u0131m ## 14. **Sigma** SIEM sistemleri i\u00e7in genel imza format\u0131d\u0131r. Sigma, g\u00fcvenlik olaylar\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131lan kurallar\u0131 tan\u0131mlar. Kurulum ve Kullan\u0131m ## 15. **Sysmon** Sysmon, Windows sistem etkinli\u011fini izlemek ve Windows olay g\u00fcnl\u00fc\u011f\u00fcne kaydetmek i\u00e7in kullan\u0131lan bir sistem hizmetidir. Sysmon, sistem yeniden ba\u015flatmalar\u0131 s\u0131ras\u0131nda bile etkin kal\u0131r. Kurulum ve Kullan\u0131m ## 16. **SysmonSearch** SysmonSearch, Sysmon'un olay g\u00fcnl\u00fcklerini g\u00f6rselle\u015ftirerek \u015f\u00fcpheli etkinlikleri ara\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r. Kurulum ve Kullan\u0131m ## 17. **ClrGuard** ClrGuard, Common Language Runtime (CLR) enstr\u00fcmantasyonunu ke\u015ffetmek i\u00e7in bir proof of concept projesidir. Bu ara\u00e7, g\u00fcvenlik ama\u00e7lar\u0131 i\u00e7in CLR'yi izler. ## 18. **Get-ClrReflection** Bellekteki CLR (.NET) mod\u00fcllerini tespit etmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Kurulum ve Kullan\u0131m ## 19. **Get-InjectedThread** Get-InjectedThread, \u00e7al\u0131\u015fan her bir i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131 inceleyerek bellek enjeksiyonunun sonucu olup olmad\u0131\u011f\u0131n\u0131 belirler. Kurulum ve Kullan\u0131m ## 20. **SilkETW** SilkETW ve SilkService, ETW (Event Tracing for Windows) i\u00e7in esnek C# sarmalay\u0131c\u0131lar\u0131d\u0131r. Bu ara\u00e7lar, ETW'nin karma\u015f\u0131kl\u0131klar\u0131n\u0131 ortadan kald\u0131r\u0131r ve ara\u015ft\u0131rma yapmak i\u00e7in basit bir aray\u00fcz sunar. Kurulum ve Kullan\u0131m ## 21. **WatchAD** WatchAD, AD g\u00fcvenlik ihlali tespit sistemi olarak kullan\u0131l\u0131r. Bu ara\u00e7, AD ortam\u0131ndaki olas\u0131 g\u00fcvenlik ihlallerini tespit etmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Kurulum ve Kullan\u0131m ## 22. **Sparrow** Sparrow.ps1, CISA'n\u0131n Bulut Adli T\u0131p ekibi taraf\u0131ndan Azure\/M365 ortam\u0131nda olas\u0131 tehlikeye girmi\u015f hesaplar\u0131 ve uygulamalar\u0131 tespit etmek i\u00e7in olu\u015fturulmu\u015f bir PowerShell scriptidir. Kurulum ve Kullan\u0131m ## 23. **DFIR-O365RC** DFIR-O365RC, Office 365 \u0130\u015f E-posta G\u00fcvenli\u011fi ihlali ara\u015ft\u0131rmalar\u0131 i\u00e7in ilgili g\u00fcnl\u00fckleri toplamak \u00fczere tasarlanm\u0131\u015f bir PowerShell mod\u00fcl\u00fcd\u00fcr. Kurulum ve Kullan\u0131m ## 24. **AzureADIncidentResponse** Azure AD olay m\u00fcdahalesi s\u0131ras\u0131nda yard\u0131mc\u0131 olacak ara\u00e7lar i\u00e7erir. Bu ara\u00e7lar, Azure AD ortam\u0131ndaki g\u00fcvenlik olaylar\u0131n\u0131 h\u0131zl\u0131 bir \u015fekilde yan\u0131tlamak i\u00e7in kullan\u0131l\u0131r. Kurulum ve Kullan\u0131m ## 25. **ADTimeline** ADTimeline scripti, ilgi \u00e7ekici nesneler i\u00e7in Active Directory \u00e7o\u011faltma meta verilerine dayal\u0131 bir zaman \u00e7izelgesi olu\u015fturur. Bu script, AD olaylar\u0131n\u0131 analiz etmek i\u00e7in kullan\u0131l\u0131r. Kurulum ve Kullan\u0131m ## 26. **Sysmon Configuration** Sysmon yap\u0131land\u0131rmas\u0131, y\u00fcksek kaliteli olay izleme i\u00e7in \u00f6zelle\u015ftirilebilir bir \u015fablon sunar. Bu yap\u0131land\u0131rma, Sysmon'un etkinli\u011fini art\u0131rmak i\u00e7in kullan\u0131l\u0131r. Kurulum ve Kullan\u0131m Active Directory g\u00fcvenli\u011fi, kurumsal a\u011flar\u0131n korunmas\u0131nda kritik bir rol oynar. Yukar\u0131da bahsedilen ara\u00e7lar ve scriptler, AD ortam\u0131ndaki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek, g\u00fcvenli\u011fi art\u0131rmak ve olas\u0131 tehditlere kar\u015f\u0131 proaktif \u00f6nlemler almak i\u00e7in kullan\u0131labilir. Bu ara\u00e7lar\u0131 do\u011fru \u015fekilde kullanarak, AD ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak ve olas\u0131 sald\u0131r\u0131lar\u0131 \u00f6nlemek m\u00fcmk\u00fcnd\u00fcr. Unutmay\u0131n, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir ve bu ara\u00e7lar, bu s\u00fcre\u00e7te size yard\u0131mc\u0131 olacak de\u011ferli kaynaklard\u0131r.","excerpt":"Active Directory g\u00fcvenli\u011fi, kurumsal a\u011flar\u0131n korunmas\u0131nda kritik bir rol oynar. Yukar\u0131da bahsedilen ara\u00e7lar ve scriptler, AD ortam\u0131ndaki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek, g\u00fcvenli\u011fi art\u0131rmak ve olas\u0131 tehditlere kar\u015f\u0131 proaktif \u00f6nlemler almak i\u00e7in kullan\u0131labilir. Bu ara\u00e7lar\u0131 do\u011fru \u015fekilde kullanarak, AD ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak ve olas\u0131 sald\u0131r\u0131lar\u0131 \u00f6nlemek m\u00fcmk\u00fcnd\u00fcr.\r\n\r\nUnutmay\u0131n, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir ve bu ara\u00e7lar, bu s\u00fcre\u00e7te size yard\u0131mc\u0131 olacak de\u011ferli kaynaklard\u0131r.","created_at":"2025-02-06 17:35:16","updated_at":"2026-09-07 18:25:09","category_id":7,"view_count":686,"reading_time":6,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-02-06 17:35:16","featured_image":"resimyok.jpg","slug":"active-directory-guvenligi-ve-izleme-araclari","category_name":"Cyber Security","category_slug":"cyber-security","category_color":"#10b981"},{"id":270,"title":"Uptime Kuma: Web Servislerinizi \u0130zlemenin Modern Yolu","content":"<h1>Uptime Kuma ile Web Servislerinizi Kolayca \u0130zleyin<\/h1>\r\n<p>G&uuml;n&uuml;m&uuml;zde web siteleri ve servislerin kesintisiz &ccedil;al\u0131\u015fmas\u0131, i\u015fletmeler i&ccedil;in kritik bir &ouml;neme sahiptir. Kesinti ya\u015fayan bir servis; kullan\u0131c\u0131 memnuniyetini, marka itibar\u0131n\u0131 ve gelirleri do\u011frudan etkileyebilir. \u0130\u015fte bu noktada <strong>Uptime Kuma<\/strong>, a&ccedil;\u0131k kaynakl\u0131, modern ve kullan\u0131c\u0131 dostu bir izleme arac\u0131 olarak devreye giriyor.<\/p>\r\n<p>Bu yaz\u0131da <strong>Uptime Kuma&rsquo;n\u0131n ne oldu\u011funu, &ouml;ne &ccedil;\u0131kan &ouml;zelliklerini ve nas\u0131l kurulaca\u011f\u0131n\u0131<\/strong> detayl\u0131 \u015fekilde inceleyece\u011fiz.<\/p>\r\n<hr>\r\n<h2>Uptime Kuma Nedir?<\/h2>\r\n<p><strong>Uptime Kuma<\/strong>, web siteleri, API&rsquo;ler, sunucular ve di\u011fer internet servislerinin &ccedil;al\u0131\u015fma durumunu s&uuml;rekli olarak izleyen bir monit&ouml;rleme arac\u0131d\u0131r.<\/p>\r\n<p>&Ouml;ne &ccedil;\u0131kan &ouml;zellikleri:<\/p>\r\n<ul>\r\n<li>\r\n<p>Kolay kullan\u0131m sunan web aray&uuml;z&uuml;<\/p>\r\n<\/li>\r\n<li>\r\n<p>HTTP(S), TCP, DNS, Ping gibi &ccedil;oklu protokol deste\u011fi<\/p>\r\n<\/li>\r\n<li>\r\n<p>Kapsaml\u0131 bildirim sistemi<\/p>\r\n<\/li>\r\n<li>\r\n<p>Detayl\u0131 uptime istatistikleri ve raporlama<\/p>\r\n<\/li>\r\n<li>\r\n<p>SSL sertifikas\u0131 takibi<\/p>\r\n<\/li>\r\n<li>\r\n<p>&Ccedil;oklu dil deste\u011fi<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>Bu &ouml;zellikler sayesinde, hem geli\u015ftiriciler hem de sistem y&ouml;neticileri i&ccedil;in g&uuml;&ccedil;l&uuml; bir takip arac\u0131 haline gelmektedir.<\/p>\r\n<hr>\r\n<h2>Sistem Gereksinimleri<\/h2>\r\n<p>Uptime Kuma&rsquo;y\u0131 &ccedil;al\u0131\u015ft\u0131rmak i&ccedil;in minimum gereksinimler olduk&ccedil;a d&uuml;\u015f&uuml;kt&uuml;r:<\/p>\r\n<ul>\r\n<li>\r\n<p><strong>Node.js<\/strong> 14 veya &uuml;zeri<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>1 CPU &ccedil;ekirdek<\/strong><\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>512MB RAM<\/strong><\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>1GB disk alan\u0131<\/strong><\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<h2>Kurulum Y&ouml;ntemleri<\/h2>\r\n<p>Uptime Kuma iki farkl\u0131 \u015fekilde kurulabilir: <strong>Docker<\/strong> (&ouml;nerilen y&ouml;ntem) ve <strong>Node.js ile manuel kurulum<\/strong>.<\/p>\r\n<h3>1. Docker ile Kurulum (&Ouml;nerilen)<\/h3>\r\n<p>Docker, en kolay ve h\u0131zl\u0131 kurulum y&ouml;ntemidir.<\/p>\r\n<p><strong>Ad\u0131mlar:<\/strong><\/p>\r\n<ol>\r\n<li>\r\n<p>Eski Docker s&uuml;r&uuml;mlerini kald\u0131r\u0131n:<\/p>\r\n<pre><code class=\"language-bash\">sudo apt-get remove docker docker-engine docker.io containerd runc\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Gerekli paketleri y&uuml;kleyin:<\/p>\r\n<pre><code class=\"language-bash\">sudo apt-get update\r\nsudo apt-get install ca-certificates curl gnupg lsb-release\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Docker&rsquo;\u0131n resmi GPG anahtar\u0131n\u0131 ekleyin:<\/p>\r\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/apt\/keyrings\r\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Repository ekleyin:<\/p>\r\n<pre><code class=\"language-bash\">echo \"deb https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" \\\r\n| sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Docker Engine&rsquo;i y&uuml;kleyin:<\/p>\r\n<pre><code class=\"language-bash\">sudo apt-get update\r\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Kurulumu do\u011frulay\u0131n:<\/p>\r\n<pre><code class=\"language-bash\">sudo docker run hello-world\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Kullan\u0131c\u0131n\u0131z\u0131 <code>docker<\/code> grubuna ekleyin:<\/p>\r\n<pre><code class=\"language-bash\">sudo usermod -aG docker $USER\r\nnewgrp docker\r\n<\/code><\/pre>\r\n<\/li>\r\n<\/ol>\r\n<p>Ard\u0131ndan Uptime Kuma&rsquo;y\u0131 Docker &uuml;zerinden &ccedil;al\u0131\u015ft\u0131rabilirsiniz.<\/p>\r\n<hr>\r\n<h3>2. Node.js ile Manuel Kurulum<\/h3>\r\n<ol>\r\n<li>\r\n<p>Git deposunu klonlay\u0131n:<\/p>\r\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/louislam\/uptime-kuma.git\r\ncd uptime-kuma\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 y&uuml;kleyin:<\/p>\r\n<pre><code class=\"language-bash\">npm install\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Uygulamay\u0131 derleyin:<\/p>\r\n<pre><code class=\"language-bash\">npm run build\r\n<\/code><\/pre>\r\n<\/li>\r\n<li>\r\n<p>Ba\u015flat\u0131n:<\/p>\r\n<pre><code class=\"language-bash\">npm run start\r\n<\/code><\/pre>\r\n<\/li>\r\n<\/ol>\r\n<hr>\r\n<h2>\u0130lk Yap\u0131land\u0131rma<\/h2>\r\n<ol>\r\n<li>\r\n<p><code>http:\/\/sunucu-ip:3001<\/code> adresine gidin.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Y&ouml;netici hesab\u0131n\u0131z\u0131 olu\u015fturun.<\/p>\r\n<\/li>\r\n<li>\r\n<p>&ldquo;Add New Monitor&rdquo; ile ilk izleme servisinizi ekleyin.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<hr>\r\n<h2>Monit&ouml;r Ekleme<\/h2>\r\n<ul>\r\n<li>\r\n<p>Monit&ouml;r tipini se&ccedil;in (HTTP(S), TCP, DNS vs.)<\/p>\r\n<\/li>\r\n<li>\r\n<p>\u0130zlenecek servis URL veya IP adresini girin<\/p>\r\n<\/li>\r\n<li>\r\n<p>Kontrol aral\u0131\u011f\u0131n\u0131 belirleyin (&ouml;r. 1 dk)<\/p>\r\n<\/li>\r\n<li>\r\n<p>Bildirim kanallar\u0131n\u0131 ayarlay\u0131n<\/p>\r\n<\/li>\r\n<li>\r\n<p>Kaydedin<\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<h2>Bildirim Yap\u0131land\u0131rmas\u0131<\/h2>\r\n<p>Uptime Kuma bir&ccedil;ok bildirim kanal\u0131n\u0131 destekler:<\/p>\r\n<ul>\r\n<li>\r\n<p>E-posta<\/p>\r\n<\/li>\r\n<li>\r\n<p>Telegram<\/p>\r\n<\/li>\r\n<li>\r\n<p>Discord<\/p>\r\n<\/li>\r\n<li>\r\n<p>Slack<\/p>\r\n<\/li>\r\n<li>\r\n<p>Microsoft Teams<\/p>\r\n<\/li>\r\n<li>\r\n<p>Webhook<\/p>\r\n<\/li>\r\n<li>\r\n<p>SMS (Twilio &uuml;zerinden)<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>Her monit&ouml;r i&ccedil;in farkl\u0131 kurallar ve kanallar tan\u0131mlayabilirsiniz.<\/p>\r\n<hr>\r\n<h2>\u0130leri Seviye &Ouml;zellikler<\/h2>\r\n<ul>\r\n<li>\r\n<p><strong>SSL Sertifikas\u0131 Takibi<\/strong> &rarr; Sertifika biti\u015f tarihine yakla\u015f\u0131nca uyar\u0131 verir.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Status Page<\/strong> &rarr; Servis durumlar\u0131n\u0131z\u0131 m&uuml;\u015fterilerinizle payla\u015fabilirsiniz.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Proxy Deste\u011fi<\/strong> &rarr; Belirli bir proxy &uuml;zerinden izleme yapabilirsiniz.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<h2>En \u0130yi Pratikler<\/h2>\r\n<ol>\r\n<li>\r\n<p><strong>Kontrol Aral\u0131\u011f\u0131<\/strong>: Gereksiz y&uuml;klenmeyi &ouml;nlemek i&ccedil;in uygun aral\u0131klar se&ccedil;in.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Bildirimler<\/strong>: Alarm yorgunlu\u011funu &ouml;nlemek i&ccedil;in e\u015fik de\u011ferlerini iyi ayarlay\u0131n.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Yedekleme<\/strong>: <code>\/app\/data<\/code> dizinini d&uuml;zenli yedekleyin.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>G&uuml;venlik<\/strong>: G&uuml;&ccedil;l&uuml; \u015fifre kullan\u0131n, m&uuml;mk&uuml;nse reverse proxy arkas\u0131nda &ccedil;al\u0131\u015ft\u0131r\u0131n.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<hr>\r\n<h2>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar<\/h2>\r\n<ul>\r\n<li>\r\n<p><strong>Ba\u011flant\u0131 Hatalar\u0131<\/strong> &rarr; Firewall, DNS veya proxy ayarlar\u0131n\u0131 kontrol edin.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Yanl\u0131\u015f Alarmlar<\/strong> &rarr; Timeout de\u011ferini veya retry say\u0131s\u0131n\u0131 art\u0131r\u0131n.<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Performans Sorunlar\u0131<\/strong> &rarr; Monit&ouml;r say\u0131s\u0131n\u0131 optimize edin, loglar\u0131 temizleyin.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<h2>&nbsp;<\/h2>\r\n<p><strong>Uptime Kuma<\/strong>, modern aray&uuml;z&uuml;, kolay kurulumu ve zengin &ouml;zellikleriyle servis izleme i&ccedil;in m&uuml;kemmel bir &ccedil;&ouml;z&uuml;md&uuml;r. A&ccedil;\u0131k kaynakl\u0131 yap\u0131s\u0131 ve aktif toplulu\u011fu sayesinde s&uuml;rekli geli\u015fmektedir.<\/p>\r\n<p>\ud83d\udd17 <strong>Kaynaklar<\/strong>:<\/p>\r\n<ul>\r\n<li>\r\n<p><a href=\"https:\/\/github.com\/louislam\/uptime-kuma\">GitHub Repo<\/a><\/p>\r\n<\/li>\r\n<li>\r\n<p><a href=\"https:\/\/demo.uptime.kuma.pet\/\">Demo<\/a><\/p>\r\n<\/li>\r\n<li>\r\n<p><a href=\"https:\/\/hub.docker.com\/r\/louislam\/uptime-kuma\">Docker Hub<\/a><\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>&nbsp;<\/p>","excerpt":"G\u00fcn\u00fcm\u00fczde web siteleri ve servislerinin kesintisiz \u00e7al\u0131\u015fmas\u0131 i\u015fletmeler i\u00e7in kritik \u00f6neme sahiptir. Uptime Kuma, bu servislerin durumunu izlemek i\u00e7in kullan\u0131lan modern, a\u00e7\u0131k kaynakl\u0131 ve kullan\u0131c\u0131 dostu bir izleme arac\u0131d\u0131r. Bu makalede Uptime Kuma\u2019n\u0131n ne oldu\u011funu, \u00f6zelliklerini ve nas\u0131l kurulaca\u011f\u0131z","created_at":"2024-12-29 11:30:41","updated_at":"2026-09-23 11:01:49","category_id":6,"view_count":669,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2024-12-29 11:30:41","featured_image":"resimyok.jpg","slug":"uptime-kuma-web-servislerinizi-izlemenin-modern-yolu","category_name":"Sistem","category_slug":"sistem","category_color":"#3b82f6"}]