نرم افزار Juniper NETWORKS Streaming API
اطلاعات محصول
مشخصات
- نام محصول: Paragon Active Assurance
- نسخه: 4.1
- تاریخ انتشار: ۱۳۹۶/۱۲/۰۷
مقدمه:
این راهنما دستورالعمل هایی را در مورد نحوه استخراج داده از Paragon Active Assurance با استفاده از پخش API محصول ارائه می دهد. سرویس گیرنده استریم و API در نصب Paragon Active Assurance گنجانده شده است، اما قبل از استفاده از API به تنظیمات خاصی نیاز است. فرآیند پیکربندی در بخش "پیکربندی Streaming API" پوشش داده شده است.
پیکربندی Streaming API:
مراحل زیر روند پیکربندی API جریان را تشریح می کند:
تمام شدview
کافکا یک پلتفرم استریم رویداد است که برای ضبط و ذخیره سازی بلادرنگ داده ها از منابع مختلف طراحی شده است. مدیریت جریان های رویداد را به شیوه ای توزیع شده، مقیاس پذیر، قابل تحمل خطا و ایمن امکان پذیر می کند. این راهنما بر پیکربندی کافکا برای استفاده از ویژگی Streaming API در Paragon Active Assurance Control Center تمرکز دارد.
اصطلاحات
Streaming API به مشتریان خارجی اجازه می دهد تا اطلاعات معیارها را از کافکا بازیابی کنند. معیارهای جمع آوری شده توسط نمایندگان آزمایش در طول یک کار آزمایشی یا نظارتی به سرویس Stream ارسال می شود. پس از پردازش، سرویس استریم این معیارها را همراه با ابرداده های اضافی در کافکا منتشر می کند.
Streaming API از موضوعات کافکا برای سازماندهی و ذخیره معیارها و ابرداده ها استفاده می کند. موضوعات کافکا را می توان با توجه به نیازهای خاص ایجاد و مدیریت کرد.
فعال کردن Streaming API
برای فعال کردن Streaming API، مراحل زیر را دنبال کنید:
- با استفاده از sudo دستورات زیر را روی سرور Control Center اجرا کنید:
KAFKA_METRICS_ENABLED = سرویسهای sudo ncc واقعی معیارهای timescaledb را فعال میکند خدمات sudo ncc زمان شروع سنجههای مقیاسdb راهاندازی مجدد خدمات sudo ncc
تأیید اینکه Streaming API در مرکز کنترل کار می کند:
برای تأیید اینکه معیارهای مربوط به موضوعات صحیح کافکا را دریافت می کنید:
- برنامه kafkacat را با دستورات زیر نصب کنید:
به روز رسانی sudo apt-get
sudo apt-get install kafkacat
- «myaccount» را با نام کوتاه حساب خود در قسمت جایگزین کنید
مرکز کنترل URL:
صادرات METRICS_TOPIC=paa.public.accounts.myaccount.metrics
صادرات METADATA_TOPIC=paa.public.accounts.myaccount.metadata
- دستور زیر را اجرا کنید view معیارها:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
توجه داشته باشید: دستور بالا معیارها را نمایش می دهد. - به view ابرداده، دستور زیر را اجرا کنید:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
توجه داشته باشید: دستور بالا متادیتا را نمایش می دهد، اما به دفعات به روز نمی شود.
مشتری سابقamples
برای مشتری سابقampبرای اطلاعات بیشتر، به صفحه 14 دفترچه راهنمای کاربر مراجعه کنید.
سوالات متداول (سوالات متداول)
- س: Paragon Active Assurance چیست؟
A: Paragon Active Assurance محصولی است که قابلیت های نظارت و آزمایش را ارائه می دهد. - س: Streaming API چیست؟
پاسخ: Streaming API یک ویژگی در Paragon Active Assurance است که به مشتریان خارجی اجازه میدهد اطلاعات معیارها را از کافکا بازیابی کنند. - س: چگونه می توانم Streaming API را فعال کنم؟
پاسخ: برای فعال کردن Streaming API، مراحل ذکر شده در بخش «فعال کردن Streaming API» دفترچه راهنمای کاربر را دنبال کنید. - س: چگونه می توانم بررسی کنم که Streaming API کار می کند؟
پاسخ: برای دستورالعملهایی در مورد نحوه تأیید عملکرد Streaming API به بخش «تأیید اینکه API جریان در مرکز کنترل کار میکند» مراجعه کنید.
مقدمه
این راهنما نحوه استخراج داده از Paragon Active Assurance را از طریق پخش API محصول توضیح می دهد.
API و همچنین سرویس گیرنده استریم در نصب Paragon Active Assurance گنجانده شده است. با این حال، قبل از اینکه بتوانید از API استفاده کنید، کمی پیکربندی لازم است. این موضوع در بخش «پیکربندی جریان API» در صفحه 1 پوشش داده شده است.
تمام شدview
این فصل نحوه پیکربندی Streaming API را برای امکان اشتراک در پیامهای متریک از طریق کافکا توضیح میدهد.
pr
در زیر به مرور خواهیم پرداخت:
- نحوه فعال کردن Streaming API
- چگونه کافکا را برای گوش دادن به مشتریان خارجی پیکربندی کنیم
- نحوه پیکربندی کافکا برای استفاده از ACL و تنظیم رمزگذاری SSL برای مشتریان مذکور
کافکا چیست؟
کافکا یک پلتفرم جریان رویداد است که امکان ضبط بلادرنگ داده های ارسال شده از منابع رویدادهای مختلف (حسگرها، پایگاه های داده، دستگاه های تلفن همراه) را در قالب جریان رویداد و همچنین ذخیره سازی بادوام این جریان های رویداد برای بازیابی و دستکاری بعدی فراهم می کند.
با کافکا می توان جریان رویداد را به صورت سرتاسری به صورت توزیع شده، بسیار مقیاس پذیر، الاستیک، مقاوم در برابر خطا و ایمن مدیریت کرد.
توجه: کافکا را می توان به روش های مختلف پیکربندی کرد و برای مقیاس پذیری و سیستم های اضافی طراحی شده است. این سند فقط بر نحوه پیکربندی آن برای استفاده از ویژگی Streaming API موجود در Paragon Active Assurance Control Center تمرکز دارد. برای تنظیمات پیشرفته تر به اسناد رسمی کافکا مراجعه می کنیم: kafka.apache.org/26/documentation.html.
اصطلاحات
- کافکا: بستر پخش رویداد.
- موضوع کافکا: مجموعه رویدادها.
- مشترک/مصرف کننده کافکا: جزء مسئول بازیابی رویدادهای ذخیره شده در موضوع کافکا است.
- کارگزار کافکا: سرور لایه ذخیره سازی یک خوشه کافکا.
- SSL/TLS: SSL یک پروتکل امن است که برای ارسال امن اطلاعات از طریق اینترنت توسعه یافته است. TLS جانشین SSL است که در سال 1999 معرفی شد.
- SASL: چارچوبی که مکانیسم هایی را برای احراز هویت کاربر، بررسی یکپارچگی داده ها و رمزگذاری فراهم می کند.
- مشترک API جریانی: مؤلفه مسئول بازیابی رویدادهای ذخیره شده در موضوعات تعریف شده در Paragon Active Assurance و برای دسترسی خارجی است.
- Certificate Authority: یک نهاد مورد اعتماد که گواهینامه های کلید عمومی را صادر و باطل می کند.
- Certificate Authority root Certificate: گواهی کلید عمومی که مرجع صدور گواهی را مشخص می کند.
نحوه عملکرد Streaming API
همانطور که قبلا ذکر شد، Streaming API به مشتریان خارجی اجازه می دهد تا اطلاعات مربوط به معیارها را از کافکا بازیابی کنند.
تمام معیارهای جمع آوری شده توسط نمایندگان آزمایش در طول یک کار آزمایشی یا نظارتی به سرویس Stream ارسال می شود. پس از یک مرحله پردازش، سرویس استریم این معیارها را همراه با ابرداده های اضافی در کافکا منتشر می کند.
موضوعات کافکا
کافکا مفهوم موضوعاتی را دارد که همه داده ها برای آنها منتشر می شود. در Paragon Active Assurance بسیاری از موضوعات کافکا موجود است. با این حال، تنها زیر مجموعه ای از آنها برای دسترسی خارجی در نظر گرفته شده است.
هر حساب Paragon Active Assurance در مرکز کنترل دارای دو موضوع اختصاصی است. در زیر، ACCOUNT نام کوتاه حساب است:
- paa.public.accounts.{ACCOUNT}.metrics
- همه پیامهای معیار برای حساب داده شده در این موضوع منتشر میشوند
- حجم زیادی از داده ها
- فرکانس به روز رسانی بالا
- paa.public.accounts.{ACCOUNT}.metadata
- شامل ابردادههای مربوط به دادههای معیار، برای مثالampآزمایش، مانیتور یا عامل تست مرتبط با معیارها
- حجم کم داده
- فرکانس به روز رسانی کم
فعال کردن Streaming API
توجه: این دستورالعمل ها باید روی سرور Control Center با استفاده از sudo اجرا شوند.
از آنجایی که Streaming API مقداری سربار به مرکز کنترل اضافه می کند، به طور پیش فرض فعال نیست. برای فعال کردن API، ابتدا باید انتشار معیارها در کافکا را در پیکربندی اصلی فعال کنیم. file:
KAFKA_METRICS_ENABLED = درست است
هشدار: فعال کردن این ویژگی ممکن است بر عملکرد مرکز کنترل تأثیر بگذارد. مطمئن شوید که نمونه خود را بر این اساس ابعاد داده اید.
در مرحله بعد، برای فعال کردن ارسال این معیارها به موضوعات صحیح کافکا:
streaming-api: درست است
برای فعال کردن و راهاندازی سرویسهای Streaming API، اجرا کنید:
- سرویسهای sudo ncc معیارهای timescaledb را فعال میکنند
- خدمات sudo ncc شروع معیارهای timescaledb
در نهایت سرویس ها را مجددا راه اندازی کنید:
- خدمات sudo ncc راه اندازی مجدد می شود
تأیید اینکه Streaming API در مرکز کنترل کار می کند
توجه: این دستورالعمل ها باید بر روی سرور مرکز کنترل اجرا شوند.
اکنون می توانید تأیید کنید که معیارهای مربوط به موضوعات صحیح کافکا را دریافت می کنید. برای انجام این کار، ابزار kafkacat را نصب کنید:
- به روز رسانی sudo apt-get
- sudo apt-get install kafkacat
اگر تست یا مانیتوری دارید که در Control Center اجرا می شود، باید بتوانید از kafkacat برای دریافت معیارها و ابرداده ها در مورد این موضوعات استفاده کنید.
myaccount را با نام کوتاه حساب خود جایگزین کنید (این همان چیزی است که در مرکز کنترل خود می بینید URL):
- صادرات METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- صادرات METADATA_TOPIC=paa.public.accounts.myaccount.metadata
اکنون باید معیارها را با اجرای این دستور مشاهده کنید:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
به view فراداده، دستور زیر را اجرا کنید (توجه داشته باشید که این دستور به دفعات به روز نمی شود):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
توجه:
kafkacat” مشتری سابقamples ”در صفحه 14
این تأیید می کند که ما یک API جریانی فعال از داخل مرکز کنترل داریم. با این حال، به احتمال زیاد شما علاقه مند به دسترسی به داده ها از یک مشتری خارجی هستید. بخش بعدی نحوه باز کردن کافکا برای دسترسی خارجی را توضیح می دهد.
باز کردن کافکا برای میزبانان خارجی
توجه: این دستورالعمل ها باید بر روی سرور مرکز کنترل اجرا شوند.
به طور پیش فرض کافکا در حال اجرا در مرکز کنترل پیکربندی شده است تا فقط برای استفاده داخلی به لوکال هاست گوش دهد. باز کردن کافکا برای مشتریان خارجی با تغییر تنظیمات کافکا امکان پذیر است.
اتصال به کافکا: هشدارها
احتیاط: لطفاً این را با دقت بخوانید، زیرا اگر این مفاهیم را درک نکرده باشید، به راحتی می توانید با مشکلات ارتباط با کافکا مواجه شوید.
در تنظیمات مرکز کنترل که در این سند توضیح داده شده است، تنها یک کارگزار کافکا وجود دارد.
با این حال، توجه داشته باشید که یک کارگزار کافکا قرار است به عنوان بخشی از یک خوشه کافکا اجرا شود که ممکن است از بسیاری از کارگزاران کافکا تشکیل شده باشد.
هنگام اتصال به کارگزار کافکا، یک اتصال اولیه توسط مشتری کافکا راه اندازی می شود. در این ارتباط، کارگزار کافکا نیز به نوبه خود فهرستی از «شنوندگان تبلیغاتی» را که فهرستی از یک یا چند کارگزار کافکا است، برمی گرداند.
با دریافت این لیست، مشتری کافکا قطع می شود، سپس دوباره به یکی از این شنوندگان تبلیغاتی متصل می شود. شنوندگان تبلیغاتی باید دارای نام میزبان یا آدرس های IP باشند که برای کلاینت کافکا قابل دسترسی است، در غیر این صورت مشتری قادر به اتصال نخواهد بود.
اگر از رمزگذاری SSL استفاده شود که شامل یک گواهی SSL است که به یک نام میزبان خاص گره خورده است، مهمتر است که کلاینت Kafka آدرس صحیح را برای اتصال به آن دریافت کند، زیرا در غیر این صورت ممکن است اتصال رد شود.
اطلاعات بیشتر درباره شنوندگان کافکا را اینجا بخوانید: www.confluent.io/blog/kafka-listeners-explained
رمزگذاری SSL/TLS
برای اطمینان از اینکه فقط مشتریان قابل اعتماد مجاز به دسترسی به Kafka و Streaming API هستند، باید موارد زیر را پیکربندی کنیم:
- احراز هویت: مشتریان باید نام کاربری و رمز عبور را از طریق یک اتصال امن SSL/TLS بین مشتری و کافکا ارائه دهند.
- مجوز: کلاینت های احراز هویت شده می توانند وظایفی را که توسط ACL تنظیم شده اند انجام دهند.
اینجا یک پایان استview:
*) احراز هویت نام کاربری/رمز عبور در یک کانال رمزگذاری شده با SSL انجام می شود
برای درک کامل نحوه عملکرد رمزگذاری SSL/TLS برای کافکا، لطفاً به اسناد رسمی مراجعه کنید: docs.confluent.io/platform/current/kafka/encryption.html
گواهی SSL/TLS به پایان رسیده استview
توجه: در این بخش از اصطلاحات زیر استفاده خواهیم کرد:
گواهی: یک گواهی SSL که توسط یک مرجع صدور گواهی (CA) امضا شده است. هر دلال کافکا یکی دارد.
فروشگاه کلید: فروشگاه کلید file که گواهی را ذخیره می کند. فروشگاه کلید file حاوی کلید خصوصی گواهی است. بنابراین، باید به طور ایمن نگهداری شود.
فروشگاه اعتماد: A file حاوی گواهینامه های CA قابل اعتماد است.
برای تنظیم احراز هویت بین یک کلاینت خارجی و کافکا در حال اجرا در مرکز کنترل، هر دو طرف باید یک فروشگاه کلید تعریف شده با یک گواهی مرتبط با امضای یک مرجع صدور گواهی (CA) همراه با گواهی ریشه CA داشته باشند.
علاوه بر این، مشتری باید یک Truststore با گواهی ریشه CA نیز داشته باشد.
گواهی ریشه CA برای کارگزار کافکا و مشتری کافکا مشترک است.
ایجاد گواهینامه های مورد نیاز
این در "پیوست" در صفحه 17 پوشش داده شده است.
پیکربندی SSL/TLS بروکر کافکا در مرکز کنترل
توجه: این دستورالعمل ها باید بر روی سرور مرکز کنترل اجرا شوند.
توجه: قبل از ادامه، باید با دنبال کردن دستورالعملهای «ضمیمه» در صفحه 17، ذخیرهسازی کلید حاوی گواهی SSL را ایجاد کنید. مسیرهای ذکر شده در زیر از این دستورالعملها میآیند.
فروشگاه کلید SSL یک است file ذخیره شده روی دیسک با file پسوند .jks.
هنگامی که گواهیهای لازم را برای کارگزار کافکا و مشتری کافکا ایجاد کردید، میتوانید با پیکربندی کارگزار کافکا در حال اجرا در مرکز کنترل ادامه دهید. شما باید موارد زیر را بدانید:
- : نام میزبان عمومی Control Center. این باید توسط مشتریان کافکا قابل حل و دسترسی باشد.
- : رمز عبور keystore ارائه شده هنگام ایجاد گواهی SSL.
- و : اینها پسوردهایی هستند که می خواهید به ترتیب برای کاربر ادمین و مشتری تنظیم کنید. توجه داشته باشید که می توانید کاربران بیشتری را همانطور که در قسمت قبلی نشان داده شده است اضافه کنیدampله
ویژگی های زیر را در /etc/kafka/server.properties ویرایش یا اضافه کنید (با دسترسی sudo)، و متغیرهای بالا را مطابق شکل درج کنید:
هشدار: PLAINTEXT://localhost:9092 را حذف نکنید. این کارکرد مرکز کنترل را از بین می برد زیرا سرویس های داخلی قادر به برقراری ارتباط نیستند.
- …
- # آدرس هایی که دلال کافکا به آنها گوش می دهد.
- listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
- # اینها هاست هایی هستند که به هر مشتری در حال اتصال تبلیغ می شوند.
- advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
- ####### پیکربندی سفارشی
- # پیکربندی SSL
- ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks - ssl.keystore.password=
- ssl.key.password=
- ssl.client.auth=none
- ssl.protocol=TLSv1.2
- # پیکربندی SASL
- sasl.enabled.mechanisms=PLAIN
- نام کاربری=”admin” \
- رمز عبور=” ” \
- user_admin=” ” \
- user_client=” ”؛
- # توجه کاربران بیشتری را می توان با user_ اضافه کرد =
- # مجوز، ACL ها را روشن کنید
- autorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=کاربر:ادمین
راه اندازی لیست های کنترل دسترسی (ACL)
روشن کردن ACL ها در لوکال هاست
اخطار: ابتدا باید ACL ها را برای لوکال هاست تنظیم کنیم تا خود مرکز کنترل همچنان بتواند به کافکا دسترسی داشته باشد. اگر این کار انجام نشود، همه چیز خراب می شود.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –cluster
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –موضوع '*'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –group '*'
سپس باید ACL ها را برای دسترسی فقط خواندنی خارجی فعال کنیم، به طوری که کاربران خارجی مجاز به خواندن موضوعات paa.public.* باشند.
### ورودی های ACL برای کاربران ناشناس /usr/lib/kafka/bin/kafka-acls.sh \
توجه: برای کنترل دقیق تر، لطفاً به اسناد رسمی کافکا مراجعه کنید.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:* –عملیات خواندن –عملیات توصیف \ –گروه 'NCC'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:* –عملیات خواندن –عملیات describe \ –topic paa.public. پیشوند نوع منبع-الگو
پس از انجام این کار، باید خدمات را مجدداً راه اندازی کنید:
### ورودی های ACL برای کاربران خارجی /usr/lib/kafka/bin/kafka-acls.sh \
- خدمات sudo ncc راه اندازی مجدد می شود
برای تأیید اینکه یک کلاینت میتواند یک اتصال امن برقرار کند، دستور زیر را روی یک خارجی اجرا کنید
کامپیوتر مشتری (نه در سرور مرکز کنترل). در زیر، PUBLIC_HOSTNAME نام میزبان مرکز کنترل است:
- openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "مذاکره مجدد امن IS پشتیبانی می شود"
در خروجی فرمان باید گواهی سرور و همچنین موارد زیر را مشاهده کنید:
- مذاکره مجدد امن IS پشتیبانی می شود
برای اطمینان از اینکه سرویسهای داخلی به سرور کافکا دسترسی دارند، لطفاً گزارش زیر را بررسی کنیدfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
اعتبارسنجی اتصال مشتری خارجی
kafkacat
توجه: این دستورالعمل ها باید بر روی یک کامپیوتر مشتری (نه روی سرور مرکز کنترل) اجرا شوند.
توجه: برای نمایش اطلاعات معیارها، مطمئن شوید که حداقل یک مانیتور در مرکز کنترل در حال اجرا است.
برای تأیید و اعتبارسنجی اتصال به عنوان یک مشتری خارجی، میتوانید از ابزار kafkacat استفاده کنید که در بخش «تأیید اینکه API جریان در مرکز کنترل کار میکند» در صفحه 4 نصب شده است.
مراحل زیر را انجام دهید:
توجه: در زیر، CLIENT_USER کاربری است که قبلاً در آن مشخص شده است file /etc/kafka/server.properties در Control Center: یعنی user_client و رمز عبور در آنجا تنظیم شده است.
گواهی ریشه CA که برای امضای گواهی SSL سمت سرور استفاده می شود، باید در کلاینت وجود داشته باشد.
ایجاد یک file client.properties با محتوای زیر:
- security.protocol=SASL_SSL
- ssl.ca.location={PATH_TO_CA_CERT}
- sasl.mechanisms=PLAIN
- sasl.username={CLIENT_USER}
- sasl.password={CLIENT_PASSWORD}
کجا
- {PATH_TO_CA_CERT} محل گواهی ریشه CA است که توسط کارگزار کافکا استفاده میشود.
- {CLIENT_USER} و {CLIENT_PASSWORD} اعتبار کاربری برای مشتری هستند.
برای مشاهده پیام مصرف شده توسط kafkacat دستور زیر را اجرا کنید:
- صادرات KAFKA_FQDN=
- صادرات METRICS_TOPIC=paa.public.accounts. .معیارهای
- kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
که در آن {METRICS_TOPIC} نام موضوع کافکا با پیشوند "paa.public." است.
توجه: نسخههای قدیمیتر kafkacat گزینه -F را برای خواندن تنظیمات مشتری از a ارائه نمیکنند file. اگر از چنین نسخه ای استفاده می کنید، باید همان تنظیماتی را که در زیر نشان داده شده است از خط فرمان ارائه دهید.
kafkacat -b ${KAFKA_FQDN}:9093 \
- X security.protocol=SASL_SSL \
- X ssl.ca.location={PATH_TO_CA_CERT} \
- X sasl.mechanisms=PLAIN \
- X sasl.username={CLIENT_USER} \
- X sasl.password={CLIENT_PASSWORD} \
- t ${METRICS_TOPIC} -C -e
برای اشکال زدایی اتصال، می توانید از گزینه -d استفاده کنید:
اشکال زدایی ارتباطات مصرف کننده
kafkacat -d مصرف کننده -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# اشکال زدایی ارتباطات کارگزار
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
حتماً به مستندات کتابخانه مشتری کافکا در حال استفاده مراجعه کنید، زیرا ممکن است ویژگی ها با ویژگی های client.properties متفاوت باشد.
قالب پیام
پیامهای مورد استفاده برای معیارها و موضوعات فراداده در قالب بافرهای پروتکل (protobuf) سریالسازی میشوند (نگاه کنید به developers.google.com/protocol-buffers). طرحوارههای این پیامها از قالب زیر پیروی میکنند:
طرحواره متریک پروتوباف
- نحو = "proto3";
- وارد کردن "google/protobuf/timestamp.proto”;
- بسته paa.streamingapi;
- option go_package = “.;paa_streamingapi”;
- معیارهای پیام {
- google.protobuf.Timestamp زمانamp = 1;
- نقشه مقادیر = 2;
- int32 stream_id = 3;
- }
- /**
- * یک مقدار متریک می تواند یک عدد صحیح یا یک شناور باشد.
- */
- پیام MetricValue {
- یکی از نوع {
- int64 int_val = 1;
- float float_val = 2;
- }
- }
طرحواره فراداده Protobuf
- نحو = "proto3";
- بسته paa.streamingapi;
- option go_package = “.;paa_streamingapi”;
- فراداده پیام {
- int32 stream_id = 1;
- string stream_name = 2;
- نقشه tags = 13;
- }
مشتری سابقamples
توجه: این دستورات برای اجرا بر روی یک کلاینت خارجی، به عنوان مثال، در نظر گرفته شده اندampلپ تاپ یا موارد مشابه خود را بگذارید و در مرکز کنترل نباشید.
توجه: برای نمایش اطلاعات معیارها، مطمئن شوید که حداقل یک مانیتور در مرکز کنترل در حال اجرا است.
مرکز کنترل tarball شامل آرشیو paa-streaming-api-client-ex استamples.tar.gz (client-examples)، که حاوی یک نمونه قبلی استampاسکریپت پایتون که نحوه استفاده از Streaming API را نشان می دهد.
نصب و پیکربندی Client Examples
شما مشتری سابق را پیدا می کنیدampموارد موجود در پوشه Paragon Active Assurance Control Center:
- صادرات CC_VERSION=4.1.0
- سی دی ./paa-control-center_${CC_VERSION}
- ls paa-streaming-api-client-exampلس*
برای نصب client-exampدر رایانه مشتری خارجی خود، به صورت زیر عمل کنید:
- # دایرکتوری برای استخراج محتوای مشتری سابق ایجاد کنیدampلس تربال
- mkdir paa-streaming-api-client-examples
- # محتوای مشتری سابق را استخراج کنیدampلس تربال
- tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
- # به دایرکتوری تازه ایجاد شده بروید
- سی دی paa-streaming-api-client-examples
مشتری سابقamples برای اجرا به داکر نیاز دارد. دانلودها و دستورالعملهای نصب Docker را میتوانید در اینجا پیدا کنید https://docs.docker.com/engine/install.
استفاده از Client Examples
مشتری سابقampابزارهای les می توانند در حالت اولیه یا پیشرفته برای ساختن ex اجرا شوندamples با پیچیدگی های مختلف در هر دو مورد، امکان اجرای پیشین نیز وجود داردamples با یک پیکربندی file حاوی ویژگی های اضافی برای سفارشی سازی بیشتر سمت مشتری.
حالت پایه
در حالت اولیه، معیارها و ابرداده های آنها به طور جداگانه پخش می شود. برای این منظور، مشتری به هر موضوع کافکا که برای دسترسی خارجی موجود است گوش می دهد و پیام های دریافتی را به سادگی در کنسول چاپ می کند.
برای شروع اجرای پیشین پایهamples، اجرا کنید:
- build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
جایی که ACCOUNT_SHORTNAME نام کوتاه حسابی است که میخواهید معیارها را از آن دریافت کنید.
برای خاتمه دادن به اعدام سابقample، Ctrl + C را فشار دهید.
حالت پیشرفته
توجه: معیارها فقط برای مانیتورهای HTTP در حال اجرا در مرکز کنترل نمایش داده می شوند.
اجرا در حالت پیشرفته همبستگی بین معیارها و پیام های ابرداده را نشان می دهد. این هست
به لطف وجود فیلد شناسه جریان در هر پیام متریک که به پیام فراداده مربوطه اشاره دارد.
برای اجرای سابق پیشرفتهamples، اجرا کنید:
- build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
جایی که ACCOUNT_SHORTNAME نام کوتاه حسابی است که میخواهید معیارها را از آن دریافت کنید.
برای خاتمه دادن به اعدام سابقample، Ctrl + C را فشار دهید.
تنظیمات اضافی
امکان اجرای سابق وجود داردamples با پیکربندی اضافی مشتری با استفاده از –config-file گزینه به دنبال آن a file نام حاوی خصوصیات به شکل key=value.
- build.sh run-advanced \
- –kafka-brokers localhost:9092 \
- –حساب ACCOUNT_SHORTNAME \
- -پیکربندی-file client_config.properties
توجه: همه files های ارجاع شده در دستور بالا باید در دایرکتوری فعلی قرار داشته باشند و فقط با استفاده از مسیرهای نسبی ارجاع داده شوند. این هم برای –config- صدق می کندfile آرگومان و به تمام ورودی های پیکربندی file که توصیف می کنند file مکان ها
تأیید اعتبار مشتری خارجی
برای تأیید اعتبار کلاینت از خارج از مرکز کنترل با استفاده از client-examples مراحل زیر را انجام دهید:
از پوشه Paragon Active Assurance Control Center، به paa-streaming-api-client-ex بروید.ampپوشه les:
سی دی paa-streaming-api-client-examples
- گواهی ریشه CA ca-cert را در دایرکتوری فعلی کپی کنید.
- یک client.properties ایجاد کنید file با محتوای زیر:
security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
که در آن {CLIENT_USER} و {CLIENT_PASSWORD} اعتبار کاربری برای مشتری هستند.
پیشین پایه را اجرا کنیدampموارد:
- صادرات KAFKA_FQDN=
- build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
- –حساب ACCOUNT_SHORTNAME
- -پیکربندی-file مشتری.خواص
جایی که ACCOUNT_SHORTNAME نام کوتاه حسابی است که میخواهید معیارها را از آن دریافت کنید.
اجرای پیشرفته سابقampموارد:
- صادرات KAFKA_FQDN=
- build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
- –حساب ACCOUNT_SHORTNAME
- -پیکربندی-file مشتری.خواص
ضمیمه
در این پیوست نحوه ایجاد را شرح می دهیم:
- یک فروشگاه کلید file برای ذخیره گواهی SSL بروکر کافکا
- یک فروشگاه اعتماد file برای ذخیره گواهی ریشه گواهی (CA) مورد استفاده برای امضای گواهی کارگزار کافکا.
ایجاد گواهی کارگزار کافکا
ایجاد یک گواهی با استفاده از یک مرجع صدور گواهی واقعی (توصیه می شود)
توصیه می شود یک گواهی SSL واقعی از یک CA قابل اعتماد دریافت کنید.
هنگامی که در مورد یک CA تصمیم گرفتید، گواهی ca-cert ریشه CA را کپی کنید file به مسیر خود مطابق شکل زیر:
- صادرات CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- cp ca-cert ${CA_PATH}
مرجع صدور گواهی خود را ایجاد کنید
توجه: به طور معمول باید گواهی خود را توسط یک مرجع صدور گواهینامه واقعی امضا کنید. زیربخش قبل را ببینید آنچه در ادامه می آید فقط یک نمونه قبلی استampله
در اینجا ما گواهینامه ریشه خود مرجع صدور گواهی (CA) را ایجاد می کنیم file اعتبار برای 999 روز (در تولید توصیه نمی شود):
- # یک دایرکتوری برای ذخیره CA ایجاد کنید
- صادرات CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- # گواهینامه CA را تولید کنید
- openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
ایجاد فروشگاه اعتماد مشتری
اکنون می توانید یک Truststore ایجاد کنید file که حاوی ca-cert تولید شده در بالا است. این file کلاینت کافکا که به Streaming API دسترسی خواهد داشت مورد نیاز است:
- keytool -keystore kafka.client.truststore.jks \
- نام مستعار CARoot \
- واردکننده -file ${CA_PATH}/ca-cert
اکنون که گواهی CA در Truststore است، مشتری به هر گواهی امضا شده با آن اعتماد خواهد کرد.
شما باید کپی کنید file kafka.client.truststore.jks به یک مکان شناخته شده در رایانه مشتری خود بروید و در تنظیمات به آن اشاره کنید.
ایجاد فروشگاه کلید برای کارگزار کافکا
برای تولید گواهی SSL بروکر Kafka و سپس keystore kafka.server.keystore.jks، به صورت زیر عمل کنید:
تولید گواهی SSL
در زیر، 999 تعداد روزهای اعتبار keystore است و FQDN نام دامنه کاملاً واجد شرایط مشتری (نام میزبان عمومی گره) است.
توجه: مهم است که FQDN دقیقاً با نام میزبانی که کلاینت کافکا برای اتصال به مرکز کنترل از آن استفاده می کند مطابقت داشته باشد.
- sudo mkdir -p /var/ssl/private
- sudo chown -R $USER: /var/ssl/private
- سی دی /var/ssl/private
- صادرات FQDN= keytool -keystore kafka.server.keystore.jks \
- – سرور مستعار \
- – اعتبار 999 \
- – genkey -keyalg RSA -ext SAN=dns:${FQDN}
یک درخواست امضای گواهی ایجاد کنید و آن را در آن ذخیره کنید file درخواست سرور گواهی:
- keytool -keystore kafka.server.keystore.jks \
- – سرور مستعار \
- – certreq \
- – file گواهی-سرور-درخواست
اکنون باید آن را ارسال کنید file اگر از یک سرور واقعی استفاده می کنید، درخواست سرور گواهی به مرجع صدور گواهی (CA) خود را بدهید. سپس گواهی امضا شده را برمی گردانند. در زیر به آن به عنوان امضای سرور گواهی اشاره خواهیم کرد.
امضای گواهی SSL با استفاده از یک گواهی CA خودساخته
توجه: باز هم، استفاده از CA خودتان در یک سیستم تولید توصیه نمی شود.
گواهی را با استفاده از CA امضا کنید file cert-server-request، که گواهی امضا شده Cert-server-signed را تولید می کند. زیر را ببینید؛ ca-password رمز عبوری است که هنگام ایجاد گواهی CA تنظیم می شود.
- cd /var/ssl/private openssl x509 -req \
- – CA ${CA_PATH}/ca-cert \
- – CAkey ${CA_PATH}/ca-key \
- – در درخواست سرور گواهی \
- – امضا شده توسط سرور گواهی \
- – روز 999 -CAcreateserial \
- – passin pass:{ca-password}
وارد کردن گواهی امضا شده به فروشگاه کلید
گواهی ریشه ca-cert را به keystore وارد کنید:
- keytool -keystore kafka.server.keystore.jks \
- – نام مستعار ca-cert \
- - وارد كردن \
- – file ${CA_PATH}/ca-cert
گواهی امضا شده را وارد کنید که به عنوان گواهی سرور امضا شده است:
- keytool -keystore kafka.server.keystore.jks \
- – سرور مستعار \
- - وارد كردن \
- – file گواهی سرور امضا شده است
را file kafka.server.keystore.jks باید در یک مکان شناخته شده در سرور مرکز کنترل کپی شود و سپس در /etc/kafka/server.properties ارجاع داده شود.
با استفاده از Streaming API
در این بخش
- عمومی | 20
- نام موضوع کافکا | 21
- Exampموارد استفاده از Streaming API | 21
ژنرال
API استریم داده های آزمایشی و نظارتی را واکشی می کند. نمی توان یکی از این دسته ها را مشخص کرد.
API جریان دادهها را از آزمایشهای مبتنی بر اسکریپت (آنهایی که با یک مستطیل بهجای یک قطعه اره منبت کاری اره مویی در رابط کاربری گرافیکی مرکز کنترل نشان داده شدهاند)، مانند تستهای فعالسازی سرویس اترنت و تستهای شفافیت، واکشی نمیکند.
نام موضوعات کافکا
نام موضوعات کافکا برای API جریان به شرح زیر است، که %s نام کوتاه حساب مرکز کنترل است (در هنگام ایجاد حساب نشان داده شده است):
- ثابت (
- exporterName = "کافکا"
- metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics" )
Exampموارد استفاده از Streaming API
سابقampموارد زیر در tarball paa-streaming-api-client-ex یافت می شودamples.tar.gz موجود در مرکز کنترل tarball.
اول، یک پیشین اساسی وجود داردampنشان می دهد که چگونه معیارها و ابرداده های آنها به طور جداگانه پخش می شوند و پیام های دریافتی را به سادگی در کنسول چاپ می کنند. می توانید آن را به صورت زیر اجرا کنید:
- sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
همچنین یک سابق پیشرفته تر وجود داردampجایی که متریک ها و پیام های فراداده با هم مرتبط هستند. برای اجرای آن از این دستور استفاده کنید:
- sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
برای اجرای دستورات داکر مانند دستورات بالا باید از sudo استفاده کنید. به صورت اختیاری، می توانید مراحل پس از نصب لینوکس را دنبال کنید تا بتوانید دستورات Docker را بدون sudo اجرا کنید. برای جزئیات، به docs.docker.com/engine/install/linux-postinstall.
Juniper Networks، نشانواره Juniper Networks، Juniper و Junos علائم تجاری ثبت شده Juniper Networks, Inc. در ایالات متحده و سایر کشورها هستند. سایر علائم تجاری، علائم خدمات، علائم ثبت شده یا علائم خدمات ثبت شده متعلق به صاحبان مربوطه می باشند. Juniper Networks هیچ مسئولیتی در قبال هرگونه نادرستی در این سند ندارد. Juniper Networks این حق را برای خود محفوظ می دارد که بدون اطلاع قبلی، این نشریه را تغییر دهد، تغییر دهد، انتقال دهد، یا به نحو دیگری اصلاح کند. حق چاپ © 2023 Juniper Networks, Inc. کلیه حقوق محفوظ است.
اسناد / منابع
![]() |
نرم افزار Juniper NETWORKS Streaming API [pdfراهنمای کاربر نرم افزار Streaming API، نرم افزار API، نرم افزار |