
Icinga 2 یک سیستم نظارت بر زیرساختهای IT قدرتمند و انعطافپذیر است که به شما امکان میدهد سرورها، سرویسها و شبکههای خود را پایش کنید. نصب Icinga 2 در CentOS 8 یا RHEL 8 شامل مراحل آمادهسازی سیستم، افزودن مخازن، نصب هسته، راهاندازی پایگاه داده، پیکربندی وب سرور و تنظیمات امنیتی است.
نصب Icinga 2 بر روی سیستمعاملهایی مانند CentOS 8 و RHEL 8 فرآیندی چند مرحلهای است که نیازمند دقت در اجرای دستورات و پیکربندیهاست. این سیستم نظارتی قدرتمند، با ارائه دید جامعی از وضعیت سلامت و عملکرد زیرساختهای فناوری اطلاعات، نقش حیاتی در حفظ پایداری و دسترسپذیری سرویسها ایفا میکند. برای شروع، اطمینان از بهروز بودن سیستم و فراهم بودن پیشنیازهای نرمافزاری و سختافزاری ضروری است. پس از آن، باید مخازن رسمی Icinga را به سیستم اضافه کرده تا امکان دانلود و نصب بستههای نرمافزاری فراهم شود. نصب هسته Icinga 2 اولین گام عملی در استقرار این سیستم نظارتی است و پس از آن نوبت به راهاندازی و پیکربندی پایگاه داده میرسد که وظیفه ذخیرهسازی دادههای نظارتی را بر عهده دارد. پیکربندی وب سرور نیز برای دسترسی به رابط کاربری گرافیکی Icinga Web 2 ضروری است. در نهایت، تنظیمات امنیتی مانند SELinux و فایروال باید اعمال شوند تا دسترسیها بهدرستی مدیریت شده و سیستم در برابر تهدیدات محافظت شود. این مراحل به صورت متوالی انجام میشوند تا یک نصب کامل و عملیاتی از Icinga 2 حاصل شود.
پیشنیازهای لازم برای نصب Icinga 2
قبل از شروع فرآیند نصب اصلی Icinga 2 بر روی CentOS 8 یا RHEL 8، اطمینان از برآورده شدن پیشنیازهای سیستمی امری حیاتی است. اولین و مهمترین گام، بهروزرسانی کامل سیستم عامل است. این کار با استفاده از دستور مدیریت بسته DNF انجام میشود و اطمینان حاصل میکند که تمامی بستههای موجود در سیستم به آخرین نسخه پایدار خود ارتقا یافتهاند و وابستگیهای لازم برطرف شدهاند. بهروزرسانی سیستم نه تنها پایداری را افزایش میدهد، بلکه حفرههای امنیتی احتمالی را نیز پوشش میدهد. علاوه بر بهروزرسانی، نصب برخی ابزارهای کمکی و مخازن اضافی ممکن است مورد نیاز باشد. به عنوان مثال، مخزن EPEL (Extra Packages for Enterprise Linux) اغلب حاوی بستههای نرمافزاری است که در مخازن پیشفرض RHEL/CentOS وجود ندارند و برای نصب برخی وابستگیهای Icinga 2 یا ابزارهای مرتبط مفید هستند. همچنین، اطمینان از وجود فضای دیسک کافی برای نصب نرمافزارها و ذخیره دادههای نظارتی، و نیز تخصیص حافظه RAM مناسب برای عملکرد بهینه Icinga 2 و پایگاه داده آن ضروری است. بررسی منابع سختافزاری پیش از شروع نصب، از بروز مشکل در مراحل بعدی جلوگیری میکند.
sudo dnf -y upgrade
این دستور سیستم را به طور کامل بهروزرسانی میکند و باید قبل از هرگونه اقدام دیگری اجرا شود.
نحوه افزودن مخزن Icinga 2
پس از آمادهسازی سیستم و اطمینان از بهروز بودن آن، گام بعدی افزودن مخزن رسمی Icinga به لیست مخازن سیستم عامل است. این مخزن حاوی آخرین نسخههای پایدار Icinga 2، Icinga Web 2 و سایر ابزارهای مرتبط است که برای نصب نیاز داریم. افزودن مخزن Icinga امکان نصب مستقیم نرمافزارها را با استفاده از مدیریت بسته DNF فراهم میآورد و فرآیند نصب و بهروزرسانیهای آتی را بسیار سادهتر میکند. برای افزودن مخزن، معمولاً یک فایل پیکربندی با پسوند .repo در مسیر /etc/yum.repos.d/ ایجاد میشود. این فایل شامل اطلاعات مربوط به آدرس مخزن، کلید GPG برای تأیید اصالت بستهها و تنظیمات دیگر است. وبسایت رسمی Icinga دستورالعملهای دقیق و فایلهای مخزن آماده را برای نسخههای مختلف سیستم عامل ارائه میدهد. استفاده از دستور dnf config-manager نیز یک روش متداول برای فعالسازی یا افزودن مخازن است، به خصوص اگر مخزن به صورت یک URL ارائه شده باشد. پس از افزودن مخزن، اجرای دستور dnf clean all و سپس dnf makecache توصیه میشود تا اطلاعات مخازن جدید خوانده شده و کش DNF بهروز شود. این کار اطمینان میدهد که سیستم از وجود بستههای جدید Icinga در مخزن آگاه شده است.
sudo dnf install -y https://packages.icinga.com/epel/icinga-release-epel-8.noarch.rpm
این دستور فایل مخزن Icinga را برای EPEL 8 دانلود و نصب میکند که مخازن Icinga را به سیستم شما اضافه میکند. پس از نصب مخزن، میتوانید لیست مخازن فعال را بررسی کنید تا از افزودن موفقیتآمیز آن مطمئن شوید.
مراحل نصب Icinga 2 Core
با افزودن مخزن Icinga به سیستم، اکنون آماده نصب هسته اصلی Icinga 2 هستیم. هسته Icinga 2 موتور اصلی سیستم نظارت است که وظیفه زمانبندی بررسیها، دریافت نتایج، پردازش رویدادها و ارسال اعلانها را بر عهده دارد. نصب هسته با استفاده از دستور dnf install و مشخص کردن نام بسته icinga2 انجام میشود. مدیریت بسته DNF به طور خودکار وابستگیهای لازم برای نصب هسته را شناسایی و همراه با آن نصب میکند. پس از اتمام نصب، فایلهای پیکربندی اصلی Icinga 2 در مسیر /etc/icinga2 و فایلهای باینری و اجرایی در مسیرهای مربوطه در سیستم قرار میگیرند. قبل از راهاندازی سرویس Icinga 2، لازم است برخی تنظیمات اولیه در فایلهای پیکربندی انجام شود، اگرچه بسیاری از این تنظیمات در مراحل بعدی و پس از نصب پایگاه داده و ماژولهای ارتباطی تکمیل خواهند شد. نصب هسته Icinga 2 یک گام اساسی است و بدون آن، سایر اجزای سیستم نظارتی مانند رابط کاربری وب یا ماژولهای ارتباطی نمیتوانند عملکردی داشته باشند. اطمینان از عدم بروز خطا در حین اجرای دستور نصب و بررسی خروجی آن برای هرگونه پیام هشدار یا خطا مهم است.
sudo dnf install -y icinga2
این دستور بسته اصلی Icinga 2 را از مخزنی که قبلاً اضافه کردهاید، نصب میکند. پس از نصب، میتوانید وضعیت سرویس را بررسی کنید، هرچند هنوز پیکربندی کامل نشده است.
نصب و آمادهسازی پایگاه داده
Icinga 2 برای ذخیرهسازی دادههای نظارتی، تاریخچه رویدادها، اطلاعات پیکربندی و سایر دادههای عملیاتی خود به یک پایگاه داده نیاز دارد. دو گزینه متداول برای پایگاه داده Icinga 2، MySQL/MariaDB و PostgreSQL هستند. انتخاب نوع پایگاه داده به ترجیحات شما و زیرساخت موجود بستگی دارد، اما هر دو به خوبی با Icinga 2 کار میکنند. این مرحله شامل نصب سرور پایگاه داده، راهاندازی اولیه آن و سپس ایجاد یک پایگاه داده و کاربر اختصاصی برای Icinga است. همچنین، ماژول IDO (Icinga Data Output) که واسط بین هسته Icinga 2 و پایگاه داده است، باید نصب و پیکربندی شود. نصب IDO بسته به نوع پایگاه داده انتخابی متفاوت خواهد بود (مثلاً icinga2-ido-mysql یا icinga2-ido-pgsql). پس از نصب ماژول IDO، باید شمای پایگاه داده (database schema) مربوط به Icinga در پایگاه داده ایجاد شده بارگذاری شود. این شما ساختار جداول و فیلدهای مورد نیاز Icinga را تعریف میکند. پیکربندی اتصال Icinga 2 به پایگاه داده نیز در فایلهای پیکربندی مربوط به ماژول IDO انجام میشود که شامل اطلاعاتی مانند نوع پایگاه داده، نام میزبان، نام پایگاه داده، نام کاربر و رمز عبور است. این مرحله از اهمیت بالایی برخوردار است، زیرا عملکرد صحیح Icinga 2 به دسترسی پایدار و صحیح به پایگاه داده وابسته است.
نصب سرور پایگاه داده (MySQL یا PostgreSQL)
برای نصب سرور پایگاه داده، بسته به انتخاب شما بین MySQL/MariaDB یا PostgreSQL، دستور متفاوتی را اجرا میکنید. اگر MariaDB (که یک فورک از MySQL است و در CentOS/RHEL 8 به طور پیشفرض جایگزین MySQL شده) را انتخاب میکنید، دستور نصب آن community-mysql-server خواهد بود. پس از نصب، باید سرویس پایگاه داده را فعال و راهاندازی کنید و سپس با اجرای اسکریپت امنیتی اولیه، تنظیمات امنیتی پایگاه داده مانند تنظیم رمز عبور کاربر root و حذف کاربران و پایگاه دادههای تستی را انجام دهید. اگر PostgreSQL را ترجیح میدهید، بسته اصلی آن postgresql-server نام دارد. پس از نصب، لازم است پایگاه داده را با اجرای دستور initdb مقداردهی اولیه کنید و سپس سرویس postgresql را فعال و راهاندازی نمایید. در هر دو حالت، اطمینان از اجرای موفقیتآمیز سرویس پایگاه داده قبل از ادامه مراحل ضروری است. انتخاب پایگاه داده تأثیری بر عملکرد کلی Icinga 2 ندارد، اما ممکن است در جزئیات پیکربندی و مدیریت تفاوتهایی وجود داشته باشد. مهم این است که یک سرور پایگاه داده پایدار و قابل دسترس برای Icinga فراهم شود.
# برای MariaDB/MySQL: sudo dnf install -y community-mysql-server sudo systemctl enable --now mysqld sudo mysql_secure_installation # برای PostgreSQL: sudo dnf install -y postgresql-server sudo postgresql-setup --initdb sudo systemctl enable --now postgresql
این دستورات سرور پایگاه داده انتخابی شما را نصب و راهاندازی میکنند و در مورد MariaDB، اسکریپت امنیتی اولیه را اجرا میکنند.
ایجاد پایگاه داده و کاربر Icinga
پس از نصب و راهاندازی سرور پایگاه داده، لازم است یک پایگاه داده جدید و یک کاربر با دسترسیهای مناسب برای Icinga ایجاد کنید. این پایگاه داده به طور اختصاصی برای ذخیره دادههای IDO Icinga استفاده خواهد شد. ابتدا با کاربر root پایگاه داده وارد محیط خط فرمان پایگاه داده شوید. سپس، یک پایگاه داده جدید با نام دلخواه، مثلاً `icinga2`, ایجاد کنید. در مرحله بعد، یک کاربر جدید با نام کاربری و رمز عبور قوی ایجاد کرده و به این کاربر دسترسی کامل بر روی پایگاه داده `icinga2` بدهید. اعطای دسترسیها با استفاده از دستور GRANT در SQL انجام میشود. پس از ایجاد پایگاه داده و کاربر و اعطای دسترسیها، باید ماژول IDO مربوط به پایگاه داده انتخابی خود را نصب کنید (بسته icinga2-ido-mysql یا icinga2-ido-pgsql). سپس، شمای پایگاه داده Icinga IDO را در پایگاه داده تازه ایجاد شده بارگذاری کنید. این کار معمولاً با استفاده از دستورات مربوط به ماژول IDO یا اجرای اسکریپتهای SQL ارائه شده توسط Icinga انجام میشود. این مرحله ارتباط بین هسته Icinga 2 و پایگاه داده را برقرار میکند و امکان ذخیرهسازی دادههای نظارتی را فراهم میسازد.
# وارد شدن به محیط MariaDB/MySQL: sudo mysql -u root -p # دستورات داخل محیط MySQL/MariaDB: CREATE DATABASE icinga2; GRANT ALL ON icinga2.* TO 'icinga2user'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; EXIT; # نصب ماژول IDO (برای MariaDB/MySQL): sudo dnf install -y icinga2-ido-mysql # فعالسازی ماژول ido-mysql در پیکربندی Icinga 2: sudo icinga2 feature enable ido-mysql # ویرایش فایل پیکربندی ido-mysql برای وارد کردن اطلاعات اتصال به پایگاه داده: sudo nano /etc/icinga2/features-available/ido-mysql.conf # اطلاعات پایگاه داده (host, database, user, password) را وارد کنید. # بارگذاری شمای پایگاه داده: sudo mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql # راهاندازی مجدد سرویس Icinga 2 برای اعمال تغییرات: sudo systemctl restart icinga2
فراموش نکنید که رمز عبور 'your_password' را با یک رمز عبور قوی و امن جایگزین کنید و اطلاعات اتصال در فایل ido-mysql.conf را به درستی تنظیم کنید.
نصب و پیکربندی وب سرور Apache
برای دسترسی به رابط کاربری گرافیکی Icinga Web 2، نیاز به یک وب سرور دارید. Apache یکی از وب سرورهای پرکاربرد و توصیه شده برای Icinga Web 2 است. این مرحله شامل نصب بسته نرمافزاری وب سرور Apache و سپس فعالسازی و راهاندازی سرویس آن است. پس از نصب، فایلهای پیکربندی پیشفرض Apache در مسیر /etc/httpd قرار میگیرند. برای اینکه Apache بتواند Icinga Web 2 را ارائه دهد، ممکن است نیاز به تنظیم یک Virtual Host اختصاصی برای Icinga یا استفاده از Alias برای دسترسی به فایلهای Icinga Web 2 باشد. فایلهای مربوط به Icinga Web 2 معمولاً در مسیر /usr/share/icingaweb2 قرار دارند. پیکربندی وب سرور شامل تنظیماتی مانند مسیر ریشه داکیومنت (DocumentRoot)، نام سرور (ServerName)، تنظیمات دسترسی (Directory permissions) و فعالسازی ماژولهای Apache مورد نیاز برای PHP (که Icinga Web 2 با آن نوشته شده) است. اطمینان از اینکه وب سرور پورتهای استاندارد HTTP (80) و HTTPS (443) را برای دسترسی عمومی باز کرده و به درستی پیکربندی شده است، برای دسترسی به رابط کاربری وب Icinga ضروری است. همچنین، تنظیمات مربوط به SELinux و فایروال برای اجازه دادن به ترافیک وب به سرور Apache باید در مراحل بعدی انجام شود.
نصب پکیج وب سرور Apache
نصب وب سرور Apache در CentOS 8 / RHEL 8 با استفاده از مدیریت بسته DNF بسیار ساده است. بسته نرمافزاری مورد نیاز httpd نام دارد. با اجرای دستور dnf install httpd، سیستم به طور خودکار وب سرور Apache و وابستگیهای لازم آن را دانلود و نصب میکند. پس از اتمام نصب، فایلهای اجرایی و پیکربندی Apache در مسیرهای استاندارد سیستم قرار میگیرند. فایل پیکربندی اصلی Apache httpd.conf در مسیر /etc/httpd/conf/ قرار دارد و فایلهای پیکربندی اضافی و Virtual Hosts معمولاً در زیرمجموعههایی مانند /etc/httpd/conf.d/ ذخیره میشوند. Icinga Web 2 معمولاً یک فایل پیکربندی آماده برای Apache در مسیر /etc/httpd/conf.d/ ارائه میدهد که پس از نصب بسته icingaweb2 باید فعال شود. این فایل پیکربندی شامل دستورالعملهای لازم برای Apache برای ارائه محتوای Icinga Web 2 است. بررسی موفقیتآمیز بودن نصب و عدم بروز خطا در حین اجرای دستور dnf مهم است.
sudo dnf install -y httpd
این دستور بسته وب سرور Apache را نصب میکند. پس از نصب، فایلهای پیکربندی در مسیر /etc/httpd در دسترس خواهند بود.
فعالسازی و راهاندازی سرویس Apache
پس از نصب موفقیتآمیز بسته httpd، گام بعدی فعالسازی و راهاندازی سرویس وب سرور Apache است. فعالسازی سرویس با استفاده از دستور systemctl enable httpd انجام میشود. این دستور باعث میشود که سرویس Apache پس از هر بار راهاندازی مجدد سیستم عامل به طور خودکار شروع به کار کند. برای راهاندازی فوری سرویس بدون نیاز به راهاندازی مجدد سیستم، از دستور systemctl start httpd استفاده میشود. برای اطمینان از اینکه سرویس به درستی فعال شده و در حال اجرا است، میتوانید از دستور systemctl status httpd استفاده کنید. خروجی این دستور وضعیت فعلی سرویس را نشان میدهد. اگر سرویس به درستی در حال اجرا باشد، وضعیت آن به صورت active (running) نمایش داده میشود. در صورتی که خطایی رخ داده باشد، جزئیات خطا در خروجی قابل مشاهده خواهد بود. اطمینان از فعال و در حال اجرا بودن سرویس Apache پیششرط دسترسی به رابط کاربری وب Icinga 2 است و بدون آن، امکان ادامه مراحل نصب از طریق مرورگر وجود نخواهد داشت.
sudo systemctl enable --now httpd
این دستور سرویس Apache را فعال کرده و بلافاصله آن را راهاندازی میکند. پرچم --now باعث میشود که سرویس بلافاصله پس از فعالسازی شروع شود.
نصب Icinga Web 2 و ابزارهای خط فرمان
Icinga Web 2 رابط کاربری گرافیکی و وببیس Icinga 2 است که امکان مشاهده وضعیت نظارت، پیکربندی و مدیریت سیستم را از طریق مرورگر فراهم میکند. ابزارهای خط فرمان Icinga نیز برای تعامل با هسته Icinga 2 و مدیریت پیکربندیها از طریق ترمینال مفید هستند. نصب Icinga Web 2 شامل نصب بسته اصلی icingaweb2 و همچنین ماژولهای مورد نیاز برای اتصال به پایگاه داده IDO است. بسته icinga2-ido-mysql یا icinga2-ido-pgsql بسته به نوع پایگاه داده انتخابی شما باید نصب شود. علاوه بر این، بسته icinga2-common شامل ابزارهای مشترک و بسته icinga2-selinux شامل سیاستهای SELinux مورد نیاز برای Icinga است که نصب آنها نیز توصیه میشود. پس از نصب این بستهها، فایلهای Icinga Web 2 در مسیرهای استاندارد وب سرور (معمولاً /usr/share/icingaweb2) قرار میگیرند و فایلهای پیکربندی اولیه در مسیر /etc/icingaweb2 ایجاد میشوند. نصب این اجزا امکان دسترسی به رابط کاربری وب و تکمیل نصب از طریق مرورگر را فراهم میکند. همچنین، ابزارهای خط فرمان Icinga مانند icinga2، icingaweb2 و icingacli در مسیرهای اجرایی سیستم قرار میگیرند و قابل استفاده خواهند بود.
نصب پکیجهای Icinga Web 2 و Icinga CLI
برای نصب رابط کاربری وب و ابزارهای خط فرمان Icinga، دستور dnf install را با نام بستههای مربوطه اجرا میکنیم. بستههای اصلی مورد نیاز عبارتند از icingaweb2 و icingacli. بسته icingacli شامل ابزارهای خط فرمان برای مدیریت Icinga Web 2 و ماژولهای آن است. علاوه بر این، بسته icinga2-ido-mysql یا icinga2-ido-pgsql (بسته به پایگاه داده شما) و همچنین بسته icinga2-selinux برای تنظیمات SELinux باید نصب شوند. نصب این بستهها تمامی اجزای لازم برای دسترسی به رابط کاربری وب و تعامل با Icinga 2 از طریق خط فرمان را فراهم میکند. پس از اجرای دستور نصب، DNF وابستگیهای لازم را بررسی و نصب خواهد کرد. این وابستگیها شامل ماژولهای PHP مورد نیاز Icinga Web 2 و کتابخانههای دیگر هستند. اطمینان از نصب موفقیتآمیز تمامی بستهها بدون خطا ضروری است. پس از نصب، فایلهای پیکربندی پیشفرض Icinga Web 2 در مسیر /etc/icingaweb2 ایجاد میشوند که در مراحل بعدی نصب از طریق مرورگر مورد استفاده قرار خواهند گرفت.
# برای MariaDB/MySQL: sudo dnf install -y icingaweb2 icingacli icinga2-ido-mysql icinga2-selinux # برای PostgreSQL: sudo dnf install -y icingaweb2 icingacli icinga2-ido-pgsql icinga2-selinux
این دستورات بستههای Icinga Web 2، ابزارهای خط فرمان، ماژول IDO مربوط به پایگاه داده انتخابی و سیاستهای SELinux Icinga را نصب میکنند.
تنظیمات SELinux برای Icinga 2 Web
SELinux (Security-Enhanced Linux) یک سیستم امنیتی اجباری است که در CentOS و RHEL برای محدود کردن دسترسی فرآیندها به منابع سیستم استفاده میشود. به دلیل ماهیت امنیتی SELinux، ممکن است دسترسی وب سرور Apache یا فرآیندهای Icinga به فایلها یا پورتهای خاصی مسدود شود که این امر عملکرد Icinga Web 2 را مختل میکند. بسته icinga2-selinux که قبلاً نصب کردیم، شامل سیاستهای از پیش تعریف شدهای است که برای عملکرد صحیح Icinga 2 و Icinga Web 2 تحت SELinux طراحی شدهاند. با این حال، در برخی موارد خاص یا بسته به پیکربندی سیستم شما، ممکن است نیاز به تنظیمات اضافی یا تغییر وضعیت برخی بولینهای SELinux باشد. ابزارهایی مانند semanage و setsebool برای مدیریت سیاستها و بولینهای SELinux استفاده میشوند. بررسی لاگهای SELinux (audit logs) میتواند به شناسایی مشکلات دسترسی ناشی از SELinux کمک کند. اگرچه بسته icinga2-selinux بسیاری از موارد را پوشش میدهد، اما در صورت بروز مشکل در دسترسی به رابط کاربری وب یا اتصال Icinga به پایگاه داده، بررسی وضعیت SELinux و اعمال تنظیمات لازم یکی از گامهای مهم عیبیابی است. در برخی محیطها، ممکن است نیاز به تغییر وضعیت SELinux به Permissive (به جای Enforcing) برای تست یا عیبیابی موقت باشد، اما در محیط تولید باید سعی شود با رعایت سیاستهای Enforcing مشکل حل شود.
# بررسی وضعیت فعلی SELinux: sestatus # اگر در حالت Enforcing مشکل دارید، ممکن است نیاز به تنظیم بولینهای خاصی باشد. # مثال (ممکن است در همه موارد نیاز نباشد): sudo setsebool -P httpd_can_network_connect_db on
بولین httpd_can_network_connect_db به وب سرور اجازه میدهد به پایگاه داده در شبکه متصل شود. بسته icinga2-selinux بسیاری از تنظیمات لازم را انجام میدهد، اما بررسی لاگها در صورت بروز مشکل توصیه میشود.
تنظیمات فایروال (FirewallD) برای دسترسی Icinga Web
فایروال سیستم عامل، معمولاً FirewallD در CentOS 8 / RHEL 8، ترافیک ورودی و خروجی به سرور را کنترل میکند. برای اینکه کاربران بتوانند از طریق مرورگر به رابط کاربری وب Icinga 2 دسترسی پیدا کنند، لازم است پورتهای استاندارد HTTP (80) و HTTPS (443) در فایروال باز شوند. این کار با استفاده از دستور firewall-cmd انجام میشود. دستور firewall-cmd --permanent --add-service=http و firewall-cmd --permanent --add-service=https سرویسهای HTTP و HTTPS را به Zone فعال فایروال اضافه میکنند. پرچم --permanent باعث میشود که این تغییرات پس از راهاندازی مجدد فایروال یا سیستم عامل نیز پابرجا بمانند. پس از افزودن سرویسها، باید با اجرای دستور firewall-cmd --reload تغییرات اعمال شده را بارگذاری کنید تا فایروال قوانین جدید را شناسایی و اعمال کند. اطمینان از باز بودن این پورتها برای دسترسی به Icinga Web 2 ضروری است. بدون باز کردن پورتها در فایروال، درخواستهای HTTP/HTTPS به سرور Apache مسدود شده و رابط کاربری وب قابل دسترسی نخواهد بود. همچنین، اگر Icinga 2 نیاز به ارتباط با سایر سرورها یا دستگاهها برای نظارت داشته باشد (مثلاً از طریق پروتکلهای خاص یا پورتهای دیگر)، ممکن است نیاز به باز کردن پورتهای دیگری در فایروال سرور Icinga یا فایروال دستگاههای مورد نظارت باشد.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
این دستورات پورتهای ۸۰ (HTTP) و ۴۴۳ (HTTPS) را در فایروال برای دسترسی وب باز میکنند و سپس قوانین فایروال را بارگذاری مجدد میکنند تا تغییرات اعمال شوند.
راهاندازی سرویسهای اصلی Icinga و Apache
پس از نصب تمامی اجزای مورد نیاز و انجام تنظیمات اولیه، نوبت به راهاندازی سرویسهای اصلی Icinga 2 و Apache میرسد. سرویس Icinga 2 مسئول اجرای هسته نظارت و پردازش دادههاست و سرویس Apache مسئول ارائه رابط کاربری وب Icinga Web 2 است. اطمینان از فعال و در حال اجرا بودن هر دو سرویس برای عملکرد صحیح سیستم نظارتی Icinga 2 ضروری است. با استفاده از دستور systemctl enable --now icinga2، سرویس Icinga 2 فعال شده و بلافاصله راهاندازی میشود. به همین ترتیب، با استفاده از دستور systemctl enable --now httpd، سرویس Apache فعال شده و راهاندازی میشود (اگر قبلاً این کار را انجام نداده باشید). بررسی وضعیت هر دو سرویس با systemctl status icinga2 و systemctl status httpd پس از اجرای دستورات راهاندازی توصیه میشود تا از عدم وجود خطا و اجرای موفقیتآمیز آنها اطمینان حاصل شود. در صورت بروز مشکل در راهاندازی هر یک از سرویسها، بررسی لاگهای سیستم با استفاده از journalctl میتواند به شناسایی علت مشکل کمک کند. راهاندازی موفقیتآمیز این دو سرویس به این معنی است که هسته Icinga در حال اجرا، دادهها را به پایگاه داده ارسال میکند و رابط کاربری وب آماده پیکربندی نهایی است.
sudo systemctl enable --now icinga2 sudo systemctl enable --now httpd
این دستورات اطمینان حاصل میکنند که سرویسهای اصلی Icinga 2 و Apache فعال شده و در حال اجرا هستند.
دسترسی و تکمیل نصب Icinga Web 2 از طریق مرورگر
با راهاندازی موفقیتآمیز سرویسهای Icinga 2 و Apache و باز کردن پورتهای مورد نیاز در فایروال، اکنون میتوانید از طریق مرورگر وب به رابط کاربری Icinga Web 2 دسترسی پیدا کرده و فرآیند نصب را تکمیل کنید. آدرس دسترسی معمولاً http://your_server_ip_or_hostname/icingaweb2 خواهد بود. پس از وارد کردن این آدرس در مرورگر، یک صفحه خوشآمدگویی نمایش داده میشود که شما را به سمت فرآیند نصب هدایت میکند. این فرآیند نصب گام به گام شامل بررسی پیشنیازها، پیکربندی ماژولها (مانند ماژول IDO برای اتصال به پایگاه داده و ماژول Authentication برای مدیریت کاربران)، تنظیم اطلاعات اتصال به پایگاه داده، ایجاد حساب کاربری مدیر و تنظیمات اولیه دیگر است. در طول این فرآیند، از شما خواسته میشود اطلاعاتی مانند نوع پایگاه داده، نام پایگاه داده، نام کاربری و رمز عبور پایگاه داده، نام کاربری و رمز عبور مدیر Icinga Web 2 و سایر تنظیمات مورد نیاز را وارد کنید. اطمینان از وارد کردن صحیح اطلاعات پایگاه داده که در مراحل قبلی ایجاد کردید، بسیار مهم است. پس از اتمام فرآیند نصب از طریق مرورگر، رابط کاربری Icinga Web 2 آماده استفاده خواهد بود و میتوانید با نام کاربری و رمز عبور مدیر وارد شوید.
# نیاز به اجرای دستور در ترمینال نیست. این مرحله از طریق مرورگر انجام میشود. # آدرس دسترسی: http://your_server_ip_or_hostname/icingaweb2
به آدرس مشخص شده در مرورگر خود مراجعه کرده و مراحل نصب گام به گام را دنبال کنید. در این مراحل، اطلاعات پایگاه داده و حساب کاربری مدیر را پیکربندی خواهید کرد.
اولین گام پس از نصب اضافه کردن هاست
پس از تکمیل موفقیتآمیز نصب Icinga 2 و Icinga Web 2 و ورود به رابط کاربری وب، سیستم نظارتی شما آماده به کار است، اما هنوز هیچ چیزی را نظارت نمیکند. اولین گام عملی برای شروع استفاده از Icinga 2، اضافه کردن یک هاست (Host) برای نظارت است. هاست میتواند یک سرور فیزیکی یا مجازی، یک دستگاه شبکه مانند روتر یا سوئیچ، یا هر منبع دیگری باشد که میخواهید وضعیت آن را پایش کنید. اضافه کردن هاست در Icinga 2 معمولاً شامل تعریف یک شیء Host در فایلهای پیکربندی Icinga 2 است. این فایلهای پیکربندی در مسیر /etc/icinga2/conf.d/ یا مسیرهای مشابه قرار دارند. در تعریف هاست، اطلاعاتی مانند نام هاست، آدرس IP یا نام دامنه آن و تمپلیتهایی که برای نظارت بر آن استفاده میشوند (مانند تمپلیت generic-host) مشخص میشوند. پس از ویرایش فایلهای پیکربندی، لازم است پیکربندی Icinga 2 را اعتبارسنجی کرده و سپس سرویس Icinga 2 را راهاندازی مجدد کنید تا تغییرات اعمال شوند. پس از راهاندازی مجدد، Icinga 2 شروع به نظارت بر هاست تازه اضافه شده میکند و وضعیت آن در رابط کاربری وب قابل مشاهده خواهد بود. اضافه کردن سرویسها (Services) برای نظارت بر جنبههای خاص هاست (مانند وضعیت پینگ، استفاده از CPU، فضای دیسک و غیره) گام بعدی پس از اضافه کردن هاست است.
# مثال: ایجاد فایل پیکربندی برای هاست جدید sudo nano /etc/icinga2/conf.d/hosts.conf # محتوای نمونه برای hosts.conf: /* Define a host */ object Host "your-first-host" { import "generic-host" address = "your_host_ip_or_hostname" } # اعتبارسنجی پیکربندی: sudo icinga2 daemon -C # راهاندازی مجدد سرویس Icinga 2 برای اعمال تغییرات: sudo systemctl restart icinga2
نام "your-first-host" و آدرس "your_host_ip_or_hostname" را با اطلاعات واقعی هاست مورد نظر خود جایگزین کنید. سپس پیکربندی را اعتبارسنجی و سرویس را راهاندازی مجدد کنید.
نکات عیبیابی رایج پس از نصب Icinga 2
پس از نصب Icinga 2، ممکن است با مشکلاتی مواجه شوید که نیاز به عیبیابی داشته باشند. یکی از رایجترین مشکلات، عدم دسترسی به رابط کاربری وب Icinga Web 2 است. این مشکل میتواند ناشی از بسته بودن پورتهای ۸۰ یا ۴۴۳ در فایروال، عدم اجرای سرویس Apache، مشکلات پیکربندی Apache برای Icinga Web 2، یا مسائل مربوط به SELinux باشد. بررسی وضعیت سرویس Apache (systemctl status httpd)، بررسی قوانین فایروال (firewall-cmd --list-all) و بررسی لاگهای خطای Apache (معمولاً در /var/log/httpd/) میتواند به شناسایی علت کمک کند. مشکل دیگر ممکن است مربوط به اتصال Icinga 2 به پایگاه داده باشد. اگر ماژول IDO به درستی پیکربندی نشده باشد یا سرویس پایگاه داده در حال اجرا نباشد، Icinga 2 قادر به ذخیره دادهها نخواهد بود. بررسی وضعیت سرویس پایگاه داده (systemctl status mysqld یا systemctl status postgresql)، بررسی فایل پیکربندی ido-mysql.conf یا ido-pgsql.conf و بررسی لاگهای Icinga 2 (معمولاً در /var/log/icinga2/) میتواند مفید باشد. همچنین، اگر Icinga 2 هاستها یا سرویسها را به درستی نظارت نمیکند، بررسی فایلهای پیکربندی Icinga 2 برای خطاها در تعریف اشیاء، اعتبارسنجی پیکربندی با icinga2 daemon -C و بررسی لاگهای Icinga 2 ضروری است. مشکلات مربوط به دسترسی فایلها یا اجرای اسکریپتها نیز ممکن است به دلیل محدودیتهای SELinux رخ دهد که بررسی لاگهای audit میتواند راهگشا باشد. در نهایت، اطمینان از مطابقت نسخههای نرمافزارها و وابستگیها با مستندات رسمی Icinga نیز در عیبیابی مهم است.
سوالات متداول
آیسینگای ۲ چیست؟
آیسینگای ۲ یک سیستم نظارت بر زیرساختهای IT متن باز است که به سازمانها کمک میکند تا وضعیت سرورها، شبکهها و سرویسهای خود را پایش کرده و در صورت بروز مشکل، هشدارهای لازم را دریافت کنند.
برای Icinga 2 از چه پایگاه دادهای باید استفاده کرد؟
آیسینگای ۲ از پایگاه دادههای مختلفی پشتیبانی میکند. گزینههای رایج شامل MySQL/MariaDB و PostgreSQL هستند که هر دو به خوبی با ماژول IDO آیسینگا کار میکنند.
کدام پورت برای دسترسی به Icinga Web 2 در فایروال باز شود؟
برای دسترسی به رابط کاربری وب آیسینگای ۲، باید پورتهای استاندارد وب یعنی پورت ۸۰ برای HTTP و پورت ۴۴۳ برای HTTPS در فایروال سیستم عامل شما باز شوند.
چگونه وضعیت سرویسهای Icinga 2 را بعد از نصب بررسی کنیم؟
برای بررسی وضعیت سرویسهای آیسینگای ۲ و وب سرور Apache در سیستم عاملهای مبتنی بر Systemd مانند CentOS 8 یا RHEL 8، از دستورات systemctl status icinga2 و systemctl status httpd استفاده کنید.
آیا نصب Icinga 2 روی RHEL 9 امکانپذیر است؟
بله، آیسینگای ۲ از RHEL 9 پشتیبانی میکند. فرآیند نصب مشابه RHEL 8 است، اما باید از مخازن و بستههای نرمافزاری سازگار با RHEL 9 استفاده کنید که توسط پروژه آیسینگا ارائه میشوند.