PostgreSQL Integration

اتصال PostgreSQL به Watchlog

با استفاده از یکپارچه‌سازی PostgreSQL، می‌توانید پایگاه‌های داده PostgreSQL خود را به صورت لحظه‌ای مانیتور کنید. Watchlog اطلاعاتی از جمله تعداد کانکشن‌ها، عملکرد کوئری‌ها، وضعیت replication و مصرف منابع را جمع‌آوری می‌کند تا از عملکرد بهینه و پایداری سیستم پایگاه داده اطمینان حاصل شود.

مرحله ۱: نصب Watchlog Agent

اگر هنوز Watchlog Agent را نصب نکرده‌اید، آن را روی سرور خود نصب نمایید. برای راهنمایی کامل به راهنمای نصب مراجعه کنید.

مرحله ۲: پیکربندی PostgreSQL در فایل integration.json

فایل integration.json را پیدا کرده و تنظیمات زیر را برای فعال‌سازی مانیتورینگ PostgreSQL به آن اضافه یا به‌روزرسانی کنید:

{
    "service": "postgresql",
    "monitor": true,
    "host": "localhost",
    "port": "5432",
    "username": "",
    "password": "",
    "database": ["postgres"]
}
                

در فیلدهای username، password و database اطلاعات مربوط به PostgreSQL خود را وارد نمایید. شما می‌توانید یک یا چند دیتابیس را برای مانیتورینگ مشخص کنید.

در سیستم‌عامل اوبونتو، این فایل معمولاً در مسیر /opt/watchlog-agent/integration.json قرار دارد.

در حالت Source Agent نیز این فایل در مسیر اجرای Watchlog Agent قرار دارد.

مرحله ۲.۵: فعال‌سازی pg_stat_statements برای مانیتورینگ کوئری‌ها

برای اینکه Watchlog بتواند عملکرد کوئری‌ها را مانند تعداد اجرا، میانگین زمان، و تعداد رکوردهای بازگشتی مانیتور کند، باید افزونه pg_stat_statements را در PostgreSQL فعال کنید.

۱. ویرایش فایل postgresql.conf

این خط را به فایل پیکربندی PostgreSQL اضافه کرده یا آن را از حالت کامنت خارج کنید:

shared_preload_libraries = 'pg_stat_statements'
    

سپس PostgreSQL را برای اعمال تغییرات راه‌اندازی مجدد کنید:

sudo systemctl restart postgresql
    

۲. فعال‌سازی افزونه در دیتابیس

وارد دیتابیس شوید و دستور زیر را اجرا کنید:

CREATE EXTENSION pg_stat_statements;
    

۳. اطمینان از فعال‌سازی صحیح

برای بررسی اینکه افزونه به درستی فعال شده است، دستور زیر را اجرا کنید:

SELECT * FROM pg_stat_statements LIMIT 5;
    

اگر خروجی‌ای دریافت کردید، یعنی افزونه فعال است و Watchlog می‌تواند اطلاعات مربوط به کوئری‌ها را جمع‌آوری کند.

مرحله ۳: راه‌اندازی مجدد Watchlog Agent

پس از انجام تغییرات، Watchlog Agent را با دستور زیر راه‌اندازی مجدد کنید:

  sudo pm2 reload watchlog-agent
                

مرحله ۴: بررسی صحت اتصال

وارد پنل Watchlog شوید و به بخش PostgreSQL Integration بروید. مطمئن شوید که اطلاعات پایگاه داده PostgreSQL شما به درستی در پنل نمایش داده می‌شود.