نصب سنسور روی لینوکس
در این آموزش
روی لینوکس، سنسور ServerMug یک فایل اجرایی ایستا است که در /usr/local/bin/servermug-agent قرار میگیرد و بهصورت سرویس systemd با نام servermug-agent و با دسترسی root اجرا میشود. به هیچ بستهٔ اضافهای نیاز ندارد؛ نصب با یک دستور curl … | sudo sh انجام میشود.
پیشنیازها
| مورد | شرط |
|---|---|
| معماری | x86_64 (amd64) یا aarch64 (arm64) |
| توزیع | هر توزیع با systemd؛ آزموده روی Ubuntu، Debian و خانوادهٔ RHEL (Rocky، Alma) |
| ابزارها | curl یا wget، و sha256sum (یا shasum یا openssl) |
| دسترسی | root یا کاربری با sudo |
| شبکه | HTTPS خروجی به نشانی ingest و به https://app.servermug.ir؛ هیچ پورت ورودی لازم نیست |
گام ۱: گرفتن دستور نصب
- در داشبورد «+ افزودن سرور» را بزنید، توکن را بسازید و زبانهٔ «لینوکس» را باز کنید.
- دستور را کپی کنید. شکل آن این است:
curl -fsSL 'https://app.servermug.ir/dl/install.sh' | sudo sh -s -- --server 'https://INGEST_HOST' --token 'sm_enroll_TOKEN' --pin 'sha256:FINGERPRINT' --dl 'https://app.servermug.ir/dl'
اگر توکن را با اجازهٔ اسکریپت ساخته باشید، --allow-scripts هم در انتهای دستور هست. معنای بقیهٔ پارامترها همان است که در نصب روی ویندوز آمده است.
اگر ترجیح میدهید اسکریپت را پیش از اجرا بخوانید، که کار درستی است، اول دانلودش کنید:
curl -fsSL -o install.sh 'https://app.servermug.ir/dl/install.sh'
less install.sh
sudo sh install.sh --server 'https://INGEST_HOST' --token 'sm_enroll_TOKEN' --pin 'sha256:FINGERPRINT' --dl 'https://app.servermug.ir/dl'
گام ۲: اجرا و آنچه اتفاق میافتد
- اسکریپت معماری را با
uname -mتشخیص میدهد و فایلservermug-agent-linux-amd64یاservermug-agent-linux-arm64را دانلود میکند. - SHA-256 فایل را با
manifest.jsonمقایسه میکند؛ اگر یکی نباشد، متوقف میشود. - سنسور با توکن ثبت میشود، خودش را در
/usr/local/bin/servermug-agentکپی میکند، تنظیمات را در/etc/servermug/agent.json(فقط قابل خواندن برای root) مینویسد و یونیتservermug-agent.serviceرا باRestart=alwaysفعال و اجرا میکند.
در پایان باید ببینید:
✓ ServerMug agent 0.1.0 installed and running (service servermug-agent).
✓ سنسور سرورماگ نصب شد و در حال اجراست.
گام ۳: بررسی
sudo servermug-agent status
systemctl status servermug-agent
journalctl -u servermug-agent -n 50
sudo tail -n 50 /var/log/servermug-agent.log
در خروجی status، خط last report زمان آخرین گزارش موفق را نشان میدهد و خط spool تعداد گزارشهایی را که بهخاطر قطعی شبکه منتظر ارسالاند.
مسیرها روی لینوکس
| مسیر | محتوا |
|---|---|
/usr/local/bin/servermug-agent |
فایل اجرایی |
/etc/servermug/agent.json |
نشانی سرور، پین، کلید سنسور (فقط root) |
/var/lib/servermug |
وضعیت سنسور، تنظیمات دریافتی و spool (حداکثر ۵۰ مگابایت) |
/var/log/servermug-agent.log |
لاگ سنسور |
آنچه روی لینوکس متفاوت است
- بهروزرسانیها: چک آپدیت از
apt-get -s dist-upgradeیاdnf/yum -C check-updateاستفاده میکند، یعنی فقط از کش محلی مخزن میخواند و خودش به اینترنت وصل نمیشود. اگر روی سرور هیچوقتapt updateاجرا نشود، کش کهنه میماند و آپدیت تازه دیده نمیشود. روی Debian و Ubuntu، سن فهرست مخزن (lists_age_days) در جزئیات چک نمایش داده میشود. بستهٔunattended-upgradesیا یک cron که روزانهapt updateبزند، این مشکل را حل میکند. - آنتیویروس: اگر هیچ ClamAV یا EDR شناختهشدهای پیدا نشود، چک «هشدار» میشود نه «بحرانی»، چون بیشتر سرورهای لینوکس آنتیویروس ندارند.
- ورود ناموفق: از لاگ
sshdدر journald خوانده میشود و اگر journald نباشد از/var/log/auth.logیا/var/log/secure. - سلامت دیسک: فقط اگر
smartctl(بستهٔsmartmontools) نصب باشد؛ وگرنه وضعیت «نامشخص» است. روی ماشین مجازی معمولاً اطلاعات SMART در دسترس نیست. - سرویسها: یونیتهای
failedدر systemd چک جداگانه دارند و بهمحض خرابی، بحرانی میشوند. - inode و load average: فقط روی لینوکس جمع میشوند.
- فایل طعمه: در
/srv،/home،/var/wwwو/opt/share(هر کدام که وجود داشته باشد) و پوشههای اشتراکی Samba از/etc/samba/smb.conf.
ماشینهای کلونشده
سنسور هر سرور را با /etc/machine-id میشناسد. اگر چند ماشین مجازی از یک قالب ساخته شده باشند و این فایل یکسان باشد، همه در داشبورد یک سرور دیده میشوند و مدام جای هم را میگیرند. پیش از نصب، شناسهٔ تکراری را عوض کنید:
cat /etc/machine-id
sudo rm -f /etc/machine-id
sudo systemd-machine-id-setup
بعد از تغییر machine-id، سرور را یک بار ریبوت کنید تا سرویسهای دیگر هم شناسهٔ تازه را بخوانند.
عیبیابی
| پیام | راه حل |
|---|---|
servermug: must run as root (use sudo) |
دستور را با sudo اجرا کنید؛ دقت کنید sudo بعد از | بیاید |
servermug: unsupported architecture |
فقط amd64 و arm64 پشتیبانی میشوند |
servermug: cannot download .../manifest.json |
دسترسی خروجی به app.servermug.ir را با curl -I https://app.servermug.ir بررسی کنید |
| توکن ثبت نامعتبر، منقضی یا تمامشده است | از داشبورد توکن تازه بسازید |
certificate pin mismatch |
یک پراکسی TLS بین سرور و ingest است؛ نشانی ingest را از آن مستثنا کنید |
اجرای دوبارهٔ دستور نصب بیخطر است: اگر همان نسخه در حال اجرا باشد پیام already installed and running میگیرید و اگر نسخهٔ قدیمیتر باشد فقط فایل بهروز میشود.
دستور نصب را از کجا بیاورید؟
در داشبورد، صفحهٔ «افزودن سرور» دستور آماده با توکن خودتان را میدهد. هنوز حساب ندارید؟ درخواست دمو بدهید.
ورود به داشبورد درخواست دمو