mirror of
https://github.com/openziti/zrok.git
synced 2024-12-23 23:29:22 +01:00
1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
|
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[108],{8152:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var t=i(5893),r=i(1151);const o={sidebar_position:20},s="Configuring Metrics",c={id:"guides/self-hosting/metrics-and-limits/configuring-metrics",title:"Configuring Metrics",description:"A fully configured, production-scale zrok service instance looks like this:",source:"@site/../docs/guides/self-hosting/metrics-and-limits/configuring-metrics.md",sourceDirName:"guides/self-hosting/metrics-and-limits",slug:"/guides/self-hosting/metrics-and-limits/configuring-metrics",permalink:"/docs/guides/self-hosting/metrics-and-limits/configuring-metrics",draft:!1,unlisted:!1,editUrl:"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/self-hosting/metrics-and-limits/configuring-metrics.md",tags:[],version:"current",sidebarPosition:20,frontMatter:{sidebar_position:20},sidebar:"tutorialSidebar",previous:{title:"Metrics and Limits",permalink:"/docs/category/metrics-and-limits"},next:{title:"Configuring Limits",permalink:"/docs/guides/self-hosting/metrics-and-limits/configuring-limits"}},l={},a=[{value:"Configuring the OpenZiti Controller",id:"configuring-the-openziti-controller",level:2},{value:"Configuring the zrok Metrics Bridge",id:"configuring-the-zrok-metrics-bridge",level:2},{value:"RabbitMQ",id:"rabbitmq",level:3},{value:"Configuring zrok Metrics",id:"configuring-zrok-metrics",level:2},{value:"Testing Metrics",id:"testing-metrics",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"configuring-metrics",children:"Configuring Metrics"}),"\n",(0,t.jsxs)(n.p,{children:["A fully configured, production-scale ",(0,t.jsx)(n.code,{children:"zrok"})," service instance looks like this:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"zrok Metrics Architecture",src:i(4755).Z+"",width:"381",height:"492"})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"zrok"})," metrics builds on top of the ",(0,t.jsx)(n.code,{children:"fabric.usage"})," event type from OpenZiti. The OpenZiti controller has a number of way to emit events. The ",(0,t.jsx)(n.code,{children:"zrok"})," controller has several ways to consume ",(0,t.jsx)(n.code,{children:"fabric.usage"})," events. Smaller installations could be configured in these ways:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"zrok simplified metrics architecture",src:i(3521).Z+"",width:"522",height:"322"})}),"\n",(0,t.jsxs)(n.p,{children:["Environments that horizontally scale the ",(0,t.jsx)(n.code,{children:"zrok"}),' control plane with multiple controllers should use an AMQP-based queue to "fan out" the metrics workload across the entire control plane. Simpler installations that use a single ',(0,t.jsx)(n.code,{children:"zrok"})," controller can collect ",(0,t.jsx)(n.code,{children:"fabric.usage"}),' events from the OpenZiti controller by "tailing" the events log file, or collecting them from the OpenZiti controller\'s websocket implementation.']}),"\n",(0,t.jsx)(n.h2,{id:"configuring-the-openziti-controller",children:"Configuring the OpenZiti Controller"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:["This requires a version of OpenZiti with a ",(0,t.jsx)(n.code,{children:"fabric"})," dependency of ",(0,t.jsx)(n.code,{children:"v0.22.52"})," or newer, which is satisfed by the ",(0,t.jsx)(n.code,{children:"v0.27.6"})," release of OpenZiti Controller."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Emitting ",(0,t.jsx)(n.code,{children:"fabric.usage"})," events to a file is currently the most reliable mechanism to capture usage events into ",(0,t.jsx)(n.code,{children:"zrok"}),". We're going to configure the OpenZiti controller to append ",(0,t.jsx)(n.code,{children:"fabric.usage"})," events to a file, by adding this stanza to the OpenZiti controller configuration:"]}),"\n",(0,t.jsx)(n.pre,{
|