برای هر ابزار: پیشنیاز، مسیر دقیق منوها، پورت و جهت جریان داده. مسیر منوها مطابق مستندات رسمی Device42 است.
| ابزار | جهت داده | پورت و نوع اتصال |
|---|---|---|
| ServiceNow | Device42 → ServiceNow | Cloud Connector یا Direct Connect |
| Jira | Device42 → Jira | 443، مستقیم |
| Freshservice | Device42 → Freshservice | Cloud Connector |
| Ansible | Device42 → Ansible | 443، مستقیم |
| Splunk | Device42 → Splunk HEC | 8088، مستقیم |
| VMware | vCenter → Device42 | 443، مستقیم |
| Hyper-V | Windows → Device42 | 5985 / 5986 / 135 |
| Kubernetes | API Server → Device42 | 6443، مستقیم |
| REST API | Device42 ⇄ App | 443 |
| Webhooks | Device42 → Endpoint | HTTP(S) |
اتصال به ServiceNow#servicenow
دادههای کشفشده Device42 بهصورت یکطرفه به CMDB سرویسناو منتقل میشود. نگاشت داده با موتور IRE خود ServiceNow انجام میشود و ترتیب همگامسازی از Device شروع و به IP، Software، Service، Business Application و Database میرسد.
پیشنیازها
- یکی از سه نسخه آخر ServiceNow
- پلاگین Configuration Management For Scoped Apps (CMDB)
- اپلیکیشن Device42 از ServiceNow Store
- برای کاربر غیر ادمین: نقشهای import_set_loader، import_transformer، import_scheduler، import_admin و x_192652_device42.Device42_Admin
مراحل اتصال
- در Device42 به Tools > Integrations > Cloud Services بروید و آدرس Device42 را در فیلد D42 URL for SaaS apps وارد کنید.
- در Tools > Integrations > External Integrations یک یکپارچگی جدید از نوع ServiceNow بسازید، آدرس اینستنس را بدهید و نوع اتصال را انتخاب کنید: Cloud Connection یا Direct Connect.
- مقدار Verification Token ساختهشده را کپی کنید.
- در ServiceNow صفحه Device42 Settings را باز کنید و Cloud Connector URL (connect.device42.net)، توکن و آدرس Device42 را وارد و ذخیره کنید.
- زمانبندی را از System Import Sets تنظیم کنید. برای داده سفارشی از Tools > Integrations > Saved DOQL Queries استفاده کنید.
- برای عیبیابی System Import Sets > Import Log را ببینید. اگر داده بریده میشود، پراپرتی com.glide.loader.verify_target_field_size = true را اضافه کنید.
نکته اجرایی: حالت Cloud Connection به دسترسی خروجی اپلاینس به connect.device42.net نیاز دارد. در شبکههای ایزوله بانکی از Direct Connect (نسخه 3.0.0 به بالا) استفاده کنید؛ این انتخاب فقط در زمان راهاندازی ممکن است و بعداً قابل تغییر نیست.
اتصال به Jira (نسخه Self-Managed)#jira
افزونه Device42 اقلام پیکربندی را داخل Jira کش میکند تا بتوانید هر CI را به تیکت وصل کنید، بر اساس پروژه فیلتر بگذارید و در گردشکار اعتبارسنجی انجام دهید؛ مثلاً هنگام تغییر وضعیت، IP بعدیِ آزاد یک سابنت را بگیرید.
پیشنیازها
- اپلاینس Device42 با داده کشفشده
- Jira خودمیزبان با دسترسی System Administrator
- ارتباط پایدار سرور Jira به Device42 روی HTTPS
- یک حساب اختصاصی فقطخواندنی در Device42
مراحل اتصال
- در Jira به Administration > Manage apps > Find new apps بروید و Device42 – CMDB with REST APIs for Jira را نصب کنید.
- اگر سرور به مارکتپلیس دسترسی ندارد، فایل .jar را جداگانه دانلود و از Manage apps > Upload app بارگذاری کنید.
- روی Configure بزنید و Device42 Base URL، نام کاربری و رمز را وارد کنید؛ Test و سپس Save.
- همگامسازی را با دکمه Update Data دستی اجرا کنید یا با عبارت cron زمانبندی کنید.
- فیلد سفارشی Device42 بسازید و به صفحه تیکت اضافه کنید تا CI به Issue وصل شود.
نکته اجرایی: این اتصال مستقیم و داخل شبکه است و به Cloud Connector نیاز ندارد، پس برای محیطهای بدون اینترنت مناسب است. Jira Server دیگر پشتیبانی نمیشود؛ روی Data Center برنامهریزی کنید.
اتصال به Freshservice#freshservice
Device42 از طریق Discovery Hub به Freshservice وصل میشود و داراییهای کشفشده را به CMDB آن میفرستد. امکان ورود یکپارچه (SSO) بین دو سامانه هم وجود دارد.
پیشنیازها
- دسترسی ادمین در Device42
- حساب Agent با دسترسی ادمین در Freshservice
- برای SSO: یک ادمین Device42 با همان ایمیل Agent
مراحل اتصال
- در Tools > Integrations > Cloud Services آدرس یا FQDN اپلاینس را در D42 URL for SaaS apps وارد و منطقه Cloud Connector را انتخاب کنید.
- در Tools > Integrations > External Integrations یکپارچگی نوع Freshservice با آدرس اینستنس بسازید و Verification Token را از صفحه فهرست کپی کنید.
- در Freshservice از Admin > Discovery Hub مراحل را تا «Install the Device42 app» جلو ببرید.
- فرم را با Freshservice Domain Name، Cloud Connector Region و توکن پر کنید، Default Approver را انتخاب و Install کنید.
- برای SSO در Appliance Manager به Global Settings > SAML/SSO Settings بروید، Enable Freshworks SSO را فعال و اپلیکیشن را ریاستارت کنید.
نکته اجرایی: این یکپارچگی به Cloud Connector و سرویس ابری Freshservice وابسته است. قبل از برنامهریزی، دسترسی شبکه سازمان به هر دو را بررسی کنید.
اتصال به Ansible#ansible
Device42 منبع فهرست میزبانهای Ansible میشود. سه ابزار رسمی وجود دارد: اسکریپت فهرست ثابت، اسکریپت فهرست پویا و Lookup Plugin که داخل Playbook آدرس IP و رمز میزبان را از Device42 میخواند.
پیشنیازها
- Control Node با Ansible و Python
- دسترسی HTTPS از Control Node به Device42
- حساب API در Device42 (برای Lookup رمزها، دسترسی به بخش Passwords)
مراحل اتصال
- مخزن github.com/device42/ansible_device42 را روی Control Node بگیرید.
- طبق README مخزن، آدرس Device42 و حساب کاربری را در فایل تنظیمات وارد کنید.
- خروجی را بیازمایید: ansible-inventory -i <inventory> –list
- برای خواندن IP و رمز داخل Playbook، github.com/device42/ansible_lookup_plugin را در مسیر lookup_plugins قرار دهید.
- Playbook را روی گروههایی که از Device42 آمدهاند اجرا کنید.
نکته اجرایی: فهرست پویا در هر اجرا از Device42 خوانده میشود، پس کیفیت اتوماسیون به بهروز بودن دیسکاوری بستگی دارد. دیسکاوری را پیش از پنجره تغییرات زمانبندی کنید.
ارسال رخدادها به Splunk#splunk
یکپارچگی قدیمی Splunk منسوخ شده است. روش فعلی، ارسال رخدادهای ممیزی Device42 با Webhook به HTTP Event Collector اسپلانک است: افزودن، حذف، تغییر، مشاهده و ورود کاربران.
پیشنیازها
- HTTP Event Collector فعال در Splunk و یک HEC Token
- دسترسی Device42 به پورت HEC (پیشفرض 8088)
- یک UUID تصادفی برای کانال
مراحل اتصال
- در Tools > Webhooks > Endpoints > Add Webhook Endpoint آدرس را وارد کنید: https://SPLUNK:8088/services/collector/raw
- دو هدر اضافه کنید: Authorization: Splunk <HEC_TOKEN> و X-Splunk-Request-Channel: <UUID>
- در Tools > Webhooks > Actions > Add Webhook Action رخدادها و دستهبندیها را انتخاب کنید یا Process All Categories را بزنید.
- مدت نگهداری لاگ را از Tools > Settings > Log Integration تنظیم کنید.
- در Splunk جستوجو کنید: source=”http:d42_webhooks”
نکته اجرایی: همین الگو برای هر SIEM دیگری که ورودی HTTP دارد کار میکند و برای پاسخ به الزامات ثبت و نگهداری لاگ ممیزی مفید است.
کشف VMware vCenter و ESXi#vmware
Device42 با APIهای VMware به vCenter یا ESXi وصل میشود و میزبانها، ماشینهای مجازی، سیستمعامل مهمان، شماره سریال و UUID را کشف میکند.
پیشنیازها
- FQDN یا IP سرور vCenter یا ESXi
- پورت 443 از Remote Collector به vCenter
- یک حساب اختصاصی فقطخواندنی؛ از حساب عملیاتی استفاده نکنید چون قفل شدن آن میتواند قطعی ایجاد کند
مراحل اتصال
- به Discovery > HyperVisors / *Nix / Windows بروید و Create بزنید.
- Platform را VMware بگذارید و آدرس را در Discovery Target(s) وارد کنید.
- گزینههای نامگذاری را تنظیم کنید: حذف پسوند دامنه، رفتار با VM حذفشده و نادیدهگرفتن VMهای خاموش.
- زمانبندی را تعیین کنید و برای اجرای فوری Run Now بزنید.
نکته اجرایی: Device42 بهصورت خودکار vCenterهای لینکشده را پیدا نمیکند؛ هر vCenter باید جداگانه اضافه شود. Job تازهساخته در روز اول خودکار اجرا نمیشود.
کشف Windows و Hyper-V#hyper-v
کشف ویندوز با WinRM یا WMI انجام میشود و مشخصات میزبان، CPU، RAM، دیسک، سرویسها، نرمافزارهای نصبشده و ماشینهای مجازی Hyper-V را ثبت میکند.
پیشنیازها
- Remote Collector و برای WMI، سرویس Windows Discovery Service
- پورتها: WinRM 5985 / 5986، WMI 135، SMB 445، RPC پویا 49152-65535
- عضویت حساب در Performance Monitor Users و Distributed COM Users
- دسترسی Enable Account، Remote Enable و Read Security روی Namespaceهای CIMV2، StandardCimv2، default و برای Hyper-V روی virtualization و virtualizationv2
- در Hyper-V Server 2012 به بالا: عضویت در گروه Hyper-V Administrators
مراحل اتصال
- به Discovery > HyperVisors / *Nix / Windows بروید و Create بزنید.
- Platform را Windows بگذارید، Remote Collector را انتخاب و مقصدها را وارد کنید.
- پروتکل را WinRM بگذارید (توصیهشده) و نام کاربری و رمز را اضافه کنید.
- برای Hyper-V گزینه Discover VMs را فعال کنید.
- پس از اجرا، Job Run Report را برای خروجی stdout و stderr ببینید.
نکته اجرایی: برای نقشه وابستگی اپلیکیشن، دسترسی به اشتراکهای IPC$ و ADMIN$ روی پورت 445 هم لازم است. قوانین فایروال WMI-In و DCOM-In را روی مقصد باز کنید.
کشف Kubernetes#kubernetes
کلاسترهای مستقل Kubernetes بهصورت مستقیم کشف میشوند و Nodeها، کانتینرها، Namespaceها و Endpointها در Device42 ثبت میشوند.
پیشنیازها
- آدرس API Server کلاستر (معمولاً پورت 6443)
- Bearer Token یا نام کاربری و رمز
- توصیه ما: یک ServiceAccount فقطخواندنی با دسترسی get و list
مراحل اتصال
- به Discovery > Cloud بروید و Create بزنید.
- از فهرست Type گزینه Standalone Kubernetes را انتخاب کنید.
- URL کلاستر و نوع احراز هویت (Bearer Token یا Basic Credentials) را وارد کنید.
- رفتار Action for Kubernetes Resources not found را مشخص کنید.
- نتیجه را در Resources > Containers > Kubernetes ببینید.
نکته اجرایی: مستندات رسمی جزئیات RBAC را مشخص نکرده است؛ سطح دسترسی دقیق ServiceAccount را در محیط آزمایشی تأیید کنید.
اتصال با RESTful API#rest-api
هر دادهای که در Device42 دیده میشود از API هم قابل خواندن و نوشتن است. برای گزارشهای پیچیده، زبان پرسوجوی DOQL مستقیماً روی پایگاه داده خوانده اجرا میشود.
پیشنیازها
- یک حساب کاربری با سطح دسترسی محدود به نیاز
- دسترسی HTTPS به اپلاینس
- مرجع کامل: api.device42.com
مراحل اتصال
- احراز هویت با Basic Auth روی HTTPS انجام میشود.
- خواندن دستگاهها با صفحهبندی: پارامترهای limit و offset
- اجرای DOQL از مسیر /services/data/v1.0/query/
- برای ورود گروهی داده از اکسل، از ابزار Import در منوی Tools استفاده کنید.
curl -u api_user -X GET \ "https://d42.example.ir/api/1.0/devices/?limit=50&offset=0" curl -u api_user -G \ "https://d42.example.ir/services/data/v1.0/query/" \ --data-urlencode "query=SELECT name, serial_no FROM view_device_v1" \ --data-urlencode "output_type=json"
نکته اجرایی: برای هر سامانه یک حساب API جدا بسازید تا در لاگ ممیزی قابل ردیابی باشد.
اتصال با Webhook#webhooks
هر رخدادی که در لاگ ممیزی Device42 ثبت میشود میتواند یک Webhook بفرستد: دستگاه جدیدی که دیسکاوری پیدا کرده، تغییر پیکربندی یا حذف یک قلم.
پیشنیازها
- یک مقصد HTTP یا HTTPS که از اپلاینس در دسترس باشد
- در صورت نیاز، توکن برای هدر احراز هویت
مراحل اتصال
- در Tools > Webhooks > Endpoints > Add Webhook Endpoint نام، URL و نوع مقصد (Slack، Zapier یا سفارشی) را وارد کنید.
- برای احراز هویت، در Webhook Header جفت نام و توکن اضافه کنید.
- در Tools > Webhooks > Actions > Add Webhook Actions رخدادها را انتخاب کنید: Add، Delete، Change، View یا Login.
- دستهبندی CI را محدود کنید یا Process All Categories را بزنید.
- با ایجاد یک تغییر آزمایشی، دریافت پیام را در مقصد بررسی کنید.
نکته اجرایی: با Webhook میتوانید سامانه تیکتینگ یا پیامرسان داخلی سازمان را بدون نیاز به سرویس خارجی به Device42 وصل کنید.
اتصال را به ما بسپارید
پیادهسازی، تست و مستندسازی هر یک از این یکپارچگیها را در محیط شما انجام میدهیم.
