RABBITMQ-STREAMS(8) System Manager's Manual RABBITMQ-STREAMS(8)

rabbitmq-streams — ابزارهای مدیریت استریم در RabbitMQ

rabbitmq-streams [-q] [-s] [-l] [-n node] [-t timeout] command [command_options]

rabbitmq-streams ابزاری خط فرمانی است که دستوراتی برای مدیریت استریم‌ها ارائه می‌دهد، برای نمونه افزودن یا حذف نسخه‌های تکثیرشده (replicas) از استریم. ببینید: مروری بر استریم‌های RabbitMQ.

node
گره پیش‌فرض عبارت است از "rabbit@target-hostname ،" که در آن target-hostname میزبان محلی است. روی میزبانی به نام "myserver.example.com ،" نام گره معمولاً "rabbit@myserver" خواهد بود (مگر اینکه RABBITMQ_NODENAME بازنویسی شده باشد). خروجی دستور "hostname -s" معمولاً پسوند صحیح برای استفاده پس از علامت "@" است. برای جزئیات پیکربندی گره RabbitMQ به rabbitmq-server(8) مراجعه کنید.
, --quiet
حالت خروجی ساکت (quiet) انتخاب می‌شود. در زمان فعال بودن این حالت، پیام‌های اطلاع‌رسانی کاهش می‌یابند.
, --silent
حالت خروجی خاموش (silent) انتخاب می‌شود. در زمان فعال بودن این حالت، پیام‌های اطلاع‌رسانی کاهش یافته و سرصفحه جداول حذف می‌شوند.
timeout, --timeout timeout
مهلت زمانی عملیات بر حسب ثانیه. تمام دستورات از مهلت زمانی پشتیبانی نمی‌کنند. مقدار پیش‌فرض infinity است.
, --longnames
زمانی که کلاستر برای استفاده از نام‌های بلند گره (FQDN) پیکربندی شده باشد، باید مشخص شود. برای اطلاعات بیشتر به راهنمای کلاسترینگ RabbitMQ مراجعه کنید.
راز مشترک (shared secret) مورد استفاده برای احراز هویت در گره هدف. توصیه می‌شود به جای مشخص کردن این گزینه در خط فرمان، از یک فایل محلی یا متغیر محیطی RABBITMQ_ERLANG_COOKIE استفاده شود. برای اطلاعات بیشتر به راهنمای ابزارهای خط فرمان RabbitMQ مراجعه کنید.

راهنمای عمومی و دستورات پشتیبانی‌شده توسط rabbitmq-streams را نمایش می‌دهد.

queue node --vhost virtual-host

یک نسخه رونوشت (replica) از استریم را روی گره داده‌شده اضافه می‌کند.

مثال:

rabbitmq-streams add_replica --vhost "a-vhost" "a-queue" "rabbit@new-node"
queue node --vhost virtual-host

نسخه رونوشت (replica) استریم را از روی گره داده‌شده حذف می‌کند.

مثال:

rabbitmq-streams delete_replica --vhost "a-vhost" "a-queue" "rabbit@decomissioned-node"

stream --vhost virtual-host

وضعیت یک استریم را نمایش می‌دهد.

مثال:

rabbitmq-streams stream_status --vhost "a-vhost" "a-stream"
stream --vhost virtual-host --preferred-leader-node node

یک استریم را به همراه تمام رونوشت‌های آن مجدداً راه‌اندازی می‌کند. فلگ اختیاری گره ترجیحی به دستور می‌گوید تلاش کند رهبر (leader) را حین راه‌اندازی مجدد روی گره خاصی قرار دهد.

مثال:

rabbitmq-streams restart_stream --vhost "a-vhost" "a-stream" --preferred-leader-node "node"

--stream stream --reference reference [--vhost vhost]

یک بازتوزیع (rebalancing) را برای فعال‌سازی مصرف‌کننده در یک گروه مصرف‌کننده تک‌فعال فعال می‌سازد.

مثال:

rabbitmq-streams activate_stream_consumer --stream stream --reference app-1
[connectioninfoitem ...]

آمارهای اتصال پروتکل استریم را بازمی‌گرداند.

پارامتر connectioninfoitem برای مشخص کردن آیتم‌های اطلاعات اتصال جهت گنجاندن در نتایج استفاده می‌شود. ترتیب ستون‌ها در نتایج مطابق با ترتیب پارامترها خواهد بود. connectioninfoitem می‌تواند هر مقداری از فهرست زیر داشته باشد:

سازوکار احراز هویت SASL استفاده‌شده، مانند "PLAIN".
ویژگی‌های اطلاعاتی ارسال‌شده توسط کلاینت هنگام برقراری اتصال.
نام خوانا برای اتصال.
تاریخ و زمان برقراری این اتصال، به صورت برچسب زمانی (timestamp).
وضعیت اتصال؛ یکی از موارد:
  • running
  • blocked
حداکثر اندازه فریم (بایت).
بازه زمانی توافق‌شده تپش قلب (heartbeat) بر حسب ثانیه.
نام میزبان سرور به‌دست‌آمده از DNS معکوس، یا آدرس IP آن در صورت شکست یا غیرفعال بودن DNS معکوس.
صادرکننده گواهی SSL طرف مقابل (peer)، در قالب RFC4514.
موضوع گواهی SSL طرف مقابل، در قالب RFC4514.
شماره سریال گواهی SSL طرف مقابل، در قالب هگزادسیمال.
مدت زمانی که گواهی SSL طرف مقابل معتبر است.
نام میزبان طرف مقابل به‌دست‌آمده از DNS معکوس، یا آدرس IP آن در صورت شکست یا فعال نبودن DNS معکوس.
پورت طرف مقابل.
پورت سرور.
مقدار بولی که نشان می‌دهد آیا اتصال با SSL امن شده است یا خیر.
الگوریتم رمزنگاری SSL (مانند "aes_256_cbc").
تابع درهم‌سازی SSL (مانند "sha").
الگوریتم تبادل کلید SSL (مانند "rsa").
پروتکل SSL (مانند "tlsv1").
تعداد اشتراک‌ها (مصرف‌کنندگان) روی اتصال.
نام کاربری مرتبط با اتصال.
نام میزبان مجازی (vhost) که نویسه‌های غیر ASCII آن به سبک زبان C اسکیپ شده‌اند.

اگر هیچ connectioninfoitem مشخص نشده باشد، فقط conn_name نمایش داده می‌شود.

برای نمونه، این دستور نام اتصال و کاربر را برای هر اتصال نمایش می‌دهد:

rabbitmq-streams list_stream_connections conn_name user
[-p vhost] [consumerinfoitem ...]

مصرف‌کنندگان متصل به یک استریم را بازمی‌گرداند.

پارامتر consumerinfoitem برای مشخص کردن آیتم‌های اطلاعات مصرف‌کننده جهت گنجاندن در نتایج استفاده می‌شود. ترتیب ستون‌ها در نتایج با ترتیب پارامترها مطابقت خواهد داشت. consumerinfoitem می‌تواند هر مقداری از فهرست زیر داشته باشد:

active
مقدار بولی که مشخص می‌کند آیا مصرف‌کننده فعال است یا خیر.
activity_status
وضعیت فعالیت مصرف‌کننده؛ یکی از موارد:
  • up
  • single_active
  • waiting
connection_pid
شناسه فرایند ارلنگ (Erlang process ID) مرتبط با اتصال مصرف‌کننده.
credits
اعتبارهای موجود برای مصرف‌کننده.
messages_consumed
تعداد پیام‌های مصرف‌شده توسط مصرف‌کننده.
offset
آفست (موقعیت درون استریم) که مصرف‌کننده در آن قرار دارد.
offset_lag
اختلاف بین آخرین آفست ذخیره‌شده و آخرین آفست ارسال‌شده برای مصرف‌کننده.
properties
ویژگی‌های اشتراک مصرف‌کننده.
stream
استریمی که مصرف‌کننده به آن متصل است.
subscription_id
شناسه در سطح اتصال (connection-scoped ID) برای مصرف‌کننده.

اگر هیچ consumerinfoitem مشخص نشود، مقادیر connection_pid، subscription_id، stream، messages_consumed، offset، offset_lag، credits، active، activity_status و properties نمایش داده می‌شوند.

برای نمونه، این دستور PID اتصال، شناسه اشتراک و استریم را برای هر مصرف‌کننده نمایش می‌دهد:

rabbitmq-streams list_stream_consumers connection_pid subscription_id stream
[-p vhost] [publisherinfoitem ...]

ناشران (publishers) ثبت‌شده را بازمی‌گرداند.

پارامتر publisherinfoitem برای مشخص کردن آیتم‌های اطلاعات ناشر جهت گنجاندن در نتایج استفاده می‌شود. ترتیب ستون‌ها در نتایج مطابق با ترتیب پارامترها خواهد بود. publisherinfoitem می‌تواند هر مقداری از فهرست زیر داشته باشد:

connection_pid
شناسه فرایند ارلنگ مرتبط با اتصال مصرف‌کننده.
messages_confirmed
تعداد پیام‌های تأییدشده برای ناشر.
messages_errored
تعداد پیام‌های خطادار برای ناشر.
messages_published
تعداد کل پیام‌های منتشرشده توسط ناشر.
publisher_id
شناسه در سطح اتصال برای ناشر.
reference
مرجع یکتا‌سازی (deduplication reference) ناشر.
stream
استریمی که ناشر روی آن منتشر می‌کند.

اگر هیچ publisherinfoitem مشخص نشود، مقادیر connection_pid، publisher_id، stream، reference، messages_published، messages_confirmed و messages_errored نمایش داده می‌شوند.

برای نمونه، این دستور PID اتصال، شناسه ناشر و استریم را برای هر تولیدکننده نمایش می‌دهد:

rabbitmq-streams list_stream_publishers connection_pid publisher_id stream
super-stream [--vhost vhost] [--partitions partitions] [--binding-keys binding-keys] [--max-length-bytes max-length-bytes] [--max-age max-age] [--stream-max-segment-size-bytes stream-max-segment-size-bytes] [--leader-locator leader-locator] [--initial-cluster-size initial-cluster-size]
super-stream
نام سوپراستریم (super stream) برای ایجاد.
vhost
نام میزبان مجازی که سوپراستریم در آن ایجاد می‌شود.
partitions
تعداد پارتیشن‌هایی که سوپراستریم خواهد داشت.
binding-keys
فهرست جداشده با کاما از کلیدهای اتصال (binding keys).
max-length-bytes
حداکثر اندازه استریم‌های پارتیشن، مقادیر نمونه: 20gb, 500mb.
max-age
حداکثر سن سگمنت‌های استریم پارتیشن، با استفاده از قالب مدت زمان ISO 8601، مانند PT10M30S برای ۱۰ دقیقه و ۳۰ ثانیه، یا P5DT8H برای ۵ روز و ۸ ساعت.
stream-max-segment-size-bytes
حداکثر اندازه سگمنت‌های استریم پارتیشن، مقادیر نمونه: 500mb, 1gb.
leader-locator
راهبرد مکان‌یابی رهبر (leader locator) برای استریم‌های پارتیشن. مقادیر مجاز عبارتند از:
  • client-local
  • balanced
مقدار پیش‌فرض balanced است.
initial-cluster-size
اندازه کلاستر اولیه برای استریم‌های پارتیشن.

ایجاد یک سوپراستریم.

super-stream [--vhost vhost]

حذف یک سوپراستریم.

super-stream
نام سوپراستریم برای حذف.
vhost
میزبان مجازی سوپراستریم.
[-p vhost] [groupinfoitem ...]

گروه‌های مصرف‌کننده تک‌فعال استریم را برای یک vhost فهرست می‌کند.

پارامتر groupinfoitem برای مشخص کردن آیتم‌های اطلاعات گروه جهت گنجاندن در نتایج استفاده می‌شود. ترتیب ستون‌ها در نتایج با ترتیب پارامترها مطابقت خواهد داشت. groupinfoitem می‌تواند هر مقداری از فهرست زیر داشته باشد:

consumers
تعداد مصرف‌کنندگان در گروه.
partition_index
اندیس پارتیشن استریم اگر بخشی از یک سوپراستریم باشد، و 1- اگر نباشد.
reference
مرجع گروه (نام آن).
stream
استریمی که مصرف‌کنندگان به آن متصل هستند.

اگر هیچ groupinfoitem مشخص نشده باشد، stream، reference، partition_index و consumers نمایش داده می‌شوند.

برای نمونه، این دستور استریم، مرجع و تعداد مصرف‌کنندگان را برای هر گروه نمایش می‌دهد:

rabbitmq-streams list_stream_consumer_groups stream reference consumers
--stream stream --reference reference [--vhost vhost] [consumerinfoitem ...]

مصرف‌کنندگان یک گروه مصرف‌کننده استریم در یک vhost را فهرست می‌کند.

stream
استریمی که مصرف‌کنندگان به آن متصل هستند.
reference
مرجع گروه (نام آن).
vhost
میزبان مجازی استریم.

پارامتر consumerinfoitem برای مشخص کردن آیتم‌های اطلاعات مصرف‌کننده جهت گنجاندن در نتایج استفاده می‌شود. ترتیب ستون‌ها در نتایج مطابق با ترتیب پارامترها خواهد بود. consumerinfoitem می‌تواند هر مقداری از فهرست زیر داشته باشد:

connection_name
نام خوانای اتصال مصرف‌کننده.
state
وضعیت مصرف‌کننده؛ یکی از موارد:
  • active
  • inactive
subscription_id
شناسه در سطح اتصال مصرف‌کننده.

اگر هیچ consumerinfoitem مشخص نشده باشد، subscription_id، connection_name و state نمایش داده می‌شوند.

برای نمونه، این دستور نام اتصال و وضعیت را برای هر مصرف‌کننده متصل به استریم stream-1 و متعلق به گروه stream-1 نمایش می‌دهد:

rabbitmq-streams list_stream_group_consumers --stream stream-1 --reference stream-1 connection_name state
stream [--all | --offset | --writer] [--vhost vhost]

اطلاعات ردگیری یک استریم را فهرست می‌کند.

stream
نام استریم.

اطلاعات ردگیری را می‌توان بر اساس نوع آن‌ها با استفاده از یکی از گزینه‌های ناسازگار زیر فیلتر کرد:

فهرست کردن ردگیری آفست و اطلاعات یکتا‌سازی نویسنده (writer deduplication).
فهرست کردن فقط اطلاعات ردگیری آفست.
فهرست کردن فقط اطلاعات ردگیری یکتا‌سازی نویسنده.

مثال:

rabbitmq-streams list_stream_tracking stream-1 --offset
--stream stream --reference reference [--vhost vhost]

بازنشانی آفست ذخیره‌شده برای نام یک مصرف‌کننده روی یک استریم.

مثال:

rabbitmq-streams reset_offset --stream stream --reference app-1

rabbitmqctl(8), rabbitmq-diagnostics(8), rabbitmq-server(8), rabbitmq-queues(8), rabbitmq-upgrade(8), rabbitmq-service(8), rabbitmq-env.conf(5)

The RabbitMQ Team <contact-tanzu-data.pdl@broadcom.com>

July 1, 2025 RabbitMQ Server