
تحلیل خودکار حوادث Alertmanager با هوش مصنوعی و ارسال به Ma…
10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 14347 · منبع: کاتالوگ Pixori
تحلیل حوادث Alertmanager و ارسال گزارشهای تشخیصی به Mattermost
این گردش کار، تحلیل حوادث Alertmanager را با استفاده از هوش مصنوعی برای تولید گزارشهای تشخیصی و ارسال آنها به Mattermost خودکار میکند. این گردش کار برای تیمهای DevOps طراحی شده است تا فرآیند تریاژ و پاسخ به حوادث را سادهسازی کند.
کاتالوگ Axeto: مشاهده گردش کار
نمای کلی گردش کار
این گردش کار رویدادهای وبهوک را از Alertmanager دریافت میکند، هر هشدار را به یک درخواست بررسی مختصر تبدیل میکند و سپس از یک عامل هوش مصنوعی برای تجزیه و تحلیل حادثه استفاده میکند. این عامل از ابزارهای خارجی مختلفی برای بازیابی و تجزیه و تحلیل دادهها بهره میبرد. در نهایت، گزارش تشخیصی تولید شده در رشته (thread) مربوطه در Mattermost ارسال میشود.
مورد استفاده اصلی: تریاژ حوادث برای هشدارهای زیرساخت یا برنامه در محیطهایی که از Alertmanager، Mattermost و منابع مشاهدهپذیری/ابزارسازی مانند Grafana، Kubernetes، GitHub، DigitalOcean و پایگاه دانش Qdrant استفاده میکنند.
تشریح گردش کار
این گردش کار به چندین مرحله کلیدی تقسیم میشود:
1. دریافت ورودی و تنظیم متغیرهای زمان اجرا: رویدادهای وبهوک Alertmanager را به صورت امن دریافت کرده و متغیرهای ضروری زمان اجرا را پیکربندی میکند.
2. پیشپردازش هشدارها: بارهای داده (payloads) دریافتی از Alertmanager را به فرمتی ساختاریافته که برای تحلیل هوش مصنوعی مناسب است، تبدیل میکند.
3. تحلیل حادثه با هوش مصنوعی: از یک عامل LangChain با چندین ارائهدهنده ابزار برای بررسی حادثه و تولید گزارش تشخیصی استفاده میکند.
4. جستجوی رشته (Thread) در Mattermost: رشته (thread) مربوطه در Mattermost را برای حادثه شناسایی میکند.
5. ارسال گزارش: گزارش تشخیصی تولید شده توسط هوش مصنوعی را در رشته (thread) شناسایی شده در Mattermost ارسال میکند.
6. مستندسازی: شامل یادداشتهای چسبان (sticky notes) برای جزئیات پیکربندی ضروری و مراجع است.
---
تحلیل گرههای جزئی
۱. دریافت ورودی و راهاندازی متغیرهای زمان اجرا
این بخش مسئول دریافت اولیه هشدارها و راهاندازی متغیرهای محیطی لازم است.
#### گره: دریافت هشدارها (Receive alerts)
- نوع:
n8n-nodes-base.webhook - هدف: به عنوان نقطه ورود گردش کار عمل میکند و محمولههای Alertmanager را از طریق درخواست POST دریافت میکند.
- پیکربندی:
* متد HTTP: POST
* مسیر: alertmanager
* احراز هویت: Basic Auth
- ورودی/خروجی:
* ورودی: ندارد (محرک گردش کار)
* خروجی: محموله دریافتی را به گره SetVars ارسال میکند.
- نکات: نیاز به پیکربندی صحیح Basic Auth در Alertmanager دارد. اطمینان حاصل کنید که مسیر وبهوک قابل دسترسی است.
#### گره: تنظیم متغیرها (SetVars)
- نوع:
n8n-nodes-base.set - هدف: متغیرهای ایستا و مختص محیطی مورد نیاز برای عملیاتهای بعدی، مانند هاست Mattermost و شناسه کانال را تزریق میکند.
- پیکربندی:
* MATTERMOST_HOST را تنظیم میکند (مثلاً mattermost.example.com).
* MATTERMOST_CHANNEL_ID را تنظیم میکند (مثلاً dr87mpsdmbfrbxeag7i11acuyw).
* includeOtherFields: true دادههای وبهوک اصلی را حفظ میکند.
- ورودی/خروجی:
* ورودی: دادهها را از گره Receive alerts دریافت میکند.
* خروجی: دادههای پردازش شده و متغیرها را به گره PreProcessAlerts ارسال میکند.
- نکات: اطمینان حاصل کنید که
MATTERMOST_HOSTوMATTERMOST_CHANNEL_IDبه درستی پیکربندی شدهاند. اعلان سیستمی برای عامل هوش مصنوعی نیز بهprometheus_uidوloki_uidاشاره میکند که در صورت استفاده، ایدهآل است که در اینجا تنظیم شوند.
---
۲. پیشپردازش هشدارها
این مرحله دادههای هشدار را برای عامل هوش مصنوعی آماده میکند.
#### گره: پیشپردازش هشدارها (PreProcessAlerts)
- نوع:
n8n-nodes-base.code - هدف: محموله خام Alertmanager را به یک رشته ساختاریافته
chatInputبرای عامل هوش مصنوعی تبدیل میکند و یکsessionIdمنحصر به فرد تولید میکند. - پیکربندی:
* دادههای هشدار را از محموله ورودی میخواند.
* برچسبهای رایج و پر سر و صدا (مانند alertname, instance, job) را فیلتر میکند.
* برچسبهای خاص را برای وضوح نامگذاری مجدد میکند (مانند grafana_board به Grafana Dashboard).
* برچسبها و توضیحات را به یک بلوک متنی قابل خواندن قالببندی میکند.
* action: "sendMessage" و رشته chatInput را ایجاد میکند.
* یک sessionId بر اساس اثر انگشت هشدار تولید میکند.
- ورودی/خروجی:
* ورودی: دادهها را از گره SetVars دریافت میکند.
* خروجی: دادههای هشدار پیشپردازش شده را به گره AI Agent ارسال میکند.
- نکات: هشدارهای متعدد را در یک وبهوک واحد با ایجاد موارد خروجی جداگانه برای هر کدام مدیریت میکند. اگر محموله فاقد هشدار باشد، گرههای بعدی ممکن است اجرا نشوند.
---
۳. تحلیل حادثه با هوش مصنوعی
این جزء تحلیلی اصلی است که از یک عامل هوش مصنوعی و ابزارهای مختلف استفاده میکند.
#### گره: عامل هوش مصنوعی (AI Agent)
- نوع:
@n8n/n8n-nodes-langchain.agent - هدف: فرآیند استدلال هوش مصنوعی را هماهنگ میکند و ابزارهای خارجی را برای جمعآوری اطلاعات و تولید گزارش تشخیصی فراخوانی میکند.
- پیکربندی:
* پیام سیستمی (System Message): نقش هوش مصنوعی (مانند دستیار SRE با تجربه)، قوانین استفاده از ابزار، جریان تحقیق و فرمت خروجی مورد نیاز (چه اتفاقی افتاد، جدول زمانی، علت ریشهای، نکات عیبیابی) را تعریف میکند. به عامل دستور میدهد که سوالات پیگیری نپرسد و تلاشهای ناموفق برای فراخوانی ابزار را محدود کند.
* ارائهدهندگان ابزار (Tool Providers): برای استفاده از خروجیهای گرههای OpenAI Chat Model, Github MCP, Digitalocean MCP, K8S mcp, Grafana mcp و Qdrant Vector Store پیکربندی شده است.
- ورودی/خروجی:
* ورودی اصلی: دادههای هشدار پیشپردازش شده را از PreProcessAlerts دریافت میکند.
* ورودی مدل زبان (Language Model Input): به OpenAI Chat Model متصل میشود.
* ورودیهای ابزار (Tool Inputs): به گرههای مختلف MCP و Qdrant Vector Store متصل میشود.
* خروجی اصلی: گزارش تولید شده را به گره GetAlertMessages ارسال میکند.
- نکات: نیاز به اعتبارنامههای معتبر برای مدل زبان و نقاط پایانی MCP قابل دسترسی دارد. اطمینان حاصل کنید که متغیرهای ارجاع شده مانند
prometheus_uidوloki_uidدر گرهSetVarsبه درستی تنظیم شدهاند، اگر برای زمینه عامل حیاتی هستند.
#### گره: مدل چت OpenAI (OpenAI Chat Model)
- نوع:
@n8n/n8n-nodes-langchain.lmChatOpenAi - هدف: مدل زبان بزرگ (LLM) را برای استدلال عامل هوش مصنوعی فراهم میکند.
- پیکربندی:
* مدل: gpt-4-turbo-preview (یا جایگزین مناسب).
* اعتبارنامهها: از اعتبارنامههای پیکربندی شده OpenAI استفاده میکند (مثلاً OpenAi account).
- ورودی/خروجی:
* خروجی: رابط LLM را به گره AI Agent ارائه میدهد.
- نکات: اطمینان حاصل کنید که حساب OpenAI شما به مدل انتخاب شده و سهمیه کافی دسترسی دارد. هزینههای API را نظارت کنید.
#### گره: Github MCP
- نوع:
@n8n/n8n-nodes-langchain.mcpClientTool - هدف: ابزارهای بازرسی مخزن GitHub و issue/PR را در اختیار عامل هوش مصنوعی قرار میدهد.
- پیکربندی:
* URL نقطه پایانی (Endpoint URL): http://mcp-github:8091/mcp
* ابزارهای شامل (Included Tools): جستجوی مخزن، بازیابی فایل، لیست کردن commitها، بازرسی issue/PR.
- ورودی/خروجی:
* خروجی: دسترسی به ابزار GitHub را به گره AI Agent ارائه میدهد.
- نکات: نیاز به یک سرور MCP در حال اجرا برای GitHub و احراز هویت مناسب پیکربندی شده در سرور MCP دارد.
#### گره: Digitalocean MCP
- نوع:
@n8n/n8n-nodes-langchain.mcpClientTool - هدف: ابزارهایی را برای بازرسی منابع DigitalOcean (برنامهها، قطرهها، خوشههای Kubernetes، شبکهبندی) فراهم میکند.
- پیکربندی:
* URL نقطه پایانی (Endpoint URL): http://mcp-digitalocean:8090/mcp
* زمان انتظار (Timeout): 60000 ms
* شامل مجموعهای جامع از ابزارهای کشف و وضعیت DigitalOcean است.
- ورودی/خروجی:
* خروجی: دسترسی به ابزار DigitalOcean را به گره AI Agent ارائه میدهد.
- نکات: نیاز به یک سرور MCP در حال اجرا برای DigitalOcean و اعتبارنامههای API معتبر پیکربندی شده در سرور MCP دارد.
#### گره: K8S mcp
- نوع:
@n8n/n8n-nodes-langchain.mcpClientTool - هدف: ابزارهایی را برای بازرسی منابع خوشه Kubernetes (فضاهای نام، پادها، گرهها، رویدادها، پیکربندیها) در اختیار عامل هوش مصنوعی قرار میدهد.
- پیکربندی:
* URL نقطه پایانی (Endpoint URL): http://mcp-kubernetes:8089/mcp
* شامل ابزارهایی برای لیست کردن منابع، بازرسی پادها، آمار گرهها، بازیابی رویدادها و غیره است.
- ورودی/خروجی:
* خروجی: دسترسی به ابزار Kubernetes را به گره AI Agent ارائه میدهد.
- نکات: نیاز به یک سرور MCP در حال اجرا برای Kubernetes و مجوزهای RBAC مناسب پیکربندی شده برای حساب سرویس مورد استفاده توسط MCP دارد.
#### گره: Grafana mcp
- نوع:
@n8n/n8n-nodes-langchain.mcpClientTool - هدف: ابزارهایی را برای پرس و جو از منابع داده Grafana، از جمله متریکها، لاگها، داشبوردها و هشدارها فراهم میکند.
- پیکربندی:
* URL نقطه پایانی (Endpoint URL): http://mcp-grafana:8000/mcp
* زمان انتظار (Timeout): 60000 ms
* شامل ابزارهایی برای پرس و جوهای Prometheus، پرس و جوهای Loki، جستجوی داشبورد و غیره است.
- ورودی/خروجی:
* خروجی: دسترسی به ابزار Grafana را به گره AI Agent ارائه میدهد.
- نکات: نیاز به یک سرور MCP در حال اجرا برای Grafana و دسترسی به منابع داده پیکربندی شده (مانند Prometheus، Loki) دارد.
#### گره: فروشگاه برداری Qdrant (Qdrant Vector Store)
- نوع:
@n8n/n8n-nodes-langchain.vectorStoreQdrant - هدف: به عامل هوش مصنوعی امکان میدهد تا پایگاه دانش مرتبط را در یک پایگاه داده برداری Qdrant جستجو کند.
- پیکربندی:
* جزئیات اتصال به نمونه Qdrant.
* نام مجموعه (Collection name).
- ورودی/خروجی:
* خروجی: قابلیتهای جستجوی برداری را به گره AI Agent ارائه میدهد.
- نکات: نیاز به یک نمونه Qdrant در حال اجرا و جزئیات اتصال مناسب دارد. فروشگاه برداری باید با مستندات یا runbookهای مرتبط پر شده باشد.
#### گره: جاسازیهای Google Gemini (Embeddings Google Gemini)
- نوع:
@n8n/n8n-nodes-langchain.embeddingsGoogleGemini - هدف: جاسازیهایی را برای دادههای متنی تولید میکند که توسط فروشگاه برداری Qdrant برای جستجوهای شباهت استفاده میشود.
- پیکربندی:
* اعتبارنامههای Google Cloud.
* نام مدل (مانند embedding-001).
- ورودی/خروجی:
* خروجی: قابلیتهای تولید جاسازی را به گره Qdrant Vector Store ارائه میدهد (به طور ضمنی، به عنوان بخشی از پیکربندی آن).
- نکات: نیاز به اعتبارنامههای Google Cloud با دسترسی به API Vertex AI یا API Gemini برای جاسازیها دارد.
---
۴. جستجوی رشته Mattermost
این بخش رشته صحیح Mattermost را برای ارسال گزارش پیدا میکند.
#### گره: دریافت پیامهای هشدار (GetAlertMessages)
- نوع:
n8n-nodes-base.httpRequest - هدف: پیامهای اخیر را از کانال Mattermost هدف واکشی میکند تا پست اصلی هشدار را شناسایی کند.
- پیکربندی:
* از نقطه پایانی API Mattermost برای لیست کردن پستها استفاده میکند.
* نتایج را بر اساس تطابق نام هشدار در عنوان پیوستها فیلتر میکند.
- ورودی/خروجی:
* ورودی: دادهها را از گره AI Agent دریافت میکند.
* خروجی: اطلاعات رشته شناسایی شده (یا عدم وجود آن) را به گره PostReport ارسال میکند.
- نکات: به متغیرهای
MATTERMOST_HOSTوMATTERMOST_CHANNEL_IDکه قبلاً تنظیم شدهاند، متکی است. نیاز به دسترسی به API Mattermost دارد.
---
۵. ارسال گزارش
این مرحله گزارش تشخیصی نهایی را ارسال میکند.
#### گره: ارسال گزارش (PostReport)
- نوع:
n8n-nodes-base.mattermost - هدف: گزارش تشخیصی تولید شده توسط هوش مصنوعی را به رشته Mattermost شناسایی شده ارسال میکند.
- پیکربندی:
* اقدام (Action): Send Message
* شناسه کانال (Channel ID): از MATTERMOST_CHANNEL_ID استفاده میکند.
* پیام (Message): حاوی گزارش تولید شده توسط هوش مصنوعی است.
* شناسه پست ریشه (Root Post ID): از شناسهای که توسط GetAlertMessages پیدا شده است برای پاسخ در رشته صحیح استفاده میکند.
- ورودی/خروجی:
* ورودی: دادهها را از GetAlertMessages و گزارش هوش مصنوعی را از AI Agent دریافت میکند.
* خروجی: پیام را به Mattermost ارسال میکند.
- نکات: اگر رشته موجودی پیدا نشود، بسته به پیکربندی و رفتار API Mattermost، ممکن است به عنوان یک پیام جدید ارسال شود.
---
۶. مستندات
#### گره: یادداشتهای چسبان (Sticky Notes)
- نوع:
n8n-nodes-base.stickyNote - هدف: مستندات غیرقابل اجرا را در بوم گردش کار ارائه میدهد و الزامات، انتظارات پیکربندی و ارجاعات MCP خارجی را توضیح میدهد.
- پیکربندی: حاوی راهنمایی متنی است.
- ورودی/خروجی: ندارد (فقط اطلاعاتی).
- نکات: برای درک و نگهداری گردش کار ضروری است.
---
پیشنیازها
- Alertmanager: پیکربندی شده برای ارسال وبهوک به نمونه n8n.
- Mattermost: قابل دسترسی از طریق API، با یک کانال مشخص و توکن ربات (در صورت نیاز توسط پیکربندی نود Mattermost در n8n).
- نمونه n8n: قابل دسترسی از طریق HTTP/S، با نودهای لازم نصب شده (شامل نودهای LangChain و AI).
- سرویسهای MCP: نمونههای در حال اجرای MCP برای GitHub، DigitalOcean، Kubernetes و Grafana، قابل دسترسی از نمونه n8n.
- پایگاه داده برداری Qdrant: نمونه در حال اجرا، پر شده با دادههای مرتبط.
- حساب OpenAI: با کلید API و اعتبار کافی برای مدل انتخاب شده.
- حساب Google Cloud: با اعتبارنامهها برای تولید امبدینگها (embeddings).
- اعتبارنامهها: به صورت امن در n8n برای OpenAI، Google Cloud و احتمالاً Mattermost پیکربندی شدهاند.
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چه مشکلی را حل میکند؟▾
این گردش کار فرآیند تحلیل حوادث Alertmanager را با استفاده از هوش مصنوعی خودکار میکند و گزارشهای تشخیصی را مستقیماً در Mattermost برای تیمهای DevOps ارسال مینماید، که باعث تسریع در پاسخ به حوادث میشود.
چه ابزارهایی برای این گردش کار لازم است؟▾
ابزارهای اصلی مورد نیاز شامل Alertmanager برای ارسال هشدار، Mattermost برای ارتباطات تیمی، و n8n به عنوان پلتفرم اتوماسیون است. همچنین از LangChain و مدلهای هوش مصنوعی برای تحلیل استفاده میشود.
چگونه این گردش کار حوادث را تحلیل میکند؟▾
گردش کار هشدارهای Alertmanager را دریافت کرده، آنها را پیشپردازش میکند، سپس از یک عامل هوش مصنوعی (LangChain) برای تحلیل عمیقتر و تولید گزارش تشخیصی استفاده میکند.
گزارشهای تشخیصی کجا ارسال میشوند؟▾
گزارشهای تشخیصی تولید شده توسط هوش مصنوعی به طور خودکار در رشته (thread) مربوطه در Mattermost ارسال میشوند تا تیم DevOps به سرعت به اطلاعات دسترسی پیدا کند.
workflowهای مرتبط
- تحلیل خودکار مناقصهها با n8n، LlamaParse و GeminiDocument Extraction
- خودکارسازی بهروزرسانی n8n با Coolify و API گیتهابDevOps
- حسابرسی استفاده از اعتبارنامهها در n8n و ارسال به Google Sh…DevOps
- نظارت بر تازگی پشتیبانگیری Google Drive با اسنک و Google Sh…DevOps
- ممیزی خودکار پرچمهای ویژگی اندروید از گیتهاب به اسلکDevOps
- اتوماسیون API Clarify با n8n و عوامل هوش مصنوعیEngineering
