Hamdar main database metricsروش عمومی خواندن پنلها در راهنمای پنل مانیتورینگ آمده است.
این داشبورد دسترسپذیری و عملکرد PostgreSQL همدار را از نظر Session، Transaction، Cache، Lock، Deadlock، Temp file و تنظیمات ظرفیت نشان میدهد. هنگام کندی دیتابیس یا بروز خطای اتصال در برنامه، بررسی را از این داشبورد آغاز کنید.
پنلهای Version، Start Time، شمار عملیات داده، Max Connections، میانگین CPU و حافظه و File Descriptorهای باز نمای کلی سرویس PostgreSQL را نشان میدهند. تغییر Version یا Start Time باید با Change هماهنگ باشد؛ رشد پایدار منابع میتواند نشانه Query سنگین یا Leak باشد.
پنلهای Shared Buffers، Effective Cache، Maintenance/Work Mem، Max WAL Size، هزینه Page و Workerها تنظیمات ظرفیت و اجرای Query را نمایش میدهند. مقدار نامتناسب با RAM یا تغییر بدون Change باید بازبینی شود.
این ردیف Sessionهای Active و Idle، Commit و Rollback، عملیات داده، Lock، Cache Hit، Buffer، Conflict، Deadlock، Temp file و Checkpoint را کنار هم نمایش میدهد. نزدیکشدن Sessionها به Max، افزایش Rollback، هر Deadlock یا Temp file بزرگ نیازمند بررسی است.
هنگام کندی دیتابیس، ابتدا Session و Transaction و سپس Cache Hit Rate، Temp File و Checkpoint Stats را ببینید؛ همزمان در Hamdar database logs عبارتهای deadlock و duration را جستوجو کنید.
این بخش برای نگهداری و Provisioning داشبورد است و در بررسیهای روزمره کاربردی ندارد.
| ویژگی | مقدار |
|---|---|
| پوشه Provisioning | hamdar (dashboards/hamdar/hamdar-main-database-metrics.json) |
| UID | 3wWeOiuOK88 |
| Datasource | VictoriaMetrics (monitoring-prometheus) |
| متریک پایه | pg_* (PostgreSQL Exporter) با product="hamdar" |
Queryهای کلیدی:
| هدف | Query نمونه |
|---|---|
| Session فعال | pg_stat_activity_count{product="hamdar",state="active"} != 0 |
| Transaction | irate(pg_stat_database_xact_commit{product="hamdar"}[5m]) و irate(pg_stat_database_xact_rollback{product="hamdar"}[5m]) |
| Cache Hit Rate | pg_stat_database_blks_hit{product="hamdar"} / (pg_stat_database_blks_read{product="hamdar"} + pg_stat_database_blks_hit{product="hamdar"}) |
| Deadlock | irate(pg_stat_database_deadlocks{product="hamdar"}[5m]) |
| Temp file | irate(pg_stat_database_temp_bytes{product="hamdar"}[5m]) |
| Lock | pg_locks_count{product="hamdar",mode=~"$mode"} != 0 |