OpenTelemetry for monitoring VNF and CNF

Proposal for implementing OpenTelemetry plugin for introducing
observability feature in Tacker. OpenTelemetry is the one of the most
popular framework for providing observability and covering comperensive
usecases not only for VNF/CNF but also infra features [1].

[1] https://opentelemetry.io/

Implements: blueprint otel-monitoring
Change-Id: If35a064a966bdd5e59dab66367ca3218e7c12637
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
This commit is contained in:
Yasufumi Ogawa 2023-10-20 02:55:49 +09:00
parent 26f23a5df7
commit f9af3dcfa0
5 changed files with 1735 additions and 0 deletions

View File

@ -8,4 +8,5 @@ Tacker 2024.1 Specifications
v2-api-horizon/*
intro-cilium/*
otel-monitoring/*
*

View File

@ -0,0 +1,338 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="400mm"
height="300mm"
viewBox="0 0 400 300"
version="1.1"
id="svg1"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="mistral-plugin.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.5"
inkscape:cx="934"
inkscape:cy="557"
inkscape:window-width="1951"
inkscape:window-height="1239"
inkscape:window-x="26"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:current-layer="layer4" />
<defs
id="defs1">
<marker
style="overflow:visible"
id="Triangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
<marker
style="overflow:visible"
id="Triangle-8"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-5" />
</marker>
</defs>
<g
inkscape:label="background"
inkscape:groupmode="layer"
id="layer1" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="objects">
<g
id="g24"
transform="matrix(0.86901385,0,0,0.63588474,-77.545981,44.814131)"
style="stroke-width:1.34524"
inkscape:label="db">
<g
id="rect1-9-7"
style="stroke-width:1.34524">
<path
style="color:#000000;fill:#fbf72e;stroke-width:1.34524;-inkscape-stroke:none"
d="m 434.5,43.028839 h 79 v 69.170101 h -79 z"
id="path23" />
<path
style="color:#000000;fill:#000000;stroke:none;stroke-width:1.34524;stroke-opacity:1;-inkscape-stroke:none"
d="m 434,42.529297 v 0.5 69.669923 h 80 V 42.529297 Z m 1,1 h 78 V 111.69922 H 472.22686 435 Z"
id="path24"
sodipodi:nodetypes="cccccccccccc" />
</g>
<path
style="font-variation-settings:'wght' 400;fill:#fbf72e;stroke:#000000;stroke-width:1.34524"
d="m 513.5,111.42637 c 0,7.78109 -17.68475,14.08891 -39.5,14.08891 -21.81525,0 -39.5,-6.30782 -39.5,-14.08891"
id="path22" />
<ellipse
style="font-variation-settings:'wght' 400;fill:#fbf72e;fill-opacity:1;stroke:#000000;stroke-width:1.34524;stroke-dasharray:none;stroke-opacity:1"
id="path21"
cx="474"
cy="42.850315"
rx="39.5"
ry="14.088905" />
</g>
<g
id="g3"
transform="matrix(0.62744942,0,0,0.99612415,46.344464,-80.848106)"
style="stroke-width:1.26489"
inkscape:label="message_queue">
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1"
width="13.564885"
height="26.894043"
x="131.55898"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-96"
width="13.564885"
height="26.894043"
x="145.50418"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-6"
width="13.564885"
height="26.894043"
x="187.33981"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-98"
width="13.564885"
height="26.894043"
x="201.28502"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-0"
width="13.564885"
height="26.894043"
x="215.23024"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-44"
width="13.564885"
height="26.894043"
x="229.17545"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-962"
width="13.564885"
height="26.894043"
x="159.4494"
y="258.16913"
inkscape:label="server" />
<rect
style="fill:#ebef5d;fill-opacity:1;stroke:#000000;stroke-width:1.10259;stroke-dasharray:none;stroke-opacity:1"
id="rect1-57"
width="13.564885"
height="26.894043"
x="173.39461"
y="258.16913"
inkscape:label="server" />
</g>
<rect
style="fill:#ebefff;fill-opacity:1;stroke:#000000;stroke-width:0.871678;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5"
width="84.128319"
height="59.128319"
x="172.81107"
y="60.995102"
inkscape:label="conductor" />
<rect
style="fill:#ebefff;fill-opacity:1;stroke:#000000;stroke-width:0.871678;stroke-dasharray:none;stroke-opacity:1"
id="rect1-9"
width="64.909439"
height="44.567593"
x="51.821655"
y="229.84433"
inkscape:label="server" />
<rect
style="fill:#ebefff;fill-opacity:1;stroke:#000000;stroke-width:0.871678;stroke-dasharray:none;stroke-opacity:1"
id="rect1-4"
width="79.128319"
height="59.128319"
x="51.557228"
y="60.542175"
inkscape:label="server" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="lines">
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1;marker-end:url(#Triangle)"
d="M 76.140044,120.57972 V 225.23276"
id="path15"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 257.38169,93.972556 h 38.5031"
id="path12" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:0.999996;stroke-opacity:1;marker-start:url(#Triangle);marker-end:url(#Triangle)"
d="m 202.85988,189.10266 h 19.62878 V 123.1811"
id="path13" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 98.460436,119.31704 v 69.42614 H 125.3113"
id="path14" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:0.999997;stroke-opacity:1;marker-end:url(#Triangle-8)"
d="m 116.77757,251.46812 h 48.96386 v -43.38446"
id="path13-7" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1;marker-end:url(#Triangle)"
d="M 92.168424,59.445647 V 32.614652 H 333.29506 v 24.809096"
id="path10"
sodipodi:nodetypes="cccc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1"
x="56.852348"
y="165.31082"
id="text15"><tspan
sodipodi:role="line"
id="tspan15"
style="stroke-width:1"
x="56.852348"
y="165.31082">(1)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1"
x="227.13867"
y="164.04338"
id="text15-8"><tspan
sodipodi:role="line"
id="tspan17"
x="227.13867"
y="164.04338">(2)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-opacity:1"
x="101.74889"
y="149.02208"
id="text15-6"><tspan
sodipodi:role="line"
id="tspan16"
x="101.74889"
y="149.02208">(3)</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="texts">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:1"
x="123.55162"
y="165.24585"
id="text1"><tspan
sodipodi:role="line"
id="tspan4"
x="123.55162"
y="165.24585">Message Queue</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:1"
x="76.060478"
y="88.277267"
id="text1-8"><tspan
sodipodi:role="line"
id="tspan7"
x="76.060478"
y="88.277267">Tacker </tspan><tspan
sodipodi:role="line"
id="tspan8"
x="76.060478"
y="101.5641">Server</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:1"
x="60.490028"
y="248.31006"
id="text1-0"><tspan
sodipodi:role="line"
id="tspan9"
x="60.490028"
y="248.31006">Mistral</tspan><tspan
sodipodi:role="line"
id="tspan10"
x="60.490028"
y="261.59689">Workflow</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:1"
x="194.55872"
y="89.085571"
id="text1-5"><tspan
sodipodi:role="line"
id="tspan5"
x="194.55872"
y="89.085571">Tacker</tspan><tspan
sodipodi:role="line"
id="tspan6"
x="194.55872"
y="102.37241">Conductor</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="311.24683"
y="105.31791"
id="text3-6-8-1-9-5-7"><tspan
sodipodi:role="line"
id="tspan24"
x="311.24683"
y="105.31791">Tacker DB</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,593 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="700mm"
height="600mm"
viewBox="0 0 700 600"
version="1.1"
id="svg1"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="prometheus-plugin.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.3631536"
inkscape:cx="981.67828"
inkscape:cy="927.98199"
inkscape:window-width="1965"
inkscape:window-height="1224"
inkscape:window-x="26"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:current-layer="layer3" />
<defs
id="defs1">
<marker
style="overflow:visible"
id="marker41"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path41" />
</marker>
<marker
style="overflow:visible"
id="marker37"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path37" />
</marker>
<marker
style="overflow:visible"
id="Triangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
</defs>
<g
inkscape:label="background"
inkscape:groupmode="layer"
id="layer1"
style="display:inline" />
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="elements">
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.871678;stroke-dasharray:none;stroke-opacity:1"
id="rect1"
width="88.602051"
height="44.567593"
x="52.564617"
y="201.04082" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-9"
width="88.473732"
height="58.74033"
x="257.60843"
y="133.38496" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-52"
width="88.473732"
height="58.74033"
x="257.60843"
y="294.61081" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-4"
width="88.473732"
height="58.74033"
x="257.60843"
y="205.52689" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5"
width="88.677406"
height="54.414875"
x="52.534077"
y="281.65643" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1"
width="79.203674"
height="39.203671"
x="265.95474"
y="478.23407" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1-8"
width="79.203674"
height="39.203671"
x="481.69678"
y="478.66821" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-2"
width="88.604515"
height="44.183563"
x="426.75385"
y="145.39536" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-2-6"
width="88.937378"
height="24.612743"
x="226.68323"
y="49.775902" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-7"
width="88.604515"
height="44.183563"
x="426.75385"
y="207.15678" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-6"
width="88.604515"
height="44.183563"
x="426.75385"
y="269.60193" />
<rect
style="display:inline;fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1-9"
width="79.203674"
height="39.203671"
x="389.50952"
y="480.87589" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-6-8"
width="88.604515"
height="44.183563"
x="426.75385"
y="332.621" />
<g
id="g24"
transform="matrix(0.86901386,0,0,0.63588474,211.26148,172.18423)"
style="stroke-width:1.34524">
<g
id="rect1-9-7"
style="stroke-width:1.34524">
<path
style="color:#000000;fill:#fbf72e;stroke-width:1.34524;-inkscape-stroke:none"
d="m 434.5,43.028839 h 79 v 69.170101 h -79 z"
id="path23" />
<path
style="color:#000000;fill:#000000;stroke:none;stroke-width:1.34524;stroke-opacity:1;-inkscape-stroke:none"
d="m 434,42.529297 v 0.5 69.669923 h 80 V 42.529297 Z m 1,1 h 78 V 111.69922 H 472.22686 435 Z"
id="path24"
sodipodi:nodetypes="cccccccccccc" />
</g>
<path
style="font-variation-settings:'wght' 400;fill:#fbf72e;stroke:#000000;stroke-width:1.34524"
d="m 513.5,111.42637 c 0,7.78109 -17.68475,14.08891 -39.5,14.08891 -21.81525,0 -39.5,-6.30782 -39.5,-14.08891"
id="path22" />
<ellipse
style="font-variation-settings:'wght' 400;fill:#fbf72e;fill-opacity:1;stroke:#000000;stroke-width:1.34524;stroke-dasharray:none;stroke-opacity:1"
id="path21"
cx="474"
cy="42.850315"
rx="39.5"
ry="14.088905" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="groups">
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.999996;stroke-dasharray:5.99998, 5.99998;stroke-dashoffset:0;stroke-opacity:1"
id="rect24"
width="169.56619"
height="274.96609"
x="205.03801"
y="104.71102" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
id="rect25"
width="150.17979"
height="292.22244"
x="399.65741"
y="103.06084" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
id="rect27"
width="495.56232"
height="323.59384"
x="178.38046"
y="91.04866" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
id="rect27-4"
width="137.67154"
height="223.77954"
x="25.928942"
y="130.66197" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.999993;stroke-dasharray:2.00001, 0.999993;stroke-dashoffset:0;stroke-opacity:1"
id="rect28"
width="429.31357"
height="112.33376"
x="192.30301"
y="440.72879" />
</g>
<path
style="font-variation-settings:'wght' 400;fill:#afeffc;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 97.628571,280.77277 0.461047,-30.82199"
id="path33" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="lines"
style="display:inline">
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle)"
d="M 97.380969,339.54843 V 499.9628 H 264.53973"
id="path34"
sodipodi:nodetypes="ccc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker37)"
d="M 471.15803,145.38415 V 61.609821 h -150.9196"
id="path36" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker41)"
d="M 236.30639,76.872821 V 323.36332 h 18.24843"
id="path38" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker37)"
d="M 141.24325,224.50788 H 254.41657"
id="path42" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="M 298.45815,75.839732 V 130.28766"
id="path43" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 345.78895,325.36294 h 41.73744 v -82.52101 h 35.5858"
id="path44"
sodipodi:nodetypes="cccc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 345.76152,235.13841 h 40.74599 v -59.09707 h 36.12129"
id="path45"
sodipodi:nodetypes="cccc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 347.13628,160.08345 h 74.48749"
id="path46" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 515.95056,167.48309 h 100.81385 v 29.09748"
id="path47" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 472.9332,253.36119 v 12.2717"
id="path48" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 516.69515,230.11342 h 19.01931 v 125.33309 h -16.81247"
id="path49"
sodipodi:nodetypes="cccc" />
<path
style="display:inline;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle);marker-end:url(#Triangle)"
d="m 308.43756,476.58776 v -17.25242 h 122.69146 v 18.30692"
id="path50" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="92.505806"
y="513.82501"
id="text52"><tspan
sodipodi:role="line"
id="tspan52"
style="stroke-width:1"
x="92.505806"
y="513.82501" /></text>
<path
style="display:inline;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 470.307,378.50876 0.39847,49.65028 -116.31748,0.12475 v 30.45386"
id="path51" />
<path
style="display:inline;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 425.97768,292.08166 h -14.39077 v 110.72156 h -57.31034 v 24.447"
id="path52" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="texts"
style="display:inline">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="258.3205"
y="65.439445"
id="text3"><tspan
sodipodi:role="line"
id="tspan33"
x="258.3205"
y="65.439445">Client</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="273.84949"
y="154.2438"
id="text3-6"><tspan
sodipodi:role="line"
id="tspan9"
x="273.84949"
y="154.2438">VnfFm</tspan><tspan
sodipodi:role="line"
id="tspan10"
x="273.84949"
y="167.53065">Controller</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="455.23691"
y="163.9081"
id="text3-6-2"><tspan
sodipodi:role="line"
id="tspan15"
x="455.23691"
y="163.9081">VnfFm</tspan><tspan
sodipodi:role="line"
id="tspan16"
x="455.23691"
y="177.19495">Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="272.94641"
y="232.06258"
id="text3-6-6"><tspan
sodipodi:role="line"
id="tspan11"
x="272.94641"
y="232.06258">Prometheus</tspan><tspan
sodipodi:role="line"
id="tspan12"
x="272.94641"
y="245.34943">Plugin</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="273.86816"
y="321.00763"
id="text3-6-8"><tspan
sodipodi:role="line"
id="tspan13"
x="273.86816"
y="321.00763">Vnflcm</tspan><tspan
sodipodi:role="line"
id="tspan14"
x="273.86816"
y="334.29446">Controller</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="456.10187"
y="227.37492"
id="text3-6-8-1"><tspan
sodipodi:role="line"
id="tspan17"
x="456.10187"
y="227.37492">Vnflcm</tspan><tspan
sodipodi:role="line"
id="tspan18"
x="456.10187"
y="240.66177">Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="445.90665"
y="295.08408"
id="text3-6-8-1-9"><tspan
sodipodi:role="line"
id="tspan19"
x="445.90665"
y="295.08408">MgmtDriver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="447.07739"
y="355.39774"
id="text3-6-8-1-9-5"><tspan
sodipodi:role="line"
id="tspan26"
x="447.07739"
y="355.39774">Infra Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="600.05432"
y="232.688"
id="text3-6-8-1-9-5-7"><tspan
sodipodi:role="line"
id="tspan24"
x="600.05432"
y="232.688">Tacker DB</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="61.495388"
y="225.07133"
id="text3-0"><tspan
sodipodi:role="line"
id="tspan6"
x="61.495388"
y="225.07133">Alartmanager</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#0000ff;fill-opacity:1;stroke-width:0.264583"
x="106.537"
y="493.72501"
id="text3-0-8"><tspan
sodipodi:role="line"
id="tspan53"
x="106.537"
y="493.72501">Pull metrics</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#0000ff;fill-opacity:1;stroke-width:0.264583;stroke:none;stroke-opacity:1"
x="149.59587"
y="217.31464"
id="text3-0-8-6"><tspan
sodipodi:role="line"
id="tspan55">Send alert</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#0000ff;fill-opacity:1;stroke-width:0.264583"
x="356.61316"
y="453.68689"
id="text3-0-8-8"><tspan
sodipodi:role="line"
id="tspan54"
x="356.61316"
y="453.68689">Create/delete nodes</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="285.55118"
y="507.82764"
id="text3-0-5"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan31"
x="285.55118"
y="507.82764"
style="stroke-width:0.264583">Worker</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="407.82687"
y="507.82764"
id="text3-0-5-6"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan31-4"
x="407.82687"
y="507.82764"
style="stroke-width:0.264583">Worker</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.1104px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="356.79688"
y="508.88837"
id="text3-0-5-8"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan32"
x="356.79688"
y="508.88837"
style="stroke-width:0.264583">...</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="499.56766"
y="507.3685"
id="text3-0-5-5"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan49"
x="499.56766"
y="507.3685">Master</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="223.86771"
y="468.26666"
id="text3-0-0"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan28"
x="223.86771"
y="468.26666"
style="stroke-width:0.264583">K8s Cluster</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="222.19447"
y="125.12184"
id="text3-0-0-3"><tspan
sodipodi:role="line"
id="tspan29"
x="222.19447"
y="125.12184">Tacker Server</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="417.36057"
y="123.01567"
id="text3-0-0-3-6"><tspan
sodipodi:role="line"
id="tspan30"
x="417.36057"
y="123.01567">Tacker Conductor</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="66.359489"
y="305.39114"
id="text3-0-4"><tspan
sodipodi:role="line"
id="tspan7"
x="66.359489"
y="305.39114">Prometheus</tspan><tspan
sodipodi:role="line"
id="tspan8"
x="66.359489"
y="318.67798">Server</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,541 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="700mm"
height="600mm"
viewBox="0 0 700 600"
version="1.1"
id="svg1"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="tacker-otel-driver.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.3631536"
inkscape:cx="980.30145"
inkscape:cy="1247.4061"
inkscape:window-width="1965"
inkscape:window-height="1224"
inkscape:window-x="26"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:current-layer="layer3" />
<defs
id="defs1">
<marker
style="overflow:visible"
id="marker37"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path37" />
</marker>
<marker
style="overflow:visible"
id="Triangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
<marker
style="overflow:visible"
id="Triangle-3"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-8" />
</marker>
<marker
style="overflow:visible"
id="Triangle-3-8"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-8-8" />
</marker>
</defs>
<g
inkscape:label="background"
inkscape:groupmode="layer"
id="layer1"
style="display:inline" />
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="elements">
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.871678;stroke-dasharray:none;stroke-opacity:1"
id="rect1"
width="88.602051"
height="44.567593"
x="52.564617"
y="201.04082" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-4"
width="88.473732"
height="58.74033"
x="257.60843"
y="205.52689" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1"
width="79.203674"
height="39.203671"
x="277.59659"
y="478.23407" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1-8"
width="79.203674"
height="39.203671"
x="493.33862"
y="478.66821" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-2"
width="88.604515"
height="44.183563"
x="426.75385"
y="145.39536" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect1-2-6"
width="88.937378"
height="24.612743"
x="226.68323"
y="49.775902" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-7"
width="88.604515"
height="44.183563"
x="426.75385"
y="207.15678" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-6"
width="88.604515"
height="44.183563"
x="426.75385"
y="269.60193" />
<rect
style="display:inline;fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.796329;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1-9"
width="79.203674"
height="39.203671"
x="401.15137"
y="480.87589" />
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.816438;stroke-dasharray:none;stroke-opacity:1"
id="rect1-6-8"
width="88.604515"
height="44.183563"
x="426.75385"
y="332.621" />
<g
id="g24"
transform="matrix(0.86901386,0,0,0.63588474,211.26148,172.18423)"
style="stroke-width:1.34524">
<g
id="rect1-9-7"
style="stroke-width:1.34524">
<path
style="color:#000000;fill:#fbf72e;stroke-width:1.34524;-inkscape-stroke:none"
d="m 434.5,43.028839 h 79 v 69.170101 h -79 z"
id="path23" />
<path
style="color:#000000;fill:#000000;stroke:none;stroke-width:1.34524;stroke-opacity:1;-inkscape-stroke:none"
d="m 434,42.529297 v 0.5 69.669923 h 80 V 42.529297 Z m 1,1 h 78 V 111.69922 H 472.22686 435 Z"
id="path24"
sodipodi:nodetypes="cccccccccccc" />
</g>
<path
style="font-variation-settings:'wght' 400;fill:#fbf72e;stroke:#000000;stroke-width:1.34524"
d="m 513.5,111.42637 c 0,7.78109 -17.68475,14.08891 -39.5,14.08891 -21.81525,0 -39.5,-6.30782 -39.5,-14.08891"
id="path22" />
<ellipse
style="font-variation-settings:'wght' 400;fill:#fbf72e;fill-opacity:1;stroke:#000000;stroke-width:1.34524;stroke-dasharray:none;stroke-opacity:1"
id="path21"
cx="474"
cy="42.850315"
rx="39.5"
ry="14.088905" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="groups">
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.999996;stroke-dasharray:5.99998, 5.99998;stroke-dashoffset:0;stroke-opacity:1"
id="rect24"
width="169.56619"
height="274.96609"
x="205.03801"
y="104.71102" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
id="rect25"
width="150.17979"
height="292.22244"
x="399.65741"
y="103.06084" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
id="rect27"
width="495.56232"
height="323.59384"
x="178.38046"
y="91.04866" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
id="rect27-4"
width="137.67154"
height="223.77954"
x="25.928942"
y="130.66197" />
<rect
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.999993;stroke-dasharray:2.00001, 0.999993;stroke-dashoffset:0;stroke-opacity:1"
id="rect28"
width="450.63852"
height="112.33376"
x="170.97807"
y="440.72879" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="lines"
style="display:inline">
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle)"
d="M 96.732262,251.65312 V 499.9628 h 84.520708"
id="path34"
sodipodi:nodetypes="ccc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker37)"
d="M 471.15803,145.38415 V 61.609821 h -150.9196"
id="path36" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker37)"
d="M 141.24325,224.50788 H 254.41657"
id="path42" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="M 298.45813,76.898063 V 202.16388"
id="path43" />
<path
style="font-variation-settings:'wght' 400;display:inline;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:0.999999;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-3)"
d="M 471.18055,250.23015 V 266.4576"
id="path43-0" />
<path
style="font-variation-settings:'wght' 400;display:inline;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:0.999999;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-3-8)"
d="m 469.70647,189.55681 v 14.64995"
id="path43-0-7" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 345.76152,235.13841 h 16.40432 v -76.0304 h 60.46296"
id="path45"
sodipodi:nodetypes="cccc" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 515.95056,167.48309 h 100.81385 v 29.09748"
id="path47" />
<path
style="font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle)"
d="m 516.69515,230.11342 h 19.01931 v 125.33309 h -16.81247"
id="path49"
sodipodi:nodetypes="cccc" />
<path
style="font-variation-settings:'wght' 400;display:inline;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle);marker-end:url(#Triangle)"
d="m 319.02096,476.58776 v -17.25242 h 122.69146 v 18.30692"
id="path50" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98112px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="92.505806"
y="513.82501"
id="text52"><tspan
sodipodi:role="line"
id="tspan52"
style="stroke-width:1"
x="92.505806"
y="513.82501" /></text>
<path
style="display:inline;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 470.307,378.50876 0.39847,49.65028 -116.31748,0.12475 v 30.45386"
id="path51" />
<path
style="display:inline;font-variation-settings:'wght' 400;fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 425.97768,292.08166 h -14.39077 v 110.72156 h -57.31034 v 24.447"
id="path52" />
<path
style="font-variation-settings:'wght' 400;fill:none;stroke:#0000ff;stroke-width:1;marker-end:url(#Triangle-3)"
d="m 425.51188,179.22814 h -38.47737 v 168.9237 H 200.08985 v 125.40343"
id="path7"
sodipodi:nodetypes="ccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="texts"
style="display:inline">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="258.3205"
y="65.439445"
id="text3"><tspan
sodipodi:role="line"
id="tspan33"
x="258.3205"
y="65.439445">Client</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="455.23691"
y="163.9081"
id="text3-6-2"><tspan
sodipodi:role="line"
id="tspan1">Otel</tspan><tspan
sodipodi:role="line"
id="tspan2">Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="272.94641"
y="232.06258"
id="text3-6-6"><tspan
sodipodi:role="line"
id="tspan3">Otel</tspan><tspan
sodipodi:role="line"
id="tspan4">Plugin</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="456.10187"
y="227.37492"
id="text3-6-8-1"><tspan
sodipodi:role="line"
id="tspan17"
x="456.10187"
y="227.37492">Vnflcm</tspan><tspan
sodipodi:role="line"
id="tspan18"
x="456.10187"
y="240.66177">Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="445.90665"
y="295.08408"
id="text3-6-8-1-9"><tspan
sodipodi:role="line"
id="tspan19"
x="445.90665"
y="295.08408">MgmtDriver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="447.07739"
y="355.39774"
id="text3-6-8-1-9-5"><tspan
sodipodi:role="line"
id="tspan26"
x="447.07739"
y="355.39774">Infra Driver</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="600.05432"
y="232.688"
id="text3-6-8-1-9-5-7"><tspan
sodipodi:role="line"
id="tspan24"
x="600.05432"
y="232.688">Tacker DB</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="65.232162"
y="229.20085"
id="text3-0"><tspan
sodipodi:role="line"
id="tspan5"
x="65.232162"
y="229.20085">Otel Collector</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#0000ff;fill-opacity:1;stroke-width:0.264583"
x="102.83284"
y="493.72501"
id="text3-0-8"><tspan
sodipodi:role="line"
id="tspan7"
x="102.83284"
y="493.72501">Export data</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#0000ff;fill-opacity:1;stroke-width:0.264583"
x="230.70407"
y="340.69"
id="text3-0-8-8"><tspan
sodipodi:role="line"
id="tspan8">Control exporter</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="297.07217"
y="507.82764"
id="text3-0-5"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan31"
x="297.07217"
y="507.82764"
style="stroke-width:0.264583">Worker</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="419.34787"
y="507.82764"
id="text3-0-5-6"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan31-4"
x="419.34787"
y="507.82764"
style="stroke-width:0.264583">Worker</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.1104px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="368.31787"
y="508.88837"
id="text3-0-5-8"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan32"
x="368.31787"
y="508.88837"
style="stroke-width:0.264583">...</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="511.08865"
y="507.3685"
id="text3-0-5-5"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan49"
x="511.08865"
y="507.3685">Master</tspan></text>
<rect
style="fill:#8beffc;fill-opacity:1;stroke:#000000;stroke-width:0.79633;stroke-dasharray:none;stroke-opacity:1"
id="rect1-5-1-8-3"
width="79.203674"
height="39.203671"
x="175.25032"
y="477.17139" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="182.67796"
y="505.85602"
id="text3-0-5-5-0"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan6"
x="182.67796"
y="505.85602">Otel Expoter</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.98111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="223.86771"
y="468.26666"
id="text3-0-0"
transform="scale(1.0104608,0.9896475)"><tspan
sodipodi:role="line"
id="tspan28"
x="223.86771"
y="468.26666"
style="stroke-width:0.264583">K8s Cluster</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="222.19447"
y="125.12184"
id="text3-0-0-3"><tspan
sodipodi:role="line"
id="tspan29"
x="222.19447"
y="125.12184">Tacker Server</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87778px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, @wght=400';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 400;display:inline;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="417.36057"
y="123.01567"
id="text3-0-0-3-6"><tspan
sodipodi:role="line"
id="tspan30"
x="417.36057"
y="123.01567">Tacker Conductor</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,262 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
========================================
OpenTelemetry for monitoring VNF and CNF
========================================
OpenTelemetry is the one of the most popular observability framework
covering comprehensive usecases not only for VNF/CNF but also infra features.
https://blueprints.launchpad.net/tacker/+spec/otel-monitoring
Problem description
===================
In terms of tacker, there were some implementations for monitoring with
OpenStack services,
using mistral workflow service [#mistral]_ or
ceilometer alarming service [#ceilometer]_ for aiming
scalable VNF components before prometheus monitoring for auto-healing was
introduced in Yoga [#prometheus-plugin]_.
These monitoring plugins included in so called legacy tacker have been
dropped through the recent releases because such an old implementations
have not been maintained and
will not be supported anymore in ETSI-NFV based tacker.
The main purpose of introducing prometheus in Yoga was to support Fault
Management Interface defined in ETSI-NFV SOL 003 specification which enables
tacker to monitor VNFs are in good health and take an action if there is
something failure happened then, in other word, for auto-healing.
In Zed and next release, the feature has been improved additionally for
supporting Performance Management Interface for auto-scaling with
an external monitoring tool [#pmif-zed]_ [#pmif-202301]_.
So, it's ready to say tacker is compatible with FM/PM interfaces in
ETSI-NFV SOL specifications for now.
However, these monitoring feature is focusing on the standard and
the usecase is still limited for considering many other wide-spread
cases happened on large cloud based systems for which operators are
interested in. Only "monitoring" is not enough for such a systems,
but "observability" is required for maintaining highly distributed
and complex systems from operators.
OpenTelemetry, also known as OTel for short, is a vendor-neutral
open-source Observability framework for instrumenting, generating,
collecting, and exporting telemetry data such as traces, metrics, logs.
As an industry-standard, many vendors, integrated by many libraries,
services and apps and adopted by a number of end-users [#otel-doc].
This proposal to introducing OpenTelemetry to deploy observability
features [#otel-doc]_.
Use Cases
---------
In legacy tacker, monitoring is implemented as keep-alive like pinning
mechanism.
For example, the previous mistral workflow is for pinning registered
VIMs or VNFs [#mistral-plugin]_.
Here is a simple usecase of mistral based monitoring.
(1) Tacker server uploads a monitoring workflow, such as HTTP ping for a VNF,
which is passed to conductor via intermediate message queue.
(2) Then do the monitoring, and (3) remove the workflow.
It's legacy features will be dropped in near future even though it's enough
for such a simple usecase.
.. image:: ./img/mistral-plugin.svg
:width: 55%
The next usecase is auto-healing with prometheus [#prometheus-plugin]_.
If some behavior indicating bad situation from prometheus is found, tacker
try to delete a failure node and create another one with VnfFm driver
and Vnflcm driver for healing.
This monitoring can be completely managed from client via ETSI-NFV compliance
APIs.
.. image:: ./img/prometheus-plugin.svg
:width: 90%
In terms of standardized manners of FM and PM, Prometheus based solution
in tacker is enough adapted to the requirements.
Although tacker should take care for design for intermediating Prometheus
and VIMs with tacker specific messaging and data formats.
It means we're required to many efforts if we will have more features than
current Prometheus based solution on different VIMs other than OpenStack
and Kubernetes. Such a requirements can be arisen for a usecase of using
multi-cloud systems for integrating services or so.
It also must be required to provide observability features for such a
complex usecase.
Proposed change
===============
The purpose of this spec is to introduce a driver for OpenTelemetry components
as a observability framework.
It provides following features which enable operators to get fine-grained
information used not only for automated resource management but also analyzing
very complex failure cases.
* Traces: It's for getting a big picture of what happens when a request is
made to an application.
* Metric: Measurement of a service captured at runtime known as a metric event,
which consists not only of the measurement itself, but also the time at
which it was captured and associated metadata.
* Log: Timestamped text record, either structured (recommended) or
unstructured, with metadata.
One of the typical usecase of OpenTelemetry is distributed trace.
It records the paths taken by requests (made by an application or end-user)
as they propagate through multi-service architectures.
Many Observability back-ends visualize traces as waterfall diagrams that may
look something like this:
.. image:: https://opentelemetry.io/img/waterfall-trace.svg
:width: 90%
As described in the diagram below, OpenTelemetry supports several infras such
as Kubernetes or other major ones to collect data and sharing clients.
.. image:: https://opentelemetry.io/img/otel-diagram.svg
:width: 90%
Tacker's otel driver is for deploying components of OpenTelemetry and
communicate with them for setup the components or collecting data.
The design of components in tacker is something similar to prometheus
plugin and driver, but different a little.
There are two key roles in Otel's components, ``Collector`` and ``Exporter``.
* ``Collector`` is a vendor-agnostic proxy that can receive, process, and
export telemetry data.
It supports receiving telemetry data in multiple formats
(for example, OTLP, Jaeger, Prometheus, as well as many
commercial/proprietary tools) and sending data to one or more backends.
It also supports processing and filtering telemetry data before it gets
exported.
* ``Exporter`` is to export your data to an OpenTelemetry Collector or a
backend such as Jaeger, Zipkin, Prometheus or a vendor-specific one.
For the Exporter, it's controlled by ``OtelDriver`` in Tacker Conductor
and working for sending data to ``Otel Collector``.
``Otel Collector`` is like a manager of Exporters and aggregate the data
from the driver. The aggregated data is summarized or processed to be more
useful observability data.
.. image:: img/tacker-otel-driver.svg
:width: 90%
From tacker, it should deploy Otel's components on any target node, on a host
or a guest on which VNFs deployed. So, tacker's otel driver should do that.
Unlike of prometheus plugin, all the data and APIs of OpenTelemetry are defined
as OpenTelemetry Specification [#otel-spec]_.
In Caracal, Tacker's plugin follows OpenTelemetry Specification version
1.27.0.
Alternatives
------------
None
Data model impact
-----------------
Each data required to be stored in tacker DB has an impact on.
REST API impact
---------------
Nothing without adding additional APIs than OpenTelemetry.
Security impact
---------------
Use of telemetry data must be limited to operators or maintainers.
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
None
Other deployer impact
---------------------
None
Developer impact
----------------
None
Upgrade impact
--------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
* Yasufumi Ogawa <yasufum.o@gmail.com> <yasufumi.ogawa@ntt.com>
Work Items
----------
* Support devstack script to install OpenTelemetry components.
* Implement Otel plugin.
* Add unit and functional tests.
* Add docs for setup and usage guides of the plugin.
Dependencies
============
None
Testing
=======
Add both unit and functional tests. The test scenarios will be fixed.
Documentation Impact
====================
* Installation guide for tools of OpenTelemetry.
* Use case guide for a sample usage scenario.
References
==========
.. [#mistral] https://docs.openstack.org/mistral/latest/
.. [#ceilometer] https://docs.openstack.org/ceilometer/latest/
.. [#pmif-zed] https://specs.openstack.org/openstack/tacker-specs/specs/zed/prometheus-plugin-autoheal-and-autoscale.html
.. [#pmif-202301] https://specs.openstack.org/openstack/tacker-specs/specs/2023.1/vnfm-autoheal-and-autoscale.html
.. [#mistral-plugin] https://specs.openstack.org/openstack/tacker-specs/specs/pike/mistral_vim_monitor.html
.. [#prometheus-plugin] https://specs.openstack.org/openstack/tacker-specs/specs/yoga/prometheus-plugin-heal.html
.. [#otel-doc] https://opentelemetry.io/docs/
.. [#otel-spec] https://opentelemetry.io/docs/specs/
History
=======
None