{"id":34520,"date":"2025-11-18T05:40:56","date_gmt":"2025-11-18T02:40:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34520"},"modified":"2025-11-18T05:40:56","modified_gmt":"2025-11-18T02:40:56","slug":"nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/","title":{"rendered":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme"},"content":{"rendered":"<p><body><\/p>\n<h2>Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme<\/h2>\n<p>Bu makale, sistem ve a\u011f izlemede yayg\u0131n olarak kullan\u0131lan Nagios&#8217;un g\u00fc\u00e7l\u00fc uyar\u0131 yeteneklerini, modern ve merkezi bir uyar\u0131 y\u00f6netim sistemi olan Alerta ile CentOS 7 sunucular\u0131 \u00fczerinde nas\u0131l entegre edece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klamaktad\u0131r. G\u00fcn\u00fcm\u00fcz\u00fcn karma\u015f\u0131k IT altyap\u0131lar\u0131nda, farkl\u0131 izleme ara\u00e7lar\u0131ndan gelen uyar\u0131lar\u0131 tek bir noktadan y\u00f6netmek, operasyonel verimlili\u011fi art\u0131rmak ve m\u00fcdahale s\u00fcrelerini k\u0131saltmak kritik \u00f6neme sahiptir. Nagios&#8217;un detayl\u0131 izleme yeteneklerini Alerta&#8217;n\u0131n zengin kullan\u0131c\u0131 aray\u00fcz\u00fc, uyar\u0131 gruplama, deduplikasyon ve bildirim y\u00f6netimi \u00f6zellikleriyle birle\u015ftirmek, bu ihtiyac\u0131 kar\u015f\u0131lamak i\u00e7in etkili bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h3>Giri\u015f: Neden Nagios ve Alerta?<\/h3>\n<p>Modern IT ortamlar\u0131, sunucular, a\u011f cihazlar\u0131, uygulamalar ve hizmetler gibi say\u0131s\u0131z bile\u015fenden olu\u015fur. Bu bile\u015fenlerin sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in s\u00fcrekli izleme \u015fartt\u0131r. Nagios, uzun y\u0131llard\u0131r bu alanda kendini kan\u0131tlam\u0131\u015f, esnek ve kapsaml\u0131 bir izleme arac\u0131d\u0131r. Ancak, Nagios&#8217;un uyar\u0131 y\u00f6netimi ve g\u00f6rselle\u015ftirme yetenekleri, \u00f6zellikle b\u00fcy\u00fck ve dinamik ortamlarda, bazen yetersiz kalabilir. Uyar\u0131lar\u0131n merkezi bir panoda toplanmas\u0131, yinelenen uyar\u0131lar\u0131n filtrelenmesi, uyar\u0131 durumlar\u0131n\u0131n kolayca g\u00fcncellenmesi ve farkl\u0131 ekiplere y\u00f6nlendirilmesi gibi ihtiya\u00e7lar ortaya \u00e7\u0131kar.<\/p>\n<p>\u0130\u015fte tam bu noktada Alerta devreye girer. Alerta, \u00e7e\u015fitli kaynaklardan gelen uyar\u0131lar\u0131 toplayan, bunlar\u0131 tek bir merkezi konsolda birle\u015ftiren, deduplike eden, gruplayan ve zengin bir kullan\u0131c\u0131 aray\u00fcz\u00fc \u00fczerinden sunan a\u00e7\u0131k kaynakl\u0131 bir uyar\u0131 y\u00f6netim sistemidir. Alerta, uyar\u0131lar\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc (a\u00e7\u0131k, beklemede, kapal\u0131) y\u00f6netme, uyar\u0131lar\u0131 notlarla zenginle\u015ftirme, farkl\u0131 ekiplere atama ve otomatik eylemler tetikleme gibi geli\u015fmi\u015f \u00f6zellikler sunar.<\/p>\n<p>Nagios&#8217;un derinlemesine izleme ve problem tespiti yeteneklerini Alerta&#8217;n\u0131n \u00fcst\u00fcn uyar\u0131 y\u00f6netimi ve g\u00f6rselle\u015ftirme \u00f6zellikleriyle birle\u015ftirmek, IT operasyonlar\u0131 i\u00e7in g\u00fc\u00e7l\u00fc, verimli ve kullan\u0131c\u0131 dostu bir \u00e7\u00f6z\u00fcm sunar. Bu entegrasyon sayesinde, Nagios taraf\u0131ndan alg\u0131lanan t\u00fcm olaylar an\u0131nda Alerta panosunda g\u00f6r\u00fcn\u00fcr hale gelir, b\u00f6ylece operat\u00f6rler sorunlar\u0131 daha h\u0131zl\u0131 te\u015fhis edebilir ve \u00e7\u00f6zebilir.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu makaledeki ad\u0131mlar\u0131 ba\u015far\u0131yla uygulamak i\u00e7in a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n yerine getirilmesi gerekmektedir:<\/p>\n<p>*   <strong>CentOS 7 Sunucusu:<\/strong> Hem Nagios hem de Alerta i\u00e7in ayr\u0131 veya ayn\u0131 bir CentOS 7 sunucusu (tercihen ayr\u0131 sunucular, ancak bu rehberde entegrasyonu kolayla\u015ft\u0131rmak i\u00e7in ayn\u0131 sunucu \u00fczerinde kurulum ad\u0131mlar\u0131 g\u00f6sterilecektir).<br \/>\n*   <strong>Nagios Kurulumu:<\/strong> CentOS 7 \u00fczerinde \u00e7al\u0131\u015fan ve temel izleme yap\u0131land\u0131rmas\u0131na sahip bir Nagios Core veya Nagios XI kurulumu. Bu makale Nagios kurulumunu kapsamamaktad\u0131r.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131, dosya sistemi ve metin d\u00fczenleyici (vi, nano) kullan\u0131m\u0131 hakk\u0131nda temel bilgi.<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131s\u0131:<\/strong> Sunucunun internete eri\u015fimi olmal\u0131 ve gerekli portlar (HTTP\/HTTPS, Alerta API portu, MongoDB portu) g\u00fcvenlik duvar\u0131nda a\u00e7\u0131k olmal\u0131d\u0131r.<\/p>\n<h3>Nagios&#8217;a K\u0131sa Bir Bak\u0131\u015f<\/h3>\n<p>Nagios, sunucular\u0131n, a\u011f cihazlar\u0131n\u0131n ve hizmetlerin durumunu proaktif olarak izleyen, performans metriklerini toplayan ve belirlenen e\u015fik de\u011ferler a\u015f\u0131ld\u0131\u011f\u0131nda uyar\u0131lar g\u00f6nderen g\u00fc\u00e7l\u00fc bir izleme sistemidir. Temel olarak, Nagios \u015fu bile\u015fenlerden olu\u015fur:<\/p>\n<p>*   <strong>Nagios Core:<\/strong> \u0130zleme mant\u0131\u011f\u0131n\u0131 y\u00fcr\u00fcten ana motor.<br \/>\n*   <strong>Pluginler:<\/strong> \u00c7e\u015fitli hizmetleri ve kaynaklar\u0131 izlemek i\u00e7in kullan\u0131lan harici programlar.<br \/>\n*   <strong>Yap\u0131land\u0131rma Dosyalar\u0131:<\/strong> \u0130zlenecek ana bilgisayarlar, hizmetler, komutlar, zaman aral\u0131klar\u0131 ve bildirim ayarlar\u0131n\u0131n tan\u0131mland\u0131\u011f\u0131 dosyalar.<br \/>\n*   <strong>Web Aray\u00fcz\u00fc:<\/strong> \u0130zlenen nesnelerin durumunu g\u00f6rselle\u015ftiren ve uyar\u0131lar\u0131 g\u00f6steren bir aray\u00fcz.<\/p>\n<p>Nagios, bir problem tespit etti\u011finde, tan\u0131mlanan komutlar ve bildirim mekanizmalar\u0131 arac\u0131l\u0131\u011f\u0131yla e-posta, SMS veya \u00f6zel betikler \u00e7al\u0131\u015ft\u0131rarak y\u00f6neticileri bilgilendirir. Bizim amac\u0131m\u0131z, bu \u00f6zel betik mekanizmas\u0131n\u0131 kullanarak Nagios uyar\u0131lar\u0131n\u0131 Alerta&#8217;ya iletmektir.<\/p>\n<h3>Alerta&#8217;ya K\u0131sa Bir Bak\u0131\u015f<\/h3>\n<p>Alerta, modern bir uyar\u0131 y\u00f6netim sistemidir. Temel \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>Merkezi Uyar\u0131 Panosu:<\/strong> Farkl\u0131 kaynaklardan gelen t\u00fcm uyar\u0131lar\u0131 tek bir aray\u00fczde toplar.<br \/>\n*   <strong>Deduplikasyon:<\/strong> Ayn\u0131 uyar\u0131lar\u0131 otomatik olarak birle\u015ftirir, b\u00f6ylece uyar\u0131 selini \u00f6nler.<br \/>\n*   <strong>Gruplama:<\/strong> \u0130li\u015fkili uyar\u0131lar\u0131 tek bir olay\u0131n par\u00e7as\u0131 olarak gruplar.<br \/>\n*   <strong>Zengin Kullan\u0131c\u0131 Aray\u00fcz\u00fc:<\/strong> Uyar\u0131lar\u0131 filtreleme, s\u0131ralama, not ekleme, durumunu de\u011fi\u015ftirme ve sahiplenme gibi \u00f6zellikler sunar.<br \/>\n*   <strong>API Odakl\u0131:<\/strong> T\u00fcm i\u015flevsellik bir REST API \u00fczerinden sunulur, bu da di\u011fer sistemlerle entegrasyonu kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Bildirim Entegrasyonlar\u0131:<\/strong> E-posta, Slack, PagerDuty gibi pop\u00fcler bildirim servisleriyle entegre olabilir.<br \/>\n*   <strong>Kurallar ve Kara Listeler:<\/strong> Uyar\u0131lar\u0131 i\u015flemek veya belirli uyar\u0131lar\u0131 bast\u0131rmak i\u00e7in kurallar tan\u0131mlama yetene\u011fi.<\/p>\n<p>Alerta&#8217;n\u0131n mimarisi genellikle bir sunucu (API), bir veritaban\u0131 (MongoDB veya PostgreSQL) ve bir web UI&#8217;dan olu\u015fur. Python ile geli\u015ftirilmi\u015ftir ve hafif yap\u0131s\u0131yla dikkat \u00e7eker.<\/p>\n<h3>CentOS 7 \u00dczerine Alerta Kurulumu<\/h3>\n<p>Alerta&#8217;y\u0131 CentOS 7 \u00fczerine kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyece\u011fiz. MongoDB&#8217;yi veritaban\u0131 olarak kullanaca\u011f\u0131z ve Alerta sunucusunu Nginx arkas\u0131na alarak web aray\u00fcz\u00fcne eri\u015fim sa\u011flayaca\u011f\u0131z.<\/p>\n<h4>1. Sistem G\u00fcncellemesi ve \u00d6n Gerekli Paketlerin Kurulumu<\/h4>\n<p>\u0130lk olarak, sisteminizi g\u00fcncelleyin ve Alerta i\u00e7in gerekli olan Python 3, pip ve di\u011fer temel geli\u015ftirme ara\u00e7lar\u0131n\u0131 kurun:<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y\nsudo yum install epel-release -y\nsudo yum install python3 python3-pip python3-devel gcc git -y\nsudo yum install mongodb-org -y # MongoDB kurulumu i\u00e7in gerekli paket<\/code><\/pre>\n<p>E\u011fer <code>python3<\/code> komutu mevcut de\u011filse veya eski bir s\u00fcr\u00fcmse, <code>python36<\/code> veya <code>python38<\/code> gibi paketleri kurman\u0131z gerekebilir ve <code>alternatives<\/code> komutuyla varsay\u0131lan Python 3 s\u00fcr\u00fcm\u00fcn\u00fc ayarlaman\u0131z gerekebilir.<\/p>\n<h4>2. MongoDB Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Alerta, uyar\u0131 verilerini depolamak i\u00e7in bir veritaban\u0131na ihtiya\u00e7 duyar. Bu rehberde MongoDB kullanaca\u011f\u0131z.<\/p>\n<p><strong>MongoDB Repository Ekleme:<\/strong><br \/>\nMongoDB&#8217;nin en son s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in bir repository dosyas\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/yum.repos.d\/mongodb-org-4.4.repo<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi yap\u0131\u015ft\u0131r\u0131n (s\u00fcr\u00fcm numaras\u0131 de\u011fi\u015febilir, g\u00fcncel s\u00fcr\u00fcm i\u00e7in MongoDB dok\u00fcmantasyonunu kontrol edin):<\/p>\n<pre><code class=\"language-ini\">[mongodb-org-4.4]\nname=MongoDB Repository\nbaseurl=https:\/\/repo.mongodb.org\/yum\/redhat\/$releasever\/mongodb-org\/4.4\/x86_64\/\ngpgcheck=1\nenabled=1\ngpgkey=https:\/\/www.mongodb.org\/static\/pgp\/server-4.4.asc<\/code><\/pre>\n<p><strong>MongoDB Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install -y mongodb-org<\/code><\/pre>\n<p><strong>MongoDB&#8217;yi Ba\u015flatma ve Etkinle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mongod\nsudo systemctl enable mongod\nsudo systemctl status mongod<\/code><\/pre>\n<p>MongoDB&#8217;nin varsay\u0131lan olarak <code>27017<\/code> portunda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 unutmay\u0131n. G\u00fcvenlik duvar\u0131n\u0131zda bu portun a\u00e7\u0131k olmas\u0131 gerekebilir, ancak Alerta ve MongoDB ayn\u0131 sunucuda \u00e7al\u0131\u015f\u0131yorsa sadece localhost \u00fczerinden eri\u015fim yeterli olacakt\u0131r.<\/p>\n<h4>3. Alerta Sunucusunun Kurulumu<\/h4>\n<p>pip kullanarak Alerta sunucusunu ve istemcisini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo pip3 install alerta alerta-server alerta-client<\/code><\/pre>\n<p>Bu komut Alerta \u00e7ekirdek bile\u015fenlerini ve komut sat\u0131r\u0131 istemcisini kuracakt\u0131r.<\/p>\n<h4>4. Alerta Sunucusu Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Alerta&#8217;n\u0131n yap\u0131land\u0131rma dosyas\u0131 <code>alerta.conf<\/code> genellikle <code>\/etc\/alerta\/alerta.conf<\/code> veya kullan\u0131c\u0131n\u0131n ana dizinindeki <code>.alerta.d\/alerta.conf<\/code> konumunda bulunur. Sistem genelinde bir yap\u0131land\u0131rma i\u00e7in <code>\/etc\/alerta<\/code> dizinini olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/alerta\nsudo vi \/etc\/alerta\/alerta.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki temel yap\u0131land\u0131rmay\u0131 ekleyin. Daha fazla se\u00e7enek i\u00e7in Alerta dok\u00fcmantasyonuna bakabilirsiniz.<\/p>\n<pre><code class=\"language-ini\">[DEFAULT]\nDEBUG = True\nHOST = 0.0.0.0\nPORT = 8080\nBASE_URL = \/api\nMONGO_URI = mongodb:\/\/localhost:27017\/alerta\nDATABASE = alerta\nCORS_ORIGINS = *\nAUTH_REQUIRED = False # Test ortam\u0131 i\u00e7in False, \u00fcretim i\u00e7in True olmal\u0131\nSECRET_KEY = \"buraya-cok-guclu-bir-sifre-yazin\" # \u00dcretim ortam\u0131 i\u00e7in mutlaka de\u011fi\u015ftirin\nTOKEN_EXPIRE_DAYS = 30\n\n[webhooks]<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> <code>AUTH_REQUIRED = False<\/code> ayar\u0131, test ortam\u0131 i\u00e7in uygun olsa da, \u00fcretim ortam\u0131nda mutlaka <code>True<\/code> olarak ayarlanmal\u0131 ve kimlik do\u011frulama mekanizmalar\u0131 (API key, OAuth2) yap\u0131land\u0131r\u0131lmal\u0131d\u0131r. <code>SECRET_KEY<\/code> de\u011ferini de g\u00fc\u00e7l\u00fc ve benzersiz bir anahtarla de\u011fi\u015ftirin.<\/p>\n<h4>5. Alerta&#8217;y\u0131 systemd Servisi Olarak Yap\u0131land\u0131rma<\/h4>\n<p>Alerta sunucusunun sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak ba\u015flamas\u0131 ve bir servis olarak y\u00f6netilmesi i\u00e7in bir systemd birimi olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/systemd\/system\/alerta.service<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=Alerta API Server\nAfter=network.target mongod.service\n\n[Service]\nExecStart=\/usr\/local\/bin\/alertad --config \/etc\/alerta\/alerta.conf\nWorkingDirectory=\/usr\/local\/bin\nUser=alerta # Bu kullan\u0131c\u0131y\u0131 olu\u015fturman\u0131z gerekecek\nGroup=alerta # Bu grubu olu\u015fturman\u0131z gerekecek\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Alerta servisini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in \u00f6zel bir kullan\u0131c\u0131 ve grup olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo groupadd alerta\nsudo useradd -r -g alerta -s \/sbin\/nologin alerta\nsudo chown -R alerta:alerta \/etc\/alerta # Yap\u0131land\u0131rma dosyas\u0131n\u0131n sahibini de\u011fi\u015ftirin<\/code><\/pre>\n<p>\u015eimdi systemd yap\u0131land\u0131rmas\u0131n\u0131 yeniden y\u00fckleyin, Alerta servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\nsudo systemctl start alerta\nsudo systemctl enable alerta\nsudo systemctl status alerta<\/code><\/pre>\n<p>Alerta API&#8217;sinin varsay\u0131lan olarak 8080 portunda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo netstat -tnlp | grep 8080<\/code><\/pre>\n<h4>6. Nginx ile Ters Proxy ve Web UI Kurulumu (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>Alerta&#8217;n\u0131n web aray\u00fcz\u00fcn\u00fc (UI) sunmak ve API&#8217;ye g\u00fcvenli eri\u015fim sa\u011flamak i\u00e7in Nginx&#8217;i ters proxy olarak kullanmak iyi bir uygulamad\u0131r.<\/p>\n<p><strong>Nginx Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install -y nginx<\/code><\/pre>\n<p><strong>Nginx Yap\u0131land\u0131rmas\u0131:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/nginx\/conf.d\/alerta.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 ekleyin (alan ad\u0131n\u0131z\u0131 <code>your_domain.com<\/code> ile de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name your_domain.com; # Kendi alan ad\u0131n\u0131z\u0131 veya IP adresinizi buraya yaz\u0131n\n\n    location \/ {\n        root \/usr\/share\/nginx\/html\/alerta-web; # Alerta web UI dosyalar\u0131n\u0131n yolu\n        index index.html index.htm;\n        try_files $uri $uri\/ \/index.html;\n    }\n\n    location \/api {\n        proxy_pass http:\/\/127.0.0.1:8080;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_redirect off;\n    }\n}<\/code><\/pre>\n<p><strong>Alerta Web UI Dosyalar\u0131n\u0131 \u0130ndirme:<\/strong><br \/>\nAlerta&#8217;n\u0131n web aray\u00fcz\u00fc statik HTML, CSS ve JavaScript dosyalar\u0131ndan olu\u015fur. Bunlar\u0131 Nginx&#8217;in sunaca\u011f\u0131 bir dizine indirmemiz gerekiyor:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/usr\/share\/nginx\/html\/alerta-web\ncd \/usr\/share\/nginx\/html\/alerta-web\nsudo curl -s https:\/\/api.github.com\/repos\/alerta\/alerta-web\/releases\/latest \\\n  | grep \"browser_download_url.*zip\" \\\n  | cut -d : -f 2,3 \\\n  | tr -d \\\" \\\n  | wget -qi -\nsudo unzip alerta-web-*.zip\nsudo rm alerta-web-*.zip<\/code><\/pre>\n<p><strong>Nginx&#8217;i Ba\u015flatma ve Etkinle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx\nsudo systemctl status nginx<\/code><\/pre>\n<h4>7. G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>E\u011fer sunucunuzda <code>firewalld<\/code> \u00e7al\u0131\u015f\u0131yorsa, gerekli portlar\u0131 a\u00e7man\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-port=80\/tcp # Nginx HTTP\nsudo firewall-cmd --permanent --add-port=443\/tcp # E\u011fer HTTPS kullanacaksan\u0131z\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>Art\u0131k web taray\u0131c\u0131n\u0131zdan <code>http:\/\/your_domain.com<\/code> adresine giderek Alerta web aray\u00fcz\u00fcne eri\u015febilmeniz gerekir. Hen\u00fcz bir uyar\u0131 olmad\u0131\u011f\u0131 i\u00e7in pano bo\u015f g\u00f6r\u00fcnecektir.<\/p>\n<h3>Nagios ile Alerta Entegrasyonu<\/h3>\n<p>\u015eimdi Nagios&#8217;un uyar\u0131lar\u0131n\u0131 Alerta&#8217;ya nas\u0131l g\u00f6nderece\u011fimizi yap\u0131land\u0131raca\u011f\u0131z. Bu, Nagios&#8217;un bildirim komutlar\u0131n\u0131 kullanarak bir Python beti\u011fi \u00e7al\u0131\u015ft\u0131rmak suretiyle yap\u0131lacakt\u0131r.<\/p>\n<h4>1. Alerta API Key Olu\u015fturma (E\u011fer Kimlik Do\u011frulama A\u00e7\u0131ksa)<\/h4>\n<p>E\u011fer Alerta yap\u0131land\u0131rman\u0131zda <code>AUTH_REQUIRED = True<\/code> ise, Nagios&#8217;un Alerta API&#8217;sine eri\u015febilmesi i\u00e7in bir API anahtar\u0131 olu\u015fturman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">alerta key create --username nagios --text \"Nagios API Key\" --expire 1y<\/code><\/pre>\n<p>Bu komut size bir API anahtar\u0131 verecektir. Bu anahtar\u0131 daha sonra kullanmak \u00fczere kaydedin. E\u011fer <code>AUTH_REQUIRED = False<\/code> ise bu ad\u0131ma gerek yoktur.<\/p>\n<h4>2. Nagios \u0130\u00e7in Alerta Bildirim Beti\u011fi Olu\u015fturma<\/h4>\n<p>Nagios, bir uyar\u0131 durumunda belirli bir komutu \u00e7al\u0131\u015ft\u0131rabilir. Bu komut, uyar\u0131 bilgilerini Alerta API&#8217;sine g\u00f6nderecek bir Python beti\u011fi olacakt\u0131r.<\/p>\n<p>Nagios eklentilerinin genellikle bulundu\u011fu dizine gidin ve beti\u011fi olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/usr\/local\/nagios\/libexec\/alerta\nsudo vi \/usr\/local\/nagios\/libexec\/alerta\/send_to_alerta.py<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki Python kodunu yap\u0131\u015ft\u0131r\u0131n. Bu betik, Nagios&#8217;tan gelen ortam de\u011fi\u015fkenlerini veya komut sat\u0131r\u0131 arg\u00fcmanlar\u0131n\u0131 al\u0131r ve bunlar\u0131 Alerta&#8217;n\u0131n <code>alerta-client<\/code>&#8216;\u0131 arac\u0131l\u0131\u011f\u0131yla Alerta API&#8217;sine g\u00f6nderir.<\/p>\n<pre><code class=\"language-python\">#!\/usr\/bin\/env python3\n\nimport os\nimport sys\nimport subprocess\nimport json\n\n<h2>Alerta API Key (E\u011fer AUTH_REQUIRED = True ise buraya yap\u0131\u015ft\u0131r\u0131n)<\/h2>\n<h2>ALERTA_API_KEY = \"YOUR_ALERTA_API_KEY\"<\/h2>\n\n<h2>Alerta API URL<\/h2>\nALERTA_API_URL = \"http:\/\/127.0.0.1:8080\/api\" # Veya Nginx proxy URL'niz: http:\/\/your_domain.com\/api\n\n<h2>Nagios ortam de\u011fi\u015fkenlerinden veya komut sat\u0131r\u0131 arg\u00fcmanlar\u0131ndan uyar\u0131 bilgilerini al<\/h2>\n<h2>Nagios, bildirim komutunu \u00e7al\u0131\u015ft\u0131r\u0131rken bu de\u011fi\u015fkenleri ayarlar.<\/h2>\n<h2>Bu betik, komut sat\u0131r\u0131 arg\u00fcmanlar\u0131n\u0131 tercih eder.<\/h2>\n\nNOTIFICATIONTYPE = os.environ.get('NAGIOS_NOTIFICATIONTYPE') or sys.argv[1]\nHOSTNAME = os.environ.get('NAGIOS_HOSTNAME') or sys.argv[2]\nHOSTADDRESS = os.environ.get('NAGIOS_HOSTADDRESS') or sys.argv[3]\nHOSTSTATE = os.environ.get('NAGIOS_HOSTSTATE') or sys.argv[4]\nHOSTOUTPUT = os.environ.get('NAGIOS_HOSTOUTPUT') or sys.argv[5]\n\nSERVICEDESC = os.environ.get('NAGIOS_SERVICEDESC') or (sys.argv[6] if len(sys.argv) > 6 else None)\nSERVICESTATE = os.environ.get('NAGIOS_SERVICESTATE') or (sys.argv[7] if len(sys.argv) > 7 else None)\nSERVICEOUTPUT = os.environ.get('NAGIOS_SERVICEOUTPUT') or (sys.argv[8] if len(sys.argv) > 8 else None)\n\n<h2>Severity mapping from Nagios state to Alerta severity<\/h2>\ndef get_severity(nagios_state, notification_type):\n    if notification_type == \"RECOVERY\":\n        return \"ok\"\n    elif nagios_state == \"UP\" or nagios_state == \"OK\":\n        return \"ok\"\n    elif nagios_state == \"WARNING\":\n        return \"warning\"\n    elif nagios_state == \"CRITICAL\" or nagios_state == \"DOWN\":\n        return \"critical\"\n    elif nagios_state == \"UNKNOWN\":\n        return \"indeterminate\"\n    else:\n        return \"normal\" # Default or other states\n\n<h2>Resource, event, environment, service, group, value, text, tags, attributes, correlation, raw_data, timeout, customer, service_id, group_id, origin, type, repeat<\/h2>\ndef send_alerta_alert():\n    if SERVICEDESC: # Service alert\n        resource = HOSTNAME\n        event = SERVICEDESC\n        severity = get_severity(SERVICESTATE, NOTIFICATIONTYPE)\n        text = SERVICEOUTPUT\n        service = [SERVICEDESC]\n        group = \"Service\"\n        attributes = {\n            \"host_address\": HOSTADDRESS,\n            \"nagios_state\": SERVICESTATE,\n            \"notification_type\": NOTIFICATIONTYPE\n        }\n    else: # Host alert\n        resource = HOSTNAME\n        event = \"Host Status\"\n        severity = get_severity(HOSTSTATE, NOTIFICATIONTYPE)\n        text = HOSTOUTPUT\n        service = [\"Host\"]\n        group = \"Host\"\n        attributes = {\n            \"host_address\": HOSTADDRESS,\n            \"nagios_state\": HOSTSTATE,\n            \"notification_type\": NOTIFICATIONTYPE\n        }\n\n    cmd = [\n        \"alerta\",\n        \"send\",\n        \"--resource\", resource,\n        \"--event\", event,\n        \"--severity\", severity,\n        \"--environment\", \"Production\", # Ortam\u0131n\u0131z\u0131 buraya yaz\u0131n (Development, Staging, Production)\n        \"--service\", \",\".join(service),\n        \"--group\", group,\n        \"--value\", severity, # Value olarak severity'yi kullanabiliriz\n        \"--text\", text,\n        \"--origin\", \"nagios\/{}\".format(HOSTNAME),\n        \"--type\", \"nagiosAlert\"\n    ]\n\n    for key, value in attributes.items():\n        cmd.extend([\"--attribute\", \"{}={}\".format(key, value)])\n\n    # API Key varsa ekle\n    # if ALERTA_API_KEY:\n    #    cmd.extend([\"--api-key\", ALERTA_API_KEY])\n\n    # Alerta API URL'ini belirt\n    cmd.extend([\"--url\", ALERTA_API_URL])\n\n    try:\n        print(\"Sending alert to Alerta: {}\".format(\" \".join(cmd)))\n        result = subprocess.run(cmd, capture_output=True, text=True, check=True)\n        print(\"Alerta response: {}\".format(result.stdout))\n    except subprocess.CalledProcessError as e:\n        print(\"Error sending alert to Alerta: {}\".format(e.stderr))\n        sys.exit(1)\n    except Exception as e:\n        print(\"An unexpected error occurred: {}\".format(e))\n        sys.exit(1)\n\nif __name__ == \"__main__\":\n    send_alerta_alert()<\/code><\/pre>\n<p>Beti\u011fe \u00e7al\u0131\u015ft\u0131rma izni verin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/usr\/local\/nagios\/libexec\/alerta\/send_to_alerta.py\nsudo chown nagios:nagios \/usr\/local\/nagios\/libexec\/alerta\/send_to_alerta.py<\/code><\/pre>\n<p><strong>Beti\u011fin A\u00e7\u0131klamas\u0131:<\/strong><\/p>\n<p>*   <strong>Ortam De\u011fi\u015fkenleri:<\/strong> Betik, Nagios&#8217;un bildirim s\u0131ras\u0131nda ayarlad\u0131\u011f\u0131 ortam de\u011fi\u015fkenlerini (<code>NAGIOS_HOSTNAME<\/code>, <code>NAGIOS_SERVICEDESC<\/code> vb.) okur.<br \/>\n*   <strong><code>get_severity<\/code> Fonksiyonu:<\/strong> Nagios durumlar\u0131n\u0131 (OK, WARNING, CRITICAL, DOWN) Alerta&#8217;n\u0131n \u00f6nem derecelerine (ok, warning, critical) d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. <code>RECOVERY<\/code> durumunda <code>ok<\/code> olarak ayarlar.<br \/>\n*   <strong><code>send_alerta_alert<\/code> Fonksiyonu:<\/strong><br \/>\n    *   <code>alerta send<\/code> komutunu kullanarak bir uyar\u0131 olu\u015fturur.<br \/>\n    *   <code>resource<\/code>, <code>event<\/code>, <code>severity<\/code>, <code>text<\/code>, <code>service<\/code>, <code>group<\/code> gibi Alerta alanlar\u0131n\u0131 Nagios verileriyle doldurur.<br \/>\n    *   <code>--environment<\/code> ve <code>--origin<\/code> gibi ek bilgiler sa\u011flar.<br \/>\n    *   Nagios&#8217;tan gelen t\u00fcm ilgili verileri <code>attributes<\/code> olarak Alerta&#8217;ya g\u00f6nderir.<br \/>\n    *   <code>subprocess.run<\/code> ile <code>alerta<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<h4>3. Nagios Yap\u0131land\u0131rmas\u0131: Komut Tan\u0131mlama<\/h4>\n<p>Nagios&#8217;un bu beti\u011fi bir bildirim komutu olarak kullanabilmesi i\u00e7in <code>commands.cfg<\/code> dosyas\u0131na yeni bir komut tan\u0131mlamam\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo vi \/usr\/local\/nagios\/etc\/objects\/commands.cfg<\/code><\/pre>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki komut tan\u0131mlar\u0131n\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\"># 'notify-host-by-alerta' komutu tan\u0131m\u0131\ndefine command {\n    command_name    notify-host-by-alerta\n    command_line    \/usr\/local\/nagios\/libexec\/alerta\/send_to_alerta.py \"$NOTIFICATIONTYPE$\" \"$HOSTNAME$\" \"$HOSTADDRESS$\" \"$HOSTSTATE$\" \"$HOSTOUTPUT$\"\n}\n\n<h2>'notify-service-by-alerta' komutu tan\u0131m\u0131<\/h2>\ndefine command {\n    command_name    notify-service-by-alerta\n    command_line    \/usr\/local\/nagios\/libexec\/alerta\/send_to_alerta.py \"$NOTIFICATIONTYPE$\" \"$HOSTNAME$\" \"$HOSTADDRESS$\" \"$HOSTSTATE$\" \"$HOSTOUTPUT$\" \"$SERVICEDESC$\" \"$SERVICESTATE$\" \"$SERVICEOUTPUT$\"\n}<\/code><\/pre>\n<p>Bu komutlar, Python beti\u011fine Nagios&#8217;un sa\u011flad\u0131\u011f\u0131 \u00e7e\u015fitli makrolar\u0131 (ortam de\u011fi\u015fkenleri) arg\u00fcman olarak iletir.<\/p>\n<h4>4. Nagios Yap\u0131land\u0131rmas\u0131: \u0130leti\u015fim Ki\u015fisi ve Zaman Aral\u0131\u011f\u0131 Tan\u0131mlama<\/h4>\n<p>Alerta&#8217;ya uyar\u0131 g\u00f6ndermek i\u00e7in \u00f6zel bir &#8220;ileti\u015fim ki\u015fisi&#8221; ve bildirim zaman aral\u0131\u011f\u0131 tan\u0131mlamak iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo vi \/usr\/local\/nagios\/etc\/objects\/contacts.cfg<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki tan\u0131m\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\">define contact {\n    contact_name                    alerta-contact\n    use                             generic-contact\n    host_notifications_enabled      1\n    service_notifications_enabled   1\n    host_notification_period        24x7\n    service_notification_period     24x7\n    host_notification_options       d,u,r,f,s\n    service_notification_options    w,u,c,r,f,s\n    host_notification_commands      notify-host-by-alerta\n    service_notification_commands   notify-service-by-alerta\n    email                           alerta@localhost # E-posta adresi gerekli ama kullan\u0131lmayacak\n}<\/code><\/pre>\n<p>Ard\u0131ndan, bu ileti\u015fim ki\u015fisini izlemek istedi\u011finiz ana bilgisayar veya hizmet gruplar\u0131n\u0131za ekleyin. \u00d6rne\u011fin, <code>contactgroups.cfg<\/code> dosyas\u0131nda:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/usr\/local\/nagios\/etc\/objects\/contactgroups.cfg<\/code><\/pre>\n<p>Mevcut bir <code>admins<\/code> grubuna <code>alerta-contact<\/code>&#8216;\u0131 ekleyebilirsiniz veya yeni bir grup olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-ini\">define contactgroup {\n    contactgroup_name       alerta-users\n    alias                   Alerta Users\n    members                 alerta-contact\n}<\/code><\/pre>\n<h4>5. Nagios Yap\u0131land\u0131rmas\u0131: Ana Bilgisayar ve Hizmet Bildirimlerini Etkinle\u015ftirme<\/h4>\n<p>Son olarak, Nagios&#8217;un belirli ana bilgisayarlar ve hizmetler i\u00e7in Alerta&#8217;ya bildirim g\u00f6ndermesini sa\u011flamak i\u00e7in ilgili ana bilgisayar ve hizmet tan\u0131mlar\u0131n\u0131 g\u00fcncelleyin.<\/p>\n<p>\u00d6rne\u011fin, bir ana bilgisayar tan\u0131m\u0131nda:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/usr\/local\/nagios\/etc\/objects\/localhost.cfg<\/code><\/pre>\n<pre><code class=\"language-ini\">define host {\n    use                             linux-server\n    host_name                       localhost\n    alias                           localhost\n    address                         127.0.0.1\n    contact_groups                  alerta-users # Buraya ekleyin\n}<\/code><\/pre>\n<p>Ve bir hizmet tan\u0131m\u0131nda:<\/p>\n<pre><code class=\"language-ini\">define service {\n    use                             local-service\n    host_name                       localhost\n    service_description             Current Users\n    check_command                   check_users!20!50\n    contact_groups                  alerta-users # Buraya ekleyin\n}<\/code><\/pre>\n<p><code>contact_groups<\/code> veya <code>contacts<\/code> direktifine <code>alerta-contact<\/code> veya <code>alerta-users<\/code> grubunu ekleyerek bu ana bilgisayar veya hizmet i\u00e7in Alerta bildirimlerini etkinle\u015ftirmi\u015f olursunuz.<\/p>\n<h4>6. Nagios Yap\u0131land\u0131rmas\u0131n\u0131 Kontrol Etme ve Yeniden Ba\u015flatma<\/h4>\n<p>T\u00fcm Nagios yap\u0131land\u0131rma de\u011fi\u015fikliklerini yapt\u0131ktan sonra, herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Nagios yap\u0131land\u0131rmas\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo \/usr\/local\/nagios\/bin\/nagios -v \/usr\/local\/nagios\/etc\/nagios.cfg<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>0 errors<\/code> diyorsa, Nagios servisini yeniden ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nagios\nsudo systemctl status nagios<\/code><\/pre>\n<h3>Entegrasyonu Test Etme<\/h3>\n<p>Nagios ve Alerta aras\u0131ndaki entegrasyonu test etmek i\u00e7in, Nagios&#8217;un izledi\u011fi bir hizmetin veya ana bilgisayar\u0131n durumunu kas\u0131tl\u0131 olarak bir uyar\u0131 durumuna getirebiliriz.<\/p>\n<p>\u00d6rne\u011fin, <code>check_http<\/code> ile izlenen bir web sunucunuz varsa, web sunucusu servisini durdurarak bir <code>CRITICAL<\/code> durum tetikleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop httpd # Apache i\u00e7in\n<h2>veya<\/h2>\nsudo systemctl stop nginx # Nginx i\u00e7in<\/code><\/pre>\n<p>Birka\u00e7 dakika bekledikten sonra:<\/p>\n<p>1.  <strong>Nagios Web Aray\u00fcz\u00fc:<\/strong> Nagios web aray\u00fcz\u00fcnde ilgili hizmetin veya ana bilgisayar\u0131n <code>CRITICAL<\/code> veya <code>DOWN<\/code> durumuna ge\u00e7ti\u011fini ve bir bildirimin g\u00f6nderildi\u011fini g\u00f6rmelisiniz.<br \/>\n2.  <strong>Alerta Web Aray\u00fcz\u00fc:<\/strong> Alerta web aray\u00fcz\u00fcn\u00fc (\u00f6rne\u011fin, <code>http:\/\/your_domain.com<\/code>) a\u00e7\u0131n. Yeni bir uyar\u0131n\u0131n, Nagios&#8217;tan gelen bilgilerle birlikte (kaynak, olay, \u00f6nem derecesi, metin, nitelikler) g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc do\u011frulamal\u0131s\u0131n\u0131z.<br \/>\n3.  <strong>Alerta Loglar\u0131:<\/strong> Alerta sunucusunun loglar\u0131n\u0131 kontrol edin (<code>sudo journalctl -u alerta<\/code> veya <code>\/var\/log\/alerta\/alerta.log<\/code> e\u011fer \u00f6zel loglama yap\u0131land\u0131rd\u0131ysan\u0131z) uyar\u0131lar\u0131n ba\u015far\u0131l\u0131 bir \u015fekilde al\u0131nd\u0131\u011f\u0131n\u0131 g\u00f6steren girdiler olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n4.  <strong>Python Beti\u011fi Loglar\u0131:<\/strong> E\u011fer betikte <code>print<\/code> ifadeleri kulland\u0131ysan\u0131z, Nagios loglar\u0131nda veya <code>send_to_alerta.py<\/code> beti\u011finin \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 ortam\u0131n stdout\/stderr \u00e7\u0131kt\u0131lar\u0131nda hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/p>\n<p>Sorunu \u00e7\u00f6zd\u00fckten sonra (\u00f6rne\u011fin, web sunucusu servisini yeniden ba\u015flatarak), Nagios&#8217;un bir <code>RECOVERY<\/code> bildirimi g\u00f6ndermesi ve Alerta&#8217;daki uyar\u0131n\u0131n durumunun <code>ok<\/code> olarak g\u00fcncellenmesi gerekir.<\/p>\n<h3>Geli\u015fmi\u015f Konular<\/h3>\n<p>Bu temel entegrasyonun \u00f6tesinde, Alerta&#8217;n\u0131n sundu\u011fu baz\u0131 geli\u015fmi\u015f \u00f6zellikleri kullanarak uyar\u0131 y\u00f6netiminizi daha da optimize edebilirsiniz:<\/p>\n<h4>1. Alerta Kurallar\u0131 ve Kara Listeler<\/h4>\n<p>Alerta, gelen uyar\u0131lar\u0131 i\u015flemek veya belirli uyar\u0131lar\u0131 bast\u0131rmak i\u00e7in kurallar tan\u0131mlaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, bak\u0131m pencereleri s\u0131ras\u0131nda gelen uyar\u0131lar\u0131 otomatik olarak susturabilir veya belirli bir \u00f6nem derecesine sahip uyar\u0131lar\u0131 otomatik olarak kapatabilirsiniz.<\/p>\n<h4>2. Kullan\u0131c\u0131 Y\u00f6netimi ve Kimlik Do\u011frulama<\/h4>\n<p>\u00dcretim ortamlar\u0131nda <code>AUTH_REQUIRED = True<\/code> olmal\u0131d\u0131r. Alerta, dahili kullan\u0131c\u0131 y\u00f6netimi, API anahtarlar\u0131 veya OAuth2 (GitHub, Google vb.) arac\u0131l\u0131\u011f\u0131yla kimlik do\u011frulamay\u0131 destekler. Farkl\u0131 kullan\u0131c\u0131lar i\u00e7in farkl\u0131 roller ve yetkilendirmeler tan\u0131mlayabilirsiniz.<\/p>\n<h4>3. Bildirim Entegrasyonlar\u0131<\/h4>\n<p>Alerta, e-posta, Slack, PagerDuty, OpsGenie gibi bir\u00e7ok pop\u00fcler bildirim hizmetiyle entegrasyonu destekler. Bu sayede, Alerta&#8217;ya gelen uyar\u0131lar\u0131 ilgili ekiplere veya ki\u015filere otomatik olarak y\u00f6nlendirebilirsiniz.<\/p>\n<h4>4. Y\u00fcksek Eri\u015filebilirlik ve \u00d6l\u00e7eklenebilirlik<\/h4>\n<p>B\u00fcy\u00fck ortamlar i\u00e7in Alerta sunucusunu ve MongoDB&#8217;yi k\u00fcmeleyerek y\u00fcksek eri\u015filebilirlik ve \u00f6l\u00e7eklenebilirlik sa\u011flayabilirsiniz. Birden fazla Alerta API sunucusu, bir y\u00fck dengeleyici arkas\u0131nda \u00e7al\u0131\u015fabilir ve MongoDB replika k\u00fcmeleri veri yedeklili\u011fi ve performans sunar.<\/p>\n<h4>5. Alerta UI \u00d6zelle\u015ftirme<\/h4>\n<p>Alerta&#8217;n\u0131n web aray\u00fcz\u00fc, CSS ve JavaScript enjeksiyonlar\u0131 ile \u00f6zelle\u015ftirilebilir. Logo, renkler ve baz\u0131 UI \u00f6\u011felerini markan\u0131za veya tercihlerinize g\u00f6re de\u011fi\u015ftirebilirsiniz.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Entegrasyon s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Uyar\u0131lar Alerta&#8217;ya Ula\u015fm\u0131yor:<\/strong><br \/>\n    *   <strong>Nagios Loglar\u0131n\u0131 Kontrol Edin:<\/strong> <code>nagios.log<\/code> dosyas\u0131nda bildirim komutunun \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131na dair bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    *   <strong>Python Beti\u011fi \u0130zinleri:<\/strong> <code>send_to_alerta.py<\/code> beti\u011finin \u00e7al\u0131\u015ft\u0131rma izinlerine (<code>chmod +x<\/code>) ve Nagios kullan\u0131c\u0131s\u0131n\u0131n bu beti\u011fi \u00e7al\u0131\u015ft\u0131rabilme yetkisine sahip oldu\u011fundan emin olun.<br \/>\n    *   <strong>Alerta API Ula\u015f\u0131labilirli\u011fi:<\/strong> <code>curl -X GET http:\/\/127.0.0.1:8080\/api\/status<\/code> komutuyla Alerta API&#8217;sinin \u00e7al\u0131\u015f\u0131r durumda ve ula\u015f\u0131labilir oldu\u011funu do\u011frulay\u0131n.<br \/>\n    *   <strong>Alerta Loglar\u0131n\u0131 Kontrol Edin:<\/strong> <code>sudo journalctl -u alerta<\/code> komutuyla Alerta sunucu loglar\u0131nda hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    *   <strong>API Key Hatas\u0131:<\/strong> E\u011fer <code>AUTH_REQUIRED = True<\/code> ise, betikteki API anahtar\u0131n\u0131n do\u011fru ve ge\u00e7erli oldu\u011fundan emin olun.<br \/>\n*   <strong>Alerta UI Bo\u015f veya Hatal\u0131:<\/strong><br \/>\n    *   <strong>Nginx Loglar\u0131n\u0131 Kontrol Edin:<\/strong> <code>\/var\/log\/nginx\/error.log<\/code> dosyas\u0131nda Nginx ile ilgili bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    *   <strong>Alerta Web UI Dosyalar\u0131:<\/strong> <code>\/usr\/share\/nginx\/html\/alerta-web<\/code> dizininde Alerta UI dosyalar\u0131n\u0131n do\u011fru \u015fekilde bulundu\u011fundan emin olun.<br \/>\n    *   <strong>Taray\u0131c\u0131 Konsolunu Kontrol Edin:<\/strong> Taray\u0131c\u0131n\u0131z\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 a\u00e7\u0131n ve konsolda JavaScript hatalar\u0131 veya a\u011f isteklerinde sorun olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>MongoDB Ba\u011flant\u0131 Hatas\u0131:<\/strong><br \/>\n    *   <strong>MongoDB Servisi:<\/strong> <code>sudo systemctl status mongod<\/code> komutuyla MongoDB servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong>Alerta Yap\u0131land\u0131rmas\u0131:<\/strong> <code>\/etc\/alerta\/alerta.conf<\/code> dosyas\u0131ndaki <code>MONGO_URI<\/code> ayar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Nagios&#8217;un g\u00fc\u00e7l\u00fc izleme yeteneklerini Alerta&#8217;n\u0131n modern uyar\u0131 y\u00f6netim sistemiyle CentOS 7 \u00fczerinde nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frendiniz. Nagios&#8217;un derinlemesine sistem ve hizmet izlemesi ile Alerta&#8217;n\u0131n merkezi, zengin ve otomatikle\u015ftirilebilir uyar\u0131 panosunu birle\u015ftirerek, IT operasyonlar\u0131n\u0131z\u0131n verimlili\u011fini ve m\u00fcdahale s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilirsiniz.<\/p>\n<p>Kurulumdan yap\u0131land\u0131rmaya, test etmeden sorun gidermeye kadar t\u00fcm s\u00fcre\u00e7leri kapsayan bu rehber, karma\u015f\u0131k IT altyap\u0131lar\u0131nda uyar\u0131 y\u00f6netimini basitle\u015ftirmek ve operasyonel g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fc art\u0131rmak isteyen sistem y\u00f6neticileri ve DevOps m\u00fchendisleri i\u00e7in sa\u011flam bir temel sunmaktad\u0131r. Bu entegrasyon, uyar\u0131 selini azalt\u0131r, kritik sorunlara odaklanmay\u0131 kolayla\u015ft\u0131r\u0131r ve ekipler aras\u0131 ileti\u015fimi g\u00fc\u00e7lendirerek daha h\u0131zl\u0131 ve etkili problem \u00e7\u00f6z\u00fcm\u00fcne olanak tan\u0131r. Gelecekte, Alerta&#8217;n\u0131n geli\u015fmi\u015f \u00f6zelliklerini ke\u015ffederek uyar\u0131 i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 daha da otomatikle\u015ftirebilir ve optimize edebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme\nBu makale, sistem ve a\u011f izlemede yayg\u0131n olarak kullan\u0131lan Nagios&#8217;un g\u00fc\u00e7l\u00fc uyar\u0131 ye","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-34520","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme\" \/>\n<meta property=\"og:description\" content=\"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme Bu makale, sistem ve a\u011f izlemede yayg\u0131n olarak kullan\u0131lan Nagios&#039;un g\u00fc\u00e7l\u00fc uyar\u0131 ye\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-18T02:40:56+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme\",\"datePublished\":\"2025-11-18T02:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\"},\"wordCount\":2749,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\",\"name\":\"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-18T02:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/","og_locale":"tr_TR","og_type":"article","og_title":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme","og_description":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme Bu makale, sistem ve a\u011f izlemede yayg\u0131n olarak kullan\u0131lan Nagios'un g\u00fc\u00e7l\u00fc uyar\u0131 ye","og_url":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-18T02:40:56+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme","datePublished":"2025-11-18T02:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/"},"wordCount":2749,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/","url":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/","name":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-18T02:40:56+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nagios-uyarilarini-alerta-ile-centos-7-uzerinde-izleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nagios Uyar\u0131lar\u0131n\u0131 Alerta ile CentOS 7 \u00dczerinde \u0130zleme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=34520"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34520\/revisions"}],"predecessor-version":[{"id":34521,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34520\/revisions\/34521"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}