در محیطهای مجازیسازی، پایش مداوم وضعیت هاستهای ESXi ضروریه تا سریع مشکلات رو پیدا کنیم.
پروتکل SNMP (Simple Network Management Protocol) ابزاریه که دادههای مانیتورینگ رو به سیستمهای NMS مثل Zabbix یا PRTG ارسال میکنه.
1- فعالسازی SSH در ESXi (پیشنیاز فعالکردن SNMP)
برای فعالکردن SNMP در سرور ESXi باید از محیط خط فرمان (Command Line) استفاده کنید. این کار نیازمند فعال بودن سرویس SSH در هاست است تا بتوانید دستورات مربوط به SNMP را اجرا کنید.
فعالسازی SSH در ESXi بسیار ساده است و از طریق کنسول مدیریتی تحت وب انجام میشود:
- وارد کنسول مدیریتی تحت وب ESXi شوید.
- از منوی بالا روی Action کلیک کنید.
- مسیر زیر را انتخاب کنید:
Action → Services → Enable Secure Shell

نکته: فعالکردن SSH تنها برای پیکربندی و انجام تغییرات ضروری پیشنهاد میشود. پس از اتمام کار، برای افزایش امنیت، بهتر است سرویس SSH را غیرفعال کنید.
س از فعالکردن سرویس SSH، باید از طریق یک نرمافزار کلاینت SSH به سرور متصل شوید. یکی از رایجترین ابزارها برای این کار، Putty است که روی سیستم ویندوزی نصب میشود.
مراحل اتصال با Putty:
- نرمافزار Putty را اجرا کنید.
- در کادر Host Name (or IP address)، آدرس IP سرور ESXi را وارد کنید.
- پورت را روی 22 (پیشفرض SSH) بگذارید.
- روی Open کلیک کنید تا اتصال برقرار شود.

در این مرحله، برنامه از شما نام کاربری (Username) و رمز عبور (Password) سرور ESXi را درخواست میکند.
- Username: به طور پیشفرض در ESXi نام کاربری مدیریتی
root
است، مگر اینکه قبلاً کاربر دیگری با دسترسی ادمین ساخته باشید. - Password: همان رمز عبوری است که هنگام ورود به کنسول تحت وب ESXi استفاده میکنید. اگر این رمز را تغییر نداده باشید، همان رمزی است که هنگام نصب یا پیکربندی اولیه ESXi تعیین کردهاید.
پس از وارد کردن اطلاعات صحیح، به محیط Command Line هاست ESXi متصل میشوید و میتوانید دستورات پیکربندی SNMP را اجرا کنید.

بررسی وضعیت فعلی SNMP
esxcli system snmp get
این دستور وضعیت SNMP را نمایش میدهد؛ اگر غیرفعال است، تنظیمات خالی هستند.
پیکربندی SNMP v2c
برای فعالکردن SNMP نسخه 2c و تعیین Community String:
esxcli system snmp set --communities mycommunity
esxcli system snmp set --enable true
mycommunity
همان رمز مشترک بین ESXi و نرمافزار مانیتورینگ شماست (مثلاً public
یا چیزی سفارشی).
اگر چند Community میخواهید، میتوانید با کاما جدا کنید:
esxcli system snmp set --communities public,private
باز کردن دسترسی SNMP در فایروال ESXi
اگر فایروال فعال است باید Rule مربوط به SNMP را باز کنید:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
برای محدود کردن به یک شبکه خاص:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.1.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
۷. نکته امنیتی
- نسخه 2c رمزگذاری ندارد، بنابراین در شبکههای عمومی یا ناامن استفاده نشود.
- بهتر است پورت SNMP فقط از طریق NMS شما قابل دسترسی باشد (با فایروال).
اطلاعات بیشتر:
پارامترهای مهم دستور esxcli system snmp set
:
علاوه بر --communities
و --enable
، چند گزینه مهم دیگر هم وجود دارد:
پارامتر | توضیح |
---|---|
--communities | تعیین یک یا چند Community String |
--port | تغییر پورت پیشفرض SNMP (۱۶۱) |
--hwsrc | منبع اطلاعات سختافزاری (system یا sensors) |
--loglevel | سطح لاگبرداری (none, info, verbose) |
--syslocation | محل سرور (برای نمایش در NMS) |
--syscontact | ایمیل یا نام مسئول سرور |
--targets | مقصد Trapها (IP مقصد@پورت/community/trap) |
--enable | فعال یا غیرفعالکردن سرویس |
مثال:
esxcli system snmp set --communities monitor123 --syslocation "Datacenter-1" --syscontact admin@example.com --enable true