log10x-mcp 1.29.12 → 1.29.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/discovery/azure.d.ts +21 -0
- package/build/lib/discovery/azure.js +73 -0
- package/build/lib/discovery/azure.js.map +1 -0
- package/build/lib/discovery/orchestrate.d.ts +4 -0
- package/build/lib/discovery/orchestrate.js +34 -4
- package/build/lib/discovery/orchestrate.js.map +1 -1
- package/build/lib/discovery/types.d.ts +27 -1
- package/build/lib/offload-recipes.d.ts +30 -0
- package/build/lib/offload-recipes.js +147 -0
- package/build/lib/offload-recipes.js.map +1 -1
- package/build/product-kb/docs/apps/dev/run.md +3 -3
- package/build/product-kb/docs/apps/mcp/tools/install/advise-install.md +8 -0
- package/build/product-kb/docs/apps/receiver/deploy.md +16 -16
- package/build/product-kb/docs/apps/receiver/run.md +2 -2
- package/build/product-kb/docs/apps/reporter/run.md +1 -1
- package/build/product-kb/docs/apps/retriever/deploy/k8s.md +3 -3
- package/build/product-kb/docs/apps/retriever/deploy/lambda.md +4 -4
- package/build/product-kb/docs/compile/deploy.md +6 -6
- package/build/product-kb/docs/compile/test.md +4 -4
- package/build/product-kb/docs/engine/launcher/extension.md +56 -32
- package/build/product-kb/docs/faq/stacks/datadog/optimization.md +1 -1
- package/build/product-kb/docs/install/docker.md +6 -6
- package/build/product-kb/docs/install/platforms.md +69 -0
- package/build/product-kb/docs/install/streams.md +158 -0
- package/build/product-kb/docs/install/win.md +2 -2
- package/build/product-kb/docs/run/receive/compact/index.md +4 -4
- package/build/product-kb/docs/run/receive/rate/index.md +9 -5
- package/build/product-kb/docs/summary.md +2 -0
- package/build/tools/advise-install.js +102 -2
- package/build/tools/advise-install.js.map +1 -1
- package/build/tools/discover-env.js +3 -0
- package/build/tools/discover-env.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only Azure probes for the install advisor.
|
|
3
|
+
*
|
|
4
|
+
* Shells out to `az` CLI — no SDK dependency, mirroring the AWS probe's
|
|
5
|
+
* contract: customers with Azure configured already have the CLI, and the
|
|
6
|
+
* ones that don't see `azure.available = false` while the advisor falls
|
|
7
|
+
* back to asking for the facts by hand.
|
|
8
|
+
*
|
|
9
|
+
* Probe budget: 4 read calls per run, each individually fail-soft. The
|
|
10
|
+
* `containerapp` command lives in an az extension that may be absent;
|
|
11
|
+
* that failure means "no Container Apps facts", never "no Azure".
|
|
12
|
+
*/
|
|
13
|
+
import type { AzureProbes, ProbeLogEntry } from './types.js';
|
|
14
|
+
export interface AzureProbeOpts {
|
|
15
|
+
/** Per-call timeout. Default 10_000ms (az cold starts are slow). */
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function probeAzure(opts?: AzureProbeOpts): Promise<{
|
|
19
|
+
probes: AzureProbes;
|
|
20
|
+
log: ProbeLogEntry[];
|
|
21
|
+
}>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only Azure probes for the install advisor.
|
|
3
|
+
*
|
|
4
|
+
* Shells out to `az` CLI — no SDK dependency, mirroring the AWS probe's
|
|
5
|
+
* contract: customers with Azure configured already have the CLI, and the
|
|
6
|
+
* ones that don't see `azure.available = false` while the advisor falls
|
|
7
|
+
* back to asking for the facts by hand.
|
|
8
|
+
*
|
|
9
|
+
* Probe budget: 4 read calls per run, each individually fail-soft. The
|
|
10
|
+
* `containerapp` command lives in an az extension that may be absent;
|
|
11
|
+
* that failure means "no Container Apps facts", never "no Azure".
|
|
12
|
+
*/
|
|
13
|
+
import { runJson } from './shell.js';
|
|
14
|
+
/** Probe budget: apps listed before we say "and N more". */
|
|
15
|
+
const LIST_CAP = 200;
|
|
16
|
+
export async function probeAzure(opts = {}) {
|
|
17
|
+
const log = [];
|
|
18
|
+
const timeoutMs = opts.timeoutMs ?? 10_000;
|
|
19
|
+
const record = (r) => {
|
|
20
|
+
log.push({
|
|
21
|
+
cmd: r.cmd,
|
|
22
|
+
exitCode: r.exitCode,
|
|
23
|
+
ms: r.ms,
|
|
24
|
+
stderrSnippet: r.exitCode === 0 ? undefined : r.stderr.slice(0, 400) || undefined,
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
// Step 1: is az configured at all?
|
|
28
|
+
const ident = await runJson('az', ['account', 'show', '--output', 'json'], { timeoutMs });
|
|
29
|
+
record(ident.result);
|
|
30
|
+
if (!ident.parsed) {
|
|
31
|
+
return {
|
|
32
|
+
probes: {
|
|
33
|
+
available: false,
|
|
34
|
+
error: ident.result.stderr.slice(0, 400) || 'az account show failed',
|
|
35
|
+
functionApps: [],
|
|
36
|
+
containerAppCount: 0,
|
|
37
|
+
eventHubNamespaces: [],
|
|
38
|
+
},
|
|
39
|
+
log,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const probes = {
|
|
43
|
+
available: true,
|
|
44
|
+
subscriptionId: ident.parsed.id,
|
|
45
|
+
tenantId: ident.parsed.tenantId,
|
|
46
|
+
functionApps: [],
|
|
47
|
+
containerAppCount: 0,
|
|
48
|
+
eventHubNamespaces: [],
|
|
49
|
+
};
|
|
50
|
+
// Step 2: Function Apps. `kind` distinguishes consumption-style function
|
|
51
|
+
// apps ("functionapp") from container-hosted ones ("functionapp,linux,
|
|
52
|
+
// container" etc.); we keep the raw kind so the advisor can reason.
|
|
53
|
+
const fns = await runJson('az', ['functionapp', 'list', '--query', `[:${LIST_CAP}].{name:name, kind:kind}`, '--output', 'json'], { timeoutMs });
|
|
54
|
+
record(fns.result);
|
|
55
|
+
if (fns.parsed) {
|
|
56
|
+
probes.functionApps = fns.parsed.map((f) => ({ name: f.name, kind: f.kind ?? '' }));
|
|
57
|
+
}
|
|
58
|
+
// Step 3: Container Apps. The command needs the `containerapp` extension;
|
|
59
|
+
// absence is a per-probe miss, not an Azure miss.
|
|
60
|
+
const apps = await runJson('az', ['containerapp', 'list', '--query', `[:${LIST_CAP}].{name:name}`, '--output', 'json'], { timeoutMs });
|
|
61
|
+
record(apps.result);
|
|
62
|
+
if (apps.parsed) {
|
|
63
|
+
probes.containerAppCount = apps.parsed.length;
|
|
64
|
+
}
|
|
65
|
+
// Step 4: Event Hub namespaces — the stream topology's delivery hub.
|
|
66
|
+
const hubs = await runJson('az', ['eventhubs', 'namespace', 'list', '--query', `[:${LIST_CAP}].{name:name}`, '--output', 'json'], { timeoutMs });
|
|
67
|
+
record(hubs.result);
|
|
68
|
+
if (hubs.parsed) {
|
|
69
|
+
probes.eventHubNamespaces = hubs.parsed.map((h) => h.name);
|
|
70
|
+
}
|
|
71
|
+
return { probes, log };
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=azure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../src/lib/discovery/azure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAoB,MAAM,YAAY,CAAC;AAQvD,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAuB,EAAE;IAEzB,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAc,EAAQ,EAAE;QACtC,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,aAAa,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS;SAClF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,IAAI,EACJ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EACvC,EAAE,SAAS,EAAE,CACd,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,wBAAwB;gBACpE,YAAY,EAAE,EAAE;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,kBAAkB,EAAE,EAAE;aACvB;YACD,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAgB;QAC1B,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QAC/B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;QAC/B,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,EAAE;KACvB,CAAC;IAEF,yEAAyE;IACzE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,IAAI,EACJ,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,QAAQ,0BAA0B,EAAE,UAAU,EAAE,MAAM,CAAC,EAC/F,EAAE,SAAS,EAAE,CACd,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,IAAI,EACJ,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,QAAQ,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,EACrF,EAAE,SAAS,EAAE,CACd,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,qEAAqE;IACrE,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,IAAI,EACJ,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,QAAQ,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,EAC/F,EAAE,SAAS,EAAE,CACd,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type KubectlProbeOpts } from './kubectl.js';
|
|
8
8
|
import { type AwsProbeOpts } from './aws.js';
|
|
9
|
+
import { type AzureProbeOpts } from './azure.js';
|
|
9
10
|
import type { DiscoverySnapshot, ForwarderKind } from './types.js';
|
|
10
11
|
export interface DiscoverOpts {
|
|
11
12
|
kubectl?: KubectlProbeOpts;
|
|
@@ -14,6 +15,9 @@ export interface DiscoverOpts {
|
|
|
14
15
|
skipKubectl?: boolean;
|
|
15
16
|
/** Skip AWS probes entirely. */
|
|
16
17
|
skipAws?: boolean;
|
|
18
|
+
azure?: AzureProbeOpts;
|
|
19
|
+
/** Skip Azure probes entirely. */
|
|
20
|
+
skipAzure?: boolean;
|
|
17
21
|
/** User hint that overrides detection. */
|
|
18
22
|
forwarderHint?: ForwarderKind;
|
|
19
23
|
/** User hint for target namespace. Defaults to "logging" if unset. */
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { probeKubectl } from './kubectl.js';
|
|
8
8
|
import { probeAws } from './aws.js';
|
|
9
|
+
import { probeAzure } from './azure.js';
|
|
9
10
|
import { newSnapshotId, putSnapshot } from './snapshot-store.js';
|
|
10
11
|
import { SNAPSHOT_SCHEMA_VERSION } from './types.js';
|
|
11
12
|
import { probeReceiverInPath } from '../receiver-probe.js';
|
|
@@ -20,7 +21,10 @@ export async function runDiscovery(opts = {}) {
|
|
|
20
21
|
const awsP = opts.skipAws
|
|
21
22
|
? Promise.resolve({ probes: emptyAws(), log: [] })
|
|
22
23
|
: probeAws(opts.aws);
|
|
23
|
-
const
|
|
24
|
+
const azureP = opts.skipAzure
|
|
25
|
+
? Promise.resolve({ probes: emptyAzure(), log: [] })
|
|
26
|
+
: probeAzure(opts.azure);
|
|
27
|
+
const [k, a, az] = await Promise.all([kubectlP, awsP, azureP]);
|
|
24
28
|
// After kubectl probes complete, run the receiver-in-path SIEM probe.
|
|
25
29
|
// Best-effort: failure returns null (inconclusive) and never aborts discovery.
|
|
26
30
|
let receiverInPath = null;
|
|
@@ -35,7 +39,7 @@ export async function runDiscovery(opts = {}) {
|
|
|
35
39
|
catch {
|
|
36
40
|
// SIEM probe failure is non-fatal — leave receiverInPath as null.
|
|
37
41
|
}
|
|
38
|
-
const recommendations = deriveRecommendations(k.probes, a.probes, opts, receiverInPath);
|
|
42
|
+
const recommendations = deriveRecommendations(k.probes, a.probes, az.probes, opts, receiverInPath);
|
|
39
43
|
const finishedAt = new Date().toISOString();
|
|
40
44
|
const snapshot = {
|
|
41
45
|
schemaVersion: SNAPSHOT_SCHEMA_VERSION,
|
|
@@ -49,8 +53,9 @@ export async function runDiscovery(opts = {}) {
|
|
|
49
53
|
},
|
|
50
54
|
kubectl: k.probes,
|
|
51
55
|
aws: a.probes,
|
|
56
|
+
azure: az.probes,
|
|
52
57
|
recommendations,
|
|
53
|
-
probeLog: [...k.log, ...a.log].slice(-200),
|
|
58
|
+
probeLog: [...k.log, ...a.log, ...az.log].slice(-200),
|
|
54
59
|
};
|
|
55
60
|
putSnapshot(snapshot);
|
|
56
61
|
return snapshot;
|
|
@@ -70,6 +75,15 @@ function emptyKubectl() {
|
|
|
70
75
|
backendAgents: [],
|
|
71
76
|
};
|
|
72
77
|
}
|
|
78
|
+
function emptyAzure() {
|
|
79
|
+
return {
|
|
80
|
+
available: false,
|
|
81
|
+
error: 'probe skipped',
|
|
82
|
+
functionApps: [],
|
|
83
|
+
containerAppCount: 0,
|
|
84
|
+
eventHubNamespaces: [],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
73
87
|
function emptyAws() {
|
|
74
88
|
return {
|
|
75
89
|
available: false,
|
|
@@ -84,7 +98,7 @@ function emptyAws() {
|
|
|
84
98
|
* Conservative: if we can't confidently infer, we leave the field unset
|
|
85
99
|
* so the advisor surfaces a "needs user input" placeholder.
|
|
86
100
|
*/
|
|
87
|
-
function deriveRecommendations(kubectl, aws, opts, receiverInPath = null) {
|
|
101
|
+
function deriveRecommendations(kubectl, aws, azure, opts, receiverInPath = null) {
|
|
88
102
|
const alreadyInstalled = {};
|
|
89
103
|
const installedComponentsDetail = {};
|
|
90
104
|
for (const app of kubectl.log10xApps) {
|
|
@@ -122,6 +136,7 @@ function deriveRecommendations(kubectl, aws, opts, receiverInPath = null) {
|
|
|
122
136
|
// Estate shape: what did the probes actually see? The advise path branches
|
|
123
137
|
// on this instead of assuming Kubernetes.
|
|
124
138
|
const lambdaFns = aws.lambda?.available ? aws.lambda.functions.length : 0;
|
|
139
|
+
const azureFnApps = azure.available ? azure.functionApps.length : 0;
|
|
125
140
|
let estateShape;
|
|
126
141
|
if (kubectl.available && lambdaFns > 0)
|
|
127
142
|
estateShape = 'mixed';
|
|
@@ -129,6 +144,12 @@ function deriveRecommendations(kubectl, aws, opts, receiverInPath = null) {
|
|
|
129
144
|
estateShape = 'kubernetes';
|
|
130
145
|
else if (lambdaFns > 0)
|
|
131
146
|
estateShape = 'serverless';
|
|
147
|
+
// Azure serverless only when nothing else claimed the estate: a cluster
|
|
148
|
+
// takes the Kubernetes path (AKS included), and Lambda takes the
|
|
149
|
+
// extension path. Function Apps have no process slot, so they get the
|
|
150
|
+
// stream topology.
|
|
151
|
+
else if (azureFnApps > 0)
|
|
152
|
+
estateShape = 'azure_serverless';
|
|
132
153
|
else
|
|
133
154
|
estateShape = 'unknown';
|
|
134
155
|
let serverless;
|
|
@@ -146,6 +167,14 @@ function deriveRecommendations(kubectl, aws, opts, receiverInPath = null) {
|
|
|
146
167
|
existingForwarder = 'otel-collector';
|
|
147
168
|
}
|
|
148
169
|
}
|
|
170
|
+
let azureServerless;
|
|
171
|
+
if (azure.available && (azureFnApps > 0 || azure.containerAppCount > 0)) {
|
|
172
|
+
azureServerless = {
|
|
173
|
+
functionAppCount: azureFnApps,
|
|
174
|
+
containerAppCount: azure.containerAppCount,
|
|
175
|
+
eventHubNamespaceCount: azure.eventHubNamespaces.length,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
149
178
|
// Namespace suggestion: use the hint if given; else if forwarder exists,
|
|
150
179
|
// use that namespace; else fall back to "logging".
|
|
151
180
|
const suggestedNamespace = opts.namespaceHint ??
|
|
@@ -200,6 +229,7 @@ function deriveRecommendations(kubectl, aws, opts, receiverInPath = null) {
|
|
|
200
229
|
existingForwarderNamespace,
|
|
201
230
|
estateShape,
|
|
202
231
|
serverless,
|
|
232
|
+
azureServerless,
|
|
203
233
|
retrieverS3Bucket: retrieverBucket,
|
|
204
234
|
receiverGitopsRepo,
|
|
205
235
|
receiverCompactLookupFile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../src/lib/discovery/orchestrate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAyB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAqB,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../src/lib/discovery/orchestrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -230,6 +230,23 @@ export interface AwsProbes {
|
|
|
230
230
|
* Everything here is a best-effort inference — the advise tools
|
|
231
231
|
* should surface the reasoning, not present these as facts.
|
|
232
232
|
*/
|
|
233
|
+
/**
|
|
234
|
+
* What the `az` CLI could see. `available: false` means az is missing or
|
|
235
|
+
* not logged in — never an error, the advisor just asks by hand.
|
|
236
|
+
*/
|
|
237
|
+
export interface AzureProbes {
|
|
238
|
+
available: boolean;
|
|
239
|
+
error?: string;
|
|
240
|
+
subscriptionId?: string;
|
|
241
|
+
tenantId?: string;
|
|
242
|
+
/** Function Apps with their raw `kind` string (consumption vs container-hosted). */
|
|
243
|
+
functionApps: Array<{
|
|
244
|
+
name: string;
|
|
245
|
+
kind: string;
|
|
246
|
+
}>;
|
|
247
|
+
containerAppCount: number;
|
|
248
|
+
eventHubNamespaces: string[];
|
|
249
|
+
}
|
|
233
250
|
export interface Recommendations {
|
|
234
251
|
suggestedNamespace: string;
|
|
235
252
|
existingForwarder?: ForwarderKind;
|
|
@@ -239,10 +256,11 @@ export interface Recommendations {
|
|
|
239
256
|
* - `kubernetes` — a reachable cluster (with or without AWS facts)
|
|
240
257
|
* - `serverless` — no reachable cluster, Lambda functions present
|
|
241
258
|
* - `mixed` — both a cluster and Lambda functions
|
|
259
|
+
* - `azure_serverless` — no cluster, no Lambda, Azure Function Apps present
|
|
242
260
|
* - `unknown` — neither probe produced a usable signal
|
|
243
261
|
* The advise path branches on this instead of assuming Kubernetes.
|
|
244
262
|
*/
|
|
245
|
-
estateShape?: 'kubernetes' | 'serverless' | 'mixed' | 'unknown';
|
|
263
|
+
estateShape?: 'kubernetes' | 'serverless' | 'azure_serverless' | 'mixed' | 'unknown';
|
|
246
264
|
/** Serverless-estate hints, set when estateShape is serverless or mixed. */
|
|
247
265
|
serverless?: {
|
|
248
266
|
functionCount: number;
|
|
@@ -252,6 +270,12 @@ export interface Recommendations {
|
|
|
252
270
|
/** Log groups with no subscription filter (the auto-coverage gap). */
|
|
253
271
|
logGroupsUnsubscribed: number;
|
|
254
272
|
};
|
|
273
|
+
/** Azure-estate hints, set when the az probe saw a serverless surface. */
|
|
274
|
+
azureServerless?: {
|
|
275
|
+
functionAppCount: number;
|
|
276
|
+
containerAppCount: number;
|
|
277
|
+
eventHubNamespaceCount: number;
|
|
278
|
+
};
|
|
255
279
|
retrieverS3Bucket?: string;
|
|
256
280
|
retrieverSqsUrls?: Partial<Record<'index' | 'query' | 'subquery' | 'stream', string>>;
|
|
257
281
|
alreadyInstalled: Partial<Record<Log10xAppKind, string>>;
|
|
@@ -418,6 +442,8 @@ export interface DiscoverySnapshot {
|
|
|
418
442
|
};
|
|
419
443
|
kubectl: KubectlProbes;
|
|
420
444
|
aws: AwsProbes;
|
|
445
|
+
/** Optional: absent on snapshots taken before the Azure probe existed. */
|
|
446
|
+
azure?: AzureProbes;
|
|
421
447
|
recommendations: Recommendations;
|
|
422
448
|
/** Every shell call we made. Truncated to the last 200 entries. */
|
|
423
449
|
probeLog: ProbeLogEntry[];
|
|
@@ -220,3 +220,33 @@ export interface ServerlessExtensionRecipe {
|
|
|
220
220
|
* killed mid-burst) — the extension bootstrap owns the SHUTDOWN drain
|
|
221
221
|
*/
|
|
222
222
|
export declare function lambdaOtelExtensionRecipe(p: LambdaExtensionParams): ServerlessExtensionRecipe;
|
|
223
|
+
export interface AzureStreamsRecipe {
|
|
224
|
+
/** Azure-side: hub creation + diagnostic settings routing logs into it. */
|
|
225
|
+
hub: OffloadRecipe;
|
|
226
|
+
/** The collector that consumes the hub and pairs with the engine. */
|
|
227
|
+
collector: OffloadRecipe;
|
|
228
|
+
/** The engine's environment + invocation beside that collector. */
|
|
229
|
+
engine: OffloadRecipe;
|
|
230
|
+
/**
|
|
231
|
+
* The apply half of auto-tuning: the engine's gitops pull lane delivers a
|
|
232
|
+
* policy repo's mute file to a stable path (GH_DEST) that
|
|
233
|
+
* rateReceiverLookupFile points into. Cloud-agnostic — the recompute half
|
|
234
|
+
* is setup_recurring (github_actions kind writes the same repo).
|
|
235
|
+
*/
|
|
236
|
+
autotune: OffloadRecipe;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* The stream topology for Azure surfaces that cannot host a second process:
|
|
240
|
+
* the platform streams its logs to an Event Hub, and one central engine
|
|
241
|
+
* consumes the hub behind a collector, using the same loopback pairing as
|
|
242
|
+
* every other topology.
|
|
243
|
+
*
|
|
244
|
+
* The collector settings are CERTIFIED, not inferred: verified end to end
|
|
245
|
+
* against a live Event Hub (Basic tier) with otelcol-contrib 0.158 and
|
|
246
|
+
* engine 1.1.68 — events returned carrying tenx_hash + routeState with
|
|
247
|
+
* distinct pattern identities per message type. The three prerequisites
|
|
248
|
+
* marked "measured" below are failures observed in that run.
|
|
249
|
+
*/
|
|
250
|
+
export declare function azureStreamsRecipe(p?: {
|
|
251
|
+
eventHubNamespace?: string;
|
|
252
|
+
}): AzureStreamsRecipe;
|
|
@@ -1582,4 +1582,151 @@ TENX_LOG_PATH=/tmp/tenx/ # Lambda's fs is read-only outside /t
|
|
|
1582
1582
|
};
|
|
1583
1583
|
return { collector, engine, executionEnvironment };
|
|
1584
1584
|
}
|
|
1585
|
+
/**
|
|
1586
|
+
* The stream topology for Azure surfaces that cannot host a second process:
|
|
1587
|
+
* the platform streams its logs to an Event Hub, and one central engine
|
|
1588
|
+
* consumes the hub behind a collector, using the same loopback pairing as
|
|
1589
|
+
* every other topology.
|
|
1590
|
+
*
|
|
1591
|
+
* The collector settings are CERTIFIED, not inferred: verified end to end
|
|
1592
|
+
* against a live Event Hub (Basic tier) with otelcol-contrib 0.158 and
|
|
1593
|
+
* engine 1.1.68 — events returned carrying tenx_hash + routeState with
|
|
1594
|
+
* distinct pattern identities per message type. The three prerequisites
|
|
1595
|
+
* marked "measured" below are failures observed in that run.
|
|
1596
|
+
*/
|
|
1597
|
+
export function azureStreamsRecipe(p = {}) {
|
|
1598
|
+
const ns = p.eventHubNamespace ?? '<namespace>';
|
|
1599
|
+
const hub = {
|
|
1600
|
+
language: 'text',
|
|
1601
|
+
body: `# One hub receives the platform's logs; diagnostic settings route them.
|
|
1602
|
+
az eventhubs namespace create -g <rg> -n ${ns} -l <region>
|
|
1603
|
+
az eventhubs eventhub create -g <rg> --namespace-name ${ns} -n logs
|
|
1604
|
+
|
|
1605
|
+
# Per resource whose logs should be regulated:
|
|
1606
|
+
az monitor diagnostic-settings create \\
|
|
1607
|
+
--name tenx-stream \\
|
|
1608
|
+
--resource <resource-id> \\
|
|
1609
|
+
--event-hub-rule <auth-rule-id> \\
|
|
1610
|
+
--event-hub logs \\
|
|
1611
|
+
--logs '[{"categoryGroup":"allLogs","enabled":true}]'`,
|
|
1612
|
+
placementNote: 'diagnostic settings are per resource, so each Function App or App ' +
|
|
1613
|
+
'Service that should be regulated gets one. The hub is the fan-in; ' +
|
|
1614
|
+
'the consumer below is the fan-out.',
|
|
1615
|
+
prerequisites: [
|
|
1616
|
+
'Regulation here is destination-side only: the platform has already emitted, transported, and billed these logs before the engine sees them. Prefer a sidecar or the Lambda extension wherever the platform allows a process.',
|
|
1617
|
+
],
|
|
1618
|
+
};
|
|
1619
|
+
const collector = {
|
|
1620
|
+
language: 'yaml',
|
|
1621
|
+
body: `receivers:
|
|
1622
|
+
azure_event_hub:
|
|
1623
|
+
connection: \${env:EVENTHUB_CONNECTION_STRING}
|
|
1624
|
+
group: $Default
|
|
1625
|
+
# 'azure' parses the diagnostic-settings envelope. For application logs
|
|
1626
|
+
# written straight to the hub use 'raw' -- the azure unmarshaler rejects
|
|
1627
|
+
# plain text (measured: "invalid character 'I'").
|
|
1628
|
+
format: azure
|
|
1629
|
+
# Without a checkpoint every restart replays the retention window
|
|
1630
|
+
# (measured: 400 sent, 2,800 delivered across restarts).
|
|
1631
|
+
storage: file_storage
|
|
1632
|
+
|
|
1633
|
+
# Return path from the engine (loopback, same pod)
|
|
1634
|
+
otlp/tenx:
|
|
1635
|
+
protocols:
|
|
1636
|
+
grpc:
|
|
1637
|
+
endpoint: 127.0.0.1:24225
|
|
1638
|
+
|
|
1639
|
+
processors:
|
|
1640
|
+
# Only with format: raw -- the payload arrives as a BYTES body, which the
|
|
1641
|
+
# engine cannot pattern (every event collapses to ONE identity). Decode
|
|
1642
|
+
# restores text; String() is not the fix, it yields base64 (both measured).
|
|
1643
|
+
transform/decode:
|
|
1644
|
+
log_statements:
|
|
1645
|
+
- context: log
|
|
1646
|
+
statements:
|
|
1647
|
+
- set(log.body, Decode(log.body, "utf-8"))
|
|
1648
|
+
|
|
1649
|
+
extensions:
|
|
1650
|
+
file_storage:
|
|
1651
|
+
directory: /var/lib/otelcol/storage
|
|
1652
|
+
|
|
1653
|
+
exporters:
|
|
1654
|
+
# Hand-off to the engine (loopback, same pod)
|
|
1655
|
+
otlp/tenx:
|
|
1656
|
+
endpoint: 127.0.0.1:4317
|
|
1657
|
+
tls:
|
|
1658
|
+
insecure: true
|
|
1659
|
+
|
|
1660
|
+
connectors:
|
|
1661
|
+
routing/tenx:
|
|
1662
|
+
default_pipelines: [logs/tenx-destination]
|
|
1663
|
+
table:
|
|
1664
|
+
# context: log is required -- routeState is a LOG attribute
|
|
1665
|
+
- context: log
|
|
1666
|
+
condition: attributes["routeState"] == "offload"
|
|
1667
|
+
pipelines: [logs/tenx-offload]
|
|
1668
|
+
- context: log
|
|
1669
|
+
condition: attributes["routeState"] == "drop"
|
|
1670
|
+
pipelines: [logs/tenx-drop]`,
|
|
1671
|
+
placementNote: 'the same loopback pairing as the Lambda extension and the sidecar: ' +
|
|
1672
|
+
'collector hands records to the engine on 127.0.0.1:4317 and receives ' +
|
|
1673
|
+
'them back on 127.0.0.1:24225 carrying tenx_hash + routeState.',
|
|
1674
|
+
prerequisites: [
|
|
1675
|
+
"CERTIFIED against a live Event Hub (otelcol-contrib 0.158, engine 1.1.68): events returned with tenx_hash + routeState and distinct pattern identities per message type.",
|
|
1676
|
+
"format must match what the hub carries: 'azure' for diagnostic-settings envelopes, 'raw' for application logs. The azure unmarshaler rejects plain text outright (measured).",
|
|
1677
|
+
"With format: raw, wire transform/decode into the intake pipeline before the engine exporter — a bytes body patterns to a single identity, silently (measured).",
|
|
1678
|
+
'The azure_event_hub receiver is beta in otelcol-contrib.',
|
|
1679
|
+
],
|
|
1680
|
+
};
|
|
1681
|
+
const engine = {
|
|
1682
|
+
language: 'text',
|
|
1683
|
+
body: `# The engine runs beside the collector as peer containers — Azure
|
|
1684
|
+
# Container Apps, AKS, or any container host:
|
|
1685
|
+
tenx @run/input/forwarder/otel-collector @apps/receiver
|
|
1686
|
+
|
|
1687
|
+
TENX_LICENSE_KEY=<your license JWT>
|
|
1688
|
+
TENX_AIRGAPPED=true
|
|
1689
|
+
outputOffload=true
|
|
1690
|
+
symbolMessageHashField=tenx_hash
|
|
1691
|
+
log10xMetricsEnabled=false`,
|
|
1692
|
+
placementNote: 'centralized rather than per-node: size the consumer to the hub, not ' +
|
|
1693
|
+
"the estate. The hub's partition count caps consumer parallelism.",
|
|
1694
|
+
prerequisites: [
|
|
1695
|
+
'Offload fetch-back (the Retriever) is AWS-native today; on Azure the offload slice is write-only. tier_down against Azure Monitor (Basic/Auxiliary tables) is the shipped destination-side lever.',
|
|
1696
|
+
],
|
|
1697
|
+
};
|
|
1698
|
+
const autotune = {
|
|
1699
|
+
language: 'text',
|
|
1700
|
+
body: `# Add to the engine container above -- the gitops pull lane applies a
|
|
1701
|
+
# policy repo's per-pattern mutes and hot-reloads on every push:
|
|
1702
|
+
tenx @run/input/forwarder/otel-collector @apps/receiver @run/receive/rate @gitops
|
|
1703
|
+
|
|
1704
|
+
GH_ENABLED=true
|
|
1705
|
+
GH_TOKEN=<fine-grained PAT, contents:read on the policy repo>
|
|
1706
|
+
GH_REPO=<org>/<policy-repo>
|
|
1707
|
+
GH_BRANCH=main
|
|
1708
|
+
GH_SYNC_INTERVAL=30s
|
|
1709
|
+
GH_DEST=/tmp/policy
|
|
1710
|
+
rateReceiverLookupFile=/tmp/policy/test/mutes.csv
|
|
1711
|
+
rateReceiverFieldNames=message_pattern
|
|
1712
|
+
TENX_AIRGAPPED=false
|
|
1713
|
+
|
|
1714
|
+
# <policy-repo>/test/mutes.csv -- entries are <pattern>,<rate>:<untilEpochSec>:<reason>
|
|
1715
|
+
pattern,disposition
|
|
1716
|
+
noisy_heartbeat_ok,0:4102444800:liveness spam OPS-1234`,
|
|
1717
|
+
placementNote: 'the recompute half is setup_recurring with the github_actions kind: a ' +
|
|
1718
|
+
'scheduled workflow reads the report, rewrites mutes.csv in the same ' +
|
|
1719
|
+
'repo, and the pull lane applies it. No Azure-native scheduler is ' +
|
|
1720
|
+
'involved on either half, so the loop is identical on any container host.',
|
|
1721
|
+
prerequisites: [
|
|
1722
|
+
'Engine 1.1.69 or later. GH_DEST is the load-bearing line: the pull cache lives under a sha-addressed temp path, so without the stable mirror a delivered mute file loads and silently never matches (engine#134, fixed by #135).',
|
|
1723
|
+
'CERTIFIED live on the released 1.1.69 image: a git-pushed mute reached the GH_DEST mirror in 23s and enforced on the next reload pass — checkout drop-marked 36/40 with the documented 10% floor, sibling pattern 40/40 untouched, identical to a local-file control.',
|
|
1724
|
+
'GH_DEST must be writable by the engine user — the shipped container runs as uid 1000, so a root-level path like /policy fails the launch (measured; the error names a temp file, not the permission). /tmp/policy works out of the box.',
|
|
1725
|
+
'rateReceiverLookupFile must be the absolute path inside GH_DEST, mirroring the file’s path in the repo (here: test/mutes.csv).',
|
|
1726
|
+
'A past untilEpochSec is not an error: the entry loads, the log names the file, and nothing is muted. 4102444800 is 2100-01-01, a placeholder.',
|
|
1727
|
+
'The pull lane needs GitHub egress; the certified composition ran TENX_AIRGAPPED=false.',
|
|
1728
|
+
],
|
|
1729
|
+
};
|
|
1730
|
+
return { hub, collector, engine, autotune };
|
|
1731
|
+
}
|
|
1585
1732
|
//# sourceMappingURL=offload-recipes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offload-recipes.js","sourceRoot":"","sources":["../../src/lib/offload-recipes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"offload-recipes.js","sourceRoot":"","sources":["../../src/lib/offload-recipes.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,7 +90,7 @@ Run the dev app on your log files locally to preview how edge and cloud apps wil
|
|
|
90
90
|
-v $TENX_CONFIG:/etc/tenx/config/ \
|
|
91
91
|
-e TENX_CONFIG=/etc/tenx/config/ \
|
|
92
92
|
-e TENX_LICENSE_KEY="$(cat license.jwt)" \
|
|
93
|
-
log10x/pipeline-10x:1.1.
|
|
93
|
+
log10x/pipeline-10x:1.1.68 \
|
|
94
94
|
@apps/dev
|
|
95
95
|
```
|
|
96
96
|
|
|
@@ -105,7 +105,7 @@ Run the dev app on your log files locally to preview how edge and cloud apps wil
|
|
|
105
105
|
```bash
|
|
106
106
|
docker run --rm \
|
|
107
107
|
-e TENX_LICENSE_KEY="$(cat license.jwt)" \
|
|
108
|
-
log10x/pipeline-10x:1.1.
|
|
108
|
+
log10x/pipeline-10x:1.1.68 \
|
|
109
109
|
'@github={"token": "<gh-token>", "repo": "my-user/my-repo"}' \
|
|
110
110
|
@apps/dev
|
|
111
111
|
```
|
|
@@ -186,7 +186,7 @@ Run the dev app on your log files locally to preview how edge and cloud apps wil
|
|
|
186
186
|
=== ":simple-docker: Docker"
|
|
187
187
|
|
|
188
188
|
```bash
|
|
189
|
-
docker rmi log10x/pipeline-10x:1.1.
|
|
189
|
+
docker rmi log10x/pipeline-10x:1.1.68
|
|
190
190
|
```
|
|
191
191
|
|
|
192
192
|
## :material-wrench-outline: Config Files
|
|
@@ -10,6 +10,8 @@ It returns a ranked comparison across Reporter, Receiver, and [Retriever](advise
|
|
|
10
10
|
|
|
11
11
|
On a serverless snapshot (Lambda functions running an OTel collector extension, no reachable cluster) the Kubernetes wizard is skipped entirely: the tool returns the [Extension](../../../../engine/launcher/extension.md) plan, collector splice, engine environment, CDK construct, and the Coralogix TCO policy path.
|
|
12
12
|
|
|
13
|
+
An Azure serverless snapshot (Function Apps, no cluster, no Lambda) returns the [Streams](../../../../install/streams.md) plan instead: Event Hub setup, the certified collector configuration, and the engine environment. Function Apps offer no process slot, so regulation runs centrally.
|
|
14
|
+
|
|
13
15
|
## :material-code-braces: Example
|
|
14
16
|
|
|
15
17
|
!!! tenx-ask "You"
|
|
@@ -267,6 +269,7 @@ A fresh `snapshot_id` from [Discover env](discover-env.md). No Log10x components
|
|
|
267
269
|
mode:
|
|
268
270
|
| 'plan'
|
|
269
271
|
| 'serverless_plan'
|
|
272
|
+
| 'azure_serverless_plan'
|
|
270
273
|
| 'next_question'
|
|
271
274
|
| 'missing_snapshot'
|
|
272
275
|
| 'session_error'
|
|
@@ -309,6 +312,11 @@ A fresh `snapshot_id` from [Discover env](discover-env.md). No Log10x components
|
|
|
309
312
|
functions_with_otel_extension?: number;
|
|
310
313
|
log_groups_unsubscribed?: number;
|
|
311
314
|
|
|
315
|
+
// mode === 'azure_serverless_plan'
|
|
316
|
+
function_app_count?: number;
|
|
317
|
+
container_app_count?: number;
|
|
318
|
+
event_hub_namespace_count?: number;
|
|
319
|
+
|
|
312
320
|
// mode === 'plan', fields below come from AdvisePlanSummary.
|
|
313
321
|
app?: 'reporter' | 'receiver' | 'retriever';
|
|
314
322
|
release_name?: string;
|