نصب و راه‌اندازی

سامانه مانیتورینگ از دو بسته مستقل تشکیل شده است:

  • سرور مانیتورینگ با نام bundle-monitoring-<version>.tar.zst که روی یک سرور جداگانه نصب می‌شود.
  • کلاینت مانیتورینگ همدار با نام bundle-hmdr-mc-<version>.tar.zst که روی سرور همدار نصب می‌شود.

هر دو بسته آفلاین هستند و با ابزار srvmanager نصب می‌شوند. ابتدا سرور مانیتورینگ، سپس TLS و در پایان کلاینت همدار را راه‌اندازی کنید.

پیش‌نیازها

سرور مانیتورینگ

  • Ubuntu 20.04 یا جدیدتر
  • حداقل ۴ گیگابایت RAM برای مانیتورینگ همدار
  • حداقل ۸ گیگابایت RAM در صورت فعال‌سازی Soodar و ElastiFlow
  • دسترسی شبکه کلاینت‌های همدار به 9080/tcp برای ارسال داده و 123/udp برای NTP
  • در صورت نیاز به دسترسی به پنل Grafana از سیستم دیگری، دسترسی به 3080/tcp فقط برای شبکه مدیریت

سرور همدار

  • Ubuntu 20.04 یا جدیدتر
  • حداقل ۲ گیگابایت RAM و ۲ گیگابایت فضای آزاد
  • نصب بودن سامانه همدار
  • دسترسی شبکه به 9080/tcp و 123/udp روی سرور مانیتورینگ

آماده‌سازی srvmanager

این مرحله را روی هر دو سرور انجام دهید. فایل اجرایی srvmanager را کنار Bundle قرار دهید و آن را یک‌بار روی سیستم نصب کنید:

sudo chmod +x ./srvmanager
sudo ./srvmanager install-self

نصب سرور مانیتورینگ

نمایش زیر نمونه نصب واقعی سرور مانیتورینگ برای همدار بدون Soodar است. در دو پنجره تأیید ابتدای نصب، گزینه بنفش‌رنگ Yes را انتخاب کنید.

monitoring-server — srvmanager
شروع نصب
نمایش آموزشی است؛ فرمانی اجرا نمی‌شود.

۱. انتقال Bundle

فایل‌های زیر را به سرور مانیتورینگ منتقل کنید:

srvmanager
bundle-monitoring-<version>.tar.zst

۲. اجرای نصب

در پوشه‌ای که Bundle قرار دارد اجرا کنید:

sudo srvmanager install ./bundle-monitoring-*.tar.zst

سامانه در مسیر زیر نصب می‌شود:

/opt/srv/monitoring

۳. پاسخ به پرسش‌های نصب

برای نصب فقط همدار، مقادیر زیر را انتخاب کنید:

  • HAMDAR_ENABLED=true
  • SOODAR_ENABLED=false
  • پورت Grafana: مقدار پیش‌فرض 3080
  • پورت دریافت داده‌های همدار: مقدار پیش‌فرض 9080
  • TLS همدار: فعال
  • HAMDAR_TLS_SAN: همان IP یا دامنه‌ای که کلاینت‌ها برای اتصال به سرور مانیتورینگ استفاده می‌کنند
  • رمز CA سراسری srvmanager: در اولین نصب روی میزبان، عبارت New CA passphrase نمایش داده می‌شود (حداقل ۸ کاراکتر). اگر CA سراسری از قبل روی همین سرور ساخته شده باشد، عبارت Global srvmanager CA passphrase نمایش داده می‌شود. این رمز برای امضای گواهی TLS استفاده می‌شود، روی دیسک ذخیره نمی‌شود و باید در محل امن نگه‌داری شود.

رمز Grafana و سایر اعتبارنامه‌ها به‌صورت خودکار تولید می‌شوند؛ رمز ثابت admin نیست. مسیر ذخیره:

/opt/srv/.internal/monitoring/credentials.env

پس از پایان نصب، خلاصه کامل (URLها، اعتبارنامه‌ها و جزئیات TLS) در فایل زیر ذخیره می‌شود:

/opt/srv/monitoring/INSTALL_SUMMARY.txt

۴. بررسی نتیجه نصب

sudo srvmanager action show-summary --name monitoring
sudo srvmanager ps --name monitoring

Grafana روی پورت پیش‌فرض 3080 اجرا می‌شود، اما این پورت برای جمع‌آوری داده‌ها لازم نیست. فقط اگر می‌خواهید از سیستم دیگری به پنل دسترسی داشته باشید، آن را در Firewall برای شبکه مدیریت مجاز کنید:

http://<MONITORING_SERVER_IP>:3080/

برای مشاهده اطلاعات ورود تولیدشده:

sudo srvmanager action show-credentials --name monitoring

تولید و انتقال گواهی TLS

ارتباط Upstream کلاینت همدار با سرور مانیتورینگ بهتر است با TLS برقرار شود. آدرس VECTOR_SERVER_IP روی کلاینت باید دقیقاً با IP یا دامنه ثبت‌شده در HAMDAR_TLS_SAN مطابقت داشته باشد.

در نصب اول، root.crt به‌صورت خودکار کنار Bundle سرور منتشر می‌شود. برای بازتولید TLS یا انتقال دستی، از فرمان‌های زیر استفاده کنید.

monitoring-tls — root.crt handoff
تولید TLS
نمایش آموزشی است؛ فرمانی اجرا نمی‌شود.

۱. تولید یا بازتولید TLS

TLS هنگام نصب سرور ساخته می‌شود. اگر SAN یا CA تغییر کرده است، گواهی را دوباره تولید کنید:

sudo srvmanager action generate-tls --name monitoring

این فرمان قبل از امضای گواهی، رمز CA سراسری srvmanager را درخواست می‌کند. پس از تغییر گواهی، سرویس Vector را راه‌اندازی مجدد کنید:

sudo srvmanager restart --name monitoring

۲. دریافت root.crt

sudo srvmanager action export-ca --name monitoring

فایل CA موردنیاز کلاینت در مسیر زیر قرار دارد:

/opt/srv/monitoring/certs/root.crt

۳. نصب جدید کلاینت

فایل root.crt را به سرور همدار منتقل و دقیقاً کنار Bundle کلاینت قرار دهید:

bundle-hmdr-mc-<version>.tar.zst
root.crt

نصاب فایل را به‌صورت خودکار پیدا و در مسیر اعتماد TLS کلاینت نصب می‌کند.

۴. کلاینتی که قبلاً نصب شده است

برای افزودن یا تعویض گواهی و تنظیم هم‌زمان آدرس و پورت Upstream، ابتدا root.crt را به مسیری مانند /tmp/root.crt منتقل کنید و سپس اجرا کنید:

sudo srvmanager action configure-upstream-tls --name hmdr-mc \
  --input "--ca /tmp/root.crt --server <MONITORING_SERVER_IP_OR_DOMAIN> --port 9080"

این Action در یک مرحله موارد زیر را انجام می‌دهد:

  • نصب CA در /opt/srv/hmdr-mc/tls/vector/root.crt
  • تنظیم VECTOR_SERVER_IP و VECTOR_SERVER_PORT
  • فعال‌سازی Upstream مبتنی بر TLS
  • ساخت دوباره تنظیمات Vector
  • راه‌اندازی مجدد سرویس‌های کلاینت

نصب کلاینت مانیتورینگ همدار

پیش از اجرای نصب، root.crt را کنار Bundle کلاینت قرار دهید. در دو پنجره تأیید ابتدای نصب، Yes را انتخاب کنید.

hamdar-client — srvmanager
شروع نصب کلاینت
نمایش آموزشی است؛ فرمانی اجرا نمی‌شود.

۱. اجرای نصب

sudo srvmanager install ./bundle-hmdr-mc-*.tar.zst

کلاینت در مسیر زیر نصب می‌شود:

/opt/srv/hmdr-mc

۲. پاسخ به پرسش‌های نصب

  • Central monitoring server IP: همان مقدار HAMDAR_TLS_SAN سرور
  • SOC syslog address: آدرس host:port سامانه SOC؛ برای غیرفعال‌کردن خالی بگذارید
  • NTP server: برای استفاده از سرور مانیتورینگ خالی بگذارید
  • Client hostname: نام این سرور در لاگ‌های ارسالی
  • Upstream Vector port: مقدار پیش‌فرض 9080

اگر root.crt کنار Bundle نباشد، نصاب مسیر فایل گواهی (Path to monitoring server root.crt) را درخواست می‌کند.

پس از نصب، خلاصه وضعیت در فایل زیر ذخیره می‌شود:

/opt/srv/hmdr-mc/INSTALL_SUMMARY.txt

۳. بررسی اتصال کلاینت

sudo srvmanager action show-summary --name hmdr-mc
sudo srvmanager ps --name hmdr-mc
sudo srvmanager logs --name hmdr-mc -f

برای بررسی مستقیم زنجیره اعتماد TLS:

openssl s_client \
  -connect <MONITORING_SERVER_IP_OR_DOMAIN>:9080 \
  -CAfile /opt/srv/hmdr-mc/tls/vector/root.crt </dev/null

خروجی صحیح شامل عبارت زیر است:

Verify return code: 0 (ok)

تغییر تنظیمات پس از نصب

تنظیمات سرور مانیتورینگ:

/opt/srv/monitoring/.env

پس از تغییر:

sudo srvmanager action apply --name monitoring

اگر TLS فعال باشد، apply نیز رمز CA سراسری srvmanager را درخواست می‌کند.

تنظیمات کلاینت:

/opt/srv/hmdr-mc/.env

پس از تغییر:

sudo srvmanager action apply --name hmdr-mc

به‌روزرسانی

Bundle جدید را روی سرور مربوط قرار دهید و فقط فرمان همان سرویس را اجرا کنید:

sudo srvmanager update ./bundle-monitoring-*.tar.zst --force
sudo srvmanager update ./bundle-hmdr-mc-*.tar.zst --force

فرمان Update هیچ پرسشی نمایش نمی‌دهد و تمام مقادیر، توضیحات و ترتیب خطوط فایل .env را بدون تغییر حفظ می‌کند. تنظیمات فعلی مستقیماً برای اعتبارسنجی، ساخت فایل‌های تولیدی و راه‌اندازی نسخه جدید استفاده می‌شوند.

رفع اشکال اولیه

  • VECTOR_SERVER_IP باید با HAMDAR_TLS_SAN سرور یکسان باشد.
  • VECTOR_SERVER_PORT کلاینت باید با HAMDAR_VECTOR_PORT سرور یکسان باشد؛ مقدار پیش‌فرض هر دو 9080 است.
  • ساعت سرور مانیتورینگ و سرور همدار باید همگام باشد.
  • در صورت خطای گواهی، آخرین root.crt را دریافت و Action مربوط به configure-upstream-tls را اجرا کنید.
  • در صورت برقرارنشدن اتصال، دسترسی شبکه به 9080/tcp و 123/udp را بررسی کنید.
  • اگر generate-tls یا apply با خطای passphrase مواجه شد، رمز CA سراسری srvmanager را که هنگام ساخت CA وارد کردید دوباره وارد کنید.
  • اگر سرویس monitoring-vector با خطای key values mismatch راه‌اندازی مجدد می‌شود، generate-tls را اجرا و سپس restart کنید.

پس از اطمینان از اجرای هر دو سرویس، وارد پنل مانیتورینگ شوید.