| RABBITMQ-DIAGNOSTICS(8) | System Manager's Manual | RABBITMQ-DIAGNOSTICS(8) |
خلاصه دستور (SYNOPSIS)
[-q]
[-s] [-l]
[-n node]
[-t timeout]
command [command_options]
توضیحات (DESCRIPTION)
یک
ابزار خط
فرمان است
که
دستوراتی
را برای
عیبیابی،
پایش و
بررسی
سلامت
گرههای RabbitMQ
فراهم
میکند.
برای کسب
اطلاعات
بیشتر
درباره
عیبیابی،
پایش و
بررسی
سلامت RabbitMQ، به
راهنماهای
مستندات RabbitMQ
مراجعه
کنید.
به
مدیر سیستم
امکان
بازرسی
وضعیت گره و
خوشه را
میدهد.
تعدادی از
بررسیهای
سلامت به
صورت
تعاملی و
توسط
ابزارهای
پایش در
دسترس
هستند.
بهطور پیشفرض اگر برقراری ارتباط و احراز هویت با گره مقصد امکانپذیر نباشد (برای مثال اگر گره متوقف شده باشد)، عملیات شکست خواهد خورد. برای کسب اطلاعات بیشتر، به راهنمای پایش RabbitMQ مراجعه کنید.
گزینهها (OPTIONS)
-nnode- گره
پیشفرض
"rabbit@target-hostname"
است، که در
آن target-hostname
میزبان
محلی است.
در میزبانی
با نام "myserver.example.com"
نام گره
معمولاً
"rabbit@myserver" خواهد
بود (مگر
اینکه
RABBITMQ_NODENAMEبازنویسی شده باشد). خروجی "hostname -s" معمولاً پسوند صحیح برای استفاده پس از علامت "@" است. برای جزئیات پیکربندی یک گره RabbitMQ، به rabbitmq-server(8) مراجعه کنید. -q,--quiet- حالت خروجی ساکت (بیصدا) انتخاب میشود. هنگامی که حالت ساکت فعال است، پیامهای اطلاعرسانی کاهش مییابند.
-s,--silent- حالت خروجی کاملاً خاموش انتخاب میشود. هنگامی که حالت خاموش فعال است، پیامهای اطلاعرسانی کاهش یافته و سرصفحه جدولها نمایش داده نمیشوند.
-ttimeout,--timeouttimeout- زمان مهلت
مجاز
عملیات بر
حسب ثانیه.
همه
دستورات از
مهلت زمانی
پشتیبانی
نمیکنند.
مقدار
پیشفرض
infinityاست. -l,--longnames- هنگامی که خوشه برای استفاده از نامهای گره طولانی (FQDN) پیکربندی شده است، باید مشخص شود. برای کسب اطلاعات بیشتر، به راهنمای خوشهبندی RabbitMQ مراجعه کنید.
- راز مشترک
(کوکی) مورد
استفاده
برای احراز
هویت در گره
مقصد.
ترجیحاً به
جای تعیین
این گزینه
در خط
فرمان، از
یک فایل
محلی یا
متغیر
محیطی
RABBITMQ_ERLANG_COOKIEاستفاده کنید. برای کسب اطلاعات بیشتر، به راهنمای ابزارهای خط فرمان RabbitMQ مراجعه کنید.
دستورات (COMMANDS)
بیشتر
دستورات
ارائهشده
توسط
وضعیت
گره و خوشه
را بازرسی
میکنند یا
بررسیهای
سلامت را
انجام
میدهند.
دستوراتی که موجودیتهای توپولوژی (مانند صفها) را فهرست میکنند از نویسه تب به عنوان جداکننده ستونها استفاده مینمایند. این دستورات و آرگومانهای آنها به rabbitmqctl(8) واگذار میشوند.
برخی
دستورات (
list_queues, list_exchanges,
list_bindings و
list_consumers) یک
پارامتر
اختیاری
vhost را
میپذیرند.
دستورات
list_queues, list_exchanges
و list_bindings یک
پارامتر
اختیاری
میزبان
مجازی را
برای نمایش
نتایج آن
میپذیرند.
مقدار
پیشفرض "/"
است.
راهنما (Help)
help[-l] [command_name]-
نحوه استفاده از تمام دستورات موجود را چاپ میکند.
-l,--list-commands- فقط نحوه استفاده از دستورات را بدون توضیح پارامترها فهرست میکند.
- command_name
- نحوه استفاده از دستور مشخصشده را چاپ میکند.
version-
نسخه ابزارهای خط فرمان را نمایش میدهد.
گرهها (Nodes)
wait-
به
waitدر rabbitmqctl(8) مراجعه کنید.
خوشه (Cluster)
cluster_status-
به
cluster_statusدر rabbitmqctl(8) مراجعه کنید.
کاربران (Users)
list_users-
به
list_usersدر rabbitmqctl(8) مراجعه کنید.
کنترل دسترسی (Access Control)
list_permissions[-pvhost]-
به
list_permissionsدر rabbitmqctl(8) مراجعه کنید. list_topic_permissions[-pvhost]-
به
list_topic_permissionsدر rabbitmqctl(8) مراجعه کنید. list_user_permissionsusername-
به
list_user_permissionsدر rabbitmqctl(8) مراجعه کنید. list_user_topic_permissionsusername-
به
list_user_topic_permissionsدر rabbitmqctl(8) مراجعه کنید. list_vhosts[vhostinfoitem ...]-
به
list_vhostsدر rabbitmqctl(8) مراجعه کنید.
پایش، مشاهدهپذیری و بررسیهای سلامت (Monitoring, observability and health checks)
alarms-
هشدارهای منابع (در صورت وجود) در خوشه را فهرست میکند.
برای کسب اطلاعات بیشتر، به راهنمای هشدارهای منابع RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics alarms certificates-
گواهیهای گره را برای هر شنوندهای در گره مقصد که برای استفاده از TLS پیکربندی شده است نمایش میدهد.
مثال:
rabbitmq-diagnostics certificates check_alarms-
بررسی سلامتی که در صورت وجود هشدارهای فعال روی هر یک از گرههای خوشه با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).
برای کسب اطلاعات بیشتر، به راهنمای هشدارهای منابع RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics check_alarms check_certificate_expiration[--unittime_unit] [--withinseconds]-
تاریخ انقضای گواهیها را برای هر شنوندهای در گره مقصد که برای استفاده از TLS پیکربندی شده است بررسی میکند. واحدهای زمانی پشتیبانیشده عبارتند از:
- days
- weeks
- months
- years
مثال:
rabbitmq-diagnostics check_certificate_expiration --unit weeks --within 6 check_local_alarms-
بررسی سلامتی که در صورت وجود هشدارهای فعال روی گره مقصد با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).
برای کسب اطلاعات بیشتر، به راهنمای هشدارهای منابع RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics check_local_alarms check_port_connectivity-
بررسی سلامتی که در صورت عدم امکان پذیرش یک اتصال TCP جدید بازشده توسط
توسط هر یک از درگاههای شنونده در گره مقصد، با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).این بررسی تنها پذیرش اتصال TCP جدید را اعتبارسنجی میکند و دستتکانی پروتکل پیامرسانی یا احراز هویت را انجام نمیدهد.
برای کسب اطلاعات بیشتر، به راهنمای شبکهسازی RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics check_port_connectivity check_port_listenerport-
بررسی سلامتی که در صورت عدم گوش دادن گره مقصد به درگاه مشخصشده (هیچ شنوندهای وجود ندارد که از آن درگاه استفاده کند) با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).
برای کسب اطلاعات بیشتر، به راهنمای شبکهسازی RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics check_port_listener 5672 check_protocol_listenerprotocol-
بررسی سلامتی که در صورت نداشتن شنونده برای پروتکل مشخصشده در گره مقصد، با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).
برای کسب اطلاعات بیشتر، به راهنمای شبکهسازی RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics check_protocol_listener mqtt check_running-
بررسی سلامتی که در صورت در حال اجرا نبودن برنامه کاربردی RabbitMQ روی گره مقصد، با شکست مواجه میشود (با کدی غیرصفر بازمیگردد).
اگر از
rabbitmqctl(8)برای متوقف کردن برنامه استفاده شده باشد، این بررسی با شکست مواجه خواهد شد.مثال:
rabbitmq-diagnostics check_running check_virtual_hosts-
بررسی سلامتی که اجرا بودن تمام میزبانهای مجازی (vhostها) در گره مقصد را بررسی میکند.
مثال:
rabbitmq-diagnostics check_virtual_hosts --timeout 60 cipher_suites-
مجموعههای رمزنگاری (cipher suites) فعالشده بهصورت پیشفرض را فهرست میکند. برای فهرست کردن همه مجموعههای رمزنگاری موجود، آرگومان --all را اضافه کنید.
مثال:
rabbitmq-diagnostics cipher_suites --format openssl --all command_line_arguments-
آرگومانها و فلگهای خط فرمان گره مقصد را همانگونه که توسط زمان اجرا گزارش شده است نمایش میدهد.
مثال:
rabbitmq-diagnostics command_line_arguments -n rabbit@hostname consume_event_stream[--durationseconds |-dseconds] [--patternpattern] [--timeoutmilliseconds]-
رویدادهای داخلی را از یک گره در حال اجرا جاری (استریم) میکند. خروجی با jq سازگار است.
مثال:
rabbitmq-diagnostics consume_event_stream -n rabbit@hostname --duration 20 --pattern queue_.* discover_peers-
یک کشف همتا (peer discovery) روی گره مقصد اجرا کرده و گرههای کشفشده (در صورت وجود) را چاپ میکند.
برای کسب اطلاعات بیشتر، به راهنمای تشکیل خوشه RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics discover_peers --timeout 60 environment- به
environmentدر rabbitmqctl(8) مراجعه کنید. -
یک مقدار درهمسازیشده (هش) از راز مشترک مورد استفاده توسط گره مقصد برای احراز هویت ابزارهای خط فرمان و همتاها را خروجی میدهد. این مقدار را میتوان با هش موجود در پیامهای خطای ابزارهای خط فرمان مقایسه کرد.
برای کسب اطلاعات بیشتر، به راهنمای خوشهبندی RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics erlang_cookie_hash -q erlang_version-
نسخه Erlang/OTP گره مقصد را گزارش میدهد.
مثال:
rabbitmq-diagnostics erlang_version -q is_booting-
گزارش میدهد که آیا برنامه کاربردی RabbitMQ در حال حاضر روی گره مقصد در حال بوت شدن است یا خیر (بوتشده/در حال اجرا یا متوقفشده نیست).
مثال:
rabbitmq-diagnostics is_booting is_running-
گزارش میدهد که آیا برنامه کاربردی RabbitMQ به طور کامل بوت شده و در حال اجرا است (یعنی متوقف نشده است) روی گره مقصد یا خیر.
مثال:
rabbitmq-diagnostics is_running list_bindings[-pvhost] [bindinginfoitem ...]-
به
list_bindingsدر rabbitmqctl(8) مراجعه کنید. list_channels[channelinfoitem ...]-
به
list_channelsدر rabbitmqctl(8) مراجعه کنید. list_ciphers-
به
list_ciphersدر rabbitmqctl(8) مراجعه کنید. list_connections[connectioninfoitem ...]-
به
list_connectionsدر rabbitmqctl(8) مراجعه کنید. list_consumers[-pvhost]-
به
list_consumersدر rabbitmqctl(8) مراجعه کنید. list_exchanges[-pvhost] [exchangeinfoitem ...]-
به
list_exchangesدر rabbitmqctl(8) مراجعه کنید. list_hashes-
به
list_hashesدر rabbitmqctl(8) مراجعه کنید. list_queues[-pvhost] [--offline|--online|--local] [queueinfoitem ...]-
به
list_queuesدر rabbitmqctl(8) مراجعه کنید. list_unresponsive_queues[--local] [--queue-timeoutmilliseconds] [column ...] [--no-table-headers]-
به
list_unresponsive_queuesدر rabbitmqctl(8) مراجعه کنید. listeners-
شنوندگان (سوکتهای مقیدشده) روی این گره را فهرست میکند. از این دستور برای بازرسی اینکه گره برای اتصالات کلاینت، ابزار خط فرمان و همتا به چه پروتکلها و درگاههایی گوش میدهد، استفاده کنید.
برای کسب اطلاعات بیشتر، به راهنمای شبکهسازی RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics listeners log_tail[--numbernumber |-Nnumber [--timeoutmilliseconds]تعداد N خط آخر گزارش رویداد (لاگ) روی گره را چاپ میکند.
مثال:
]rabbitmq-diagnostics log_tail --number 100log_tail_stream[--durationseconds |-dseconds] [--timeoutmilliseconds]-
گزارشهای رویداد (لاگها) را از یک گره در حال اجرا برای مدت زمانی مشخص جاری (استریم) میکند.
مثال:
rabbitmq-diagnostics log_tail_stream --duration 60 maybe_stuck-
بهصورت دورهای از ردپای پشته (stack trace) تمام فرآیندهای ارلنگ (Erlang) («نخهای سبکوزن») روی گره نمونهبرداری میکند. فرآیندهایی را گزارش میدهد که نمونههای ردپای پشته آنها یکسان است.
نمونههای یکسان ممکن است نشاندهنده عدم پیشرفت فرآیند باشد، اما لزوماً نشانهای از بروز مشکل نیست.
مثال:
rabbitmq-diagnostics maybe_stuck -q memory_breakdown[--unitmemory_unit]-
تفکیک مصرف حافظه گره را بر اساس دستهبندی نمایش میدهد. واحدهای حافظه پشتیبانیشده عبارتند از:
- bytes
- megabytes
- gigabytes
- terabytes
برای کسب اطلاعات بیشتر، به راهنمای مصرف حافظه RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics memory_breakdown --unit gigabytes observer[--intervalseconds]-
یک واسط ناظر خط فرمان (CLI observer) را روی گره مقصد راهاندازی میکند.
مثال:
rabbitmq-diagnostics observer --interval 10 ping-
ابتداییترین بررسی سلامت. در صورتی موفق میشود که گره مقصد (زمان اجرا) در حال اجرا باشد و
بتواند با موفقیت با آن احراز هویت کند. report-
به
reportدر rabbitmqctl(8) مراجعه کنید. runtime_thread_stats[--sample-intervalinterval]-
فعالیت نخهای زمان اجرا (هسته) را به مدت interval ثانیه نمونهبرداری کرده و آن را گزارش میدهد.
برای کارکرد این دستور، Erlang/OTP در گره مقصد باید با پشتیبانی از حسابداری ریزوضعیت (microstate accounting) کامپایل شده باشد و بسته runtime_tools در دسترس باشد.
مثال:
rabbitmq-diagnostics runtime_thread_stats --sample-interval 15 schema_info[--no_table_headers] [column ...] [--timeoutmilliseconds]-
به
schema_infoدر rabbitmqctl(8) مراجعه کنید. server_version-
نسخه گره مقصد را گزارش میدهد.
مثال:
rabbitmq-diagnostics server_version -q status-
به
statusدر rabbitmqctl(8) مراجعه کنید. tls_versions-
تمام نسخههای TLS پشتیبانیشده توسط زمان اجرا در گره مقصد را فهرست میکند. توجه داشته باشید که RabbitMQ میتواند تنها برای پذیرش زیرمجموعهای از این نسخهها پیکربندی شود؛ به عنوان مثال، SSLv3 بهطور پیشفرض غیرفعال است.
برای کسب اطلاعات بیشتر، به راهنمای TLS در RabbitMQ مراجعه کنید.
مثال:
rabbitmq-diagnostics tls_versions -q
پارامترها (Parameters)
list_global_parameters-
به
list_global_parametersدر rabbitmqctl(8) مراجعه کنید. list_parameters[-pvhost]-
به
list_parametersدر rabbitmqctl(8) مراجعه کنید.
سیاستها (Policies)
list_operator_policies[-pvhost]-
به
list_operator_policiesدر rabbitmqctl(8) مراجعه کنید. list_policies[-pvhost]-
به
list_policiesدر rabbitmqctl(8) مراجعه کنید.
میزبانهای مجازی (Virtual hosts)
list_vhost_limits[--vhostvhost] [--global] [--no-table-headers]-
به
list_vhost_limitsدر rabbitmqctl(8) مراجعه کنید.
پیکربندی گره (Node configuration)
log_location[--all|-a] [--timeoutmilliseconds]-
مکان فایل(های) گزارش رویداد (لاگ) را در گره مقصد نمایش میدهد.
مثال:
rabbitmq-diagnostics log_location -a
فلگهای ویژگی (Feature flags)
list_feature_flags[column ...] [--timeoutmilliseconds]-
به
list_feature_flagsدر rabbitmqctl(8) مراجعه کنید.
صفها (Queues)
quorum_statusqueue [--vhostvhost]-
به
quorum_statusدر rabbitmq-queues(8) مراجعه کنید. check_if_cluster_has_classic_queue_mirroring_policy-
به
check_if_cluster_has_classic_queue_mirroring_policyدر rabbitmq-queues(8) مراجعه کنید. check_if_node_is_quorum_critical-
به
check_if_node_is_quorum_criticalدر rabbitmq-queues(8) مراجعه کنید.
همچنین ببینید (SEE ALSO)
rabbitmqctl(8), rabbitmq-server(8), rabbitmq-queues(8), rabbitmq-streams(8), rabbitmq-upgrade(8), rabbitmq-service(8), rabbitmq-env.conf(5)
نویسندگان (AUTHORS)
The RabbitMQ Team <contact-tanzu-data.pdl@broadcom.com>
| June 22, 2023 | RabbitMQ Server |