Skip to content

Commit 9f5b91e

Browse files
authored
docs: add egress metrics docs to new lgp site (#95)
Fixes DOC-48
1 parent bbbcb18 commit 9f5b91e

File tree

4 files changed

+122
-3
lines changed

4 files changed

+122
-3
lines changed

src/docs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,8 @@
198198
"langgraph-platform/custom-docker",
199199
"langgraph-platform/graph-rebuild",
200200
"langgraph-platform/langgraph-cli",
201-
"langgraph-platform/sdk"
201+
"langgraph-platform/sdk",
202+
"langgraph-platform/egress-metrics-metadata"
202203
]
203204
}
204205
]

src/langgraph-platform/deploy-self-hosted-control-plane.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Before deploying, review the [conceptual guide for the Self-Hosted Control Plane
2424
7. You have slack space in your cluster for multiple deployments. `Cluster-Autoscaler` is recommended to automatically provision new nodes.
2525
8. A valid Dynamic PV provisioner or PVs available on your cluster. You can verify this by running:
2626
kubectl get storageclass
27-
9. Egress to `https://beacon.langchain.com` from your network. This is required for license verification and usage reporting if not running in air-gapped mode. See the [Egress documentation](https://langchain-ai.github.io/langgraph/cloud/deployment/egress/) for more details.
27+
9. Egress to `https://beacon.langchain.com` from your network. This is required for license verification and usage reporting if not running in air-gapped mode. See the [Egress documentation](/langgraph-platform/egress-metrics-metadata) for more details.
2828

2929
## Setup
3030

src/langgraph-platform/deploy-standalone-container.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Before deploying, review the [conceptual guide for the Standalone Container](/la
2626
3. `LANGSMITH_API_KEY`: LangSmith API key.
2727
4. `LANGGRAPH_CLOUD_LICENSE_KEY`: (if using [Enterprise](/langgraph-platform/data-plane#licensing)) LangGraph Platform license key. This will be used to authenticate ONCE at server start up.
2828
5. `LANGSMITH_ENDPOINT`: To send traces to a [self-hosted LangSmith](https://docs.smith.langchain.com/self_hosting) instance, set `LANGSMITH_ENDPOINT` to the hostname of the self-hosted LangSmith instance.
29-
4. Egress to `https://beacon.langchain.com` from your network. This is required for license verification and usage reporting if not running in air-gapped mode. See the [Egress documentation](https://langchain-ai.github.io/langgraph/cloud/deployment/egress/) for more details.
29+
4. Egress to `https://beacon.langchain.com` from your network. This is required for license verification and usage reporting if not running in air-gapped mode. See the [Egress documentation](/langgraph-platform/egress-metrics-metadata) for more details.
3030

3131
<a id="helm"></a>
3232
## Kubernetes
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: Egress for subscription metrics and operational metadata
3+
sidebarTitle: Egress for metrics and metadata
4+
---
5+
6+
<Note> **Important: self-hosted only.** This section only applies to customers who are not running in offline mode and assumes you are using a [self-hosted LangGraph Platform instance](/langgraph-platform/deployment-options). This does not apply to cloud SaaS or hybrid deployments.</Note>
7+
8+
Self-hosted LangGraph Platform instances store all information locally and will never send sensitive information outside of your network. We currently only track platform usage for billing purposes according to the entitlements in your order. To better support our customers remotely, we do require egress to `https://beacon.langchain.com`.
9+
10+
In the future, we will be introducing support diagnostics to help us ensure that the LangGraph Platform is running at an optimal level within your environment.
11+
12+
<Warning>This will require egress to `https://beacon.langchain.com` from your network. If using an API key, you will also need to allow egress to `https://api.smith.langchain.com` or `https://eu.api.smith.langchain.com` for API key verification.</Warning>
13+
14+
Generally, data that we send to Beacon can be categorized as follows:
15+
16+
- **Subscription Metrics**
17+
- Subscription metrics are used to determine level of access and utilization of LangSmith. This includes, but are not limited to:
18+
- Nodes Executed
19+
- Runs Executed
20+
- License Key Verification
21+
- **Operational Metadata**
22+
- This metadata will contain and collect the above subscription metrics to assist with remote support, allowing the LangChain team to diagnose and troubleshoot performance issues more effectively and proactively.
23+
24+
## Example Payloads
25+
26+
In an effort to maximize transparency, we provide sample payloads here:
27+
28+
### License Verification ([Enterprise](/langgraph-platform/plans))
29+
30+
**Endpoint:**
31+
32+
`POST beacon.langchain.com/v1/beacon/verify`
33+
34+
**Request:**
35+
36+
```json
37+
{
38+
"license": "<YOUR_LICENSE_KEY>"
39+
}
40+
```
41+
42+
**Response:**
43+
44+
```json
45+
{
46+
"token": "Valid JWT" // Short-lived JWT token to avoid repeated license checks
47+
}
48+
```
49+
50+
### API key verification ([LangSmith API key](https://smith.langchain.com/))
51+
52+
**Endpoint:**
53+
`POST api.smith.langchain.com/auth`
54+
55+
**Request:**
56+
57+
```json
58+
"Headers": {
59+
X-Api-Key: <YOUR_API_KEY>
60+
}
61+
```
62+
63+
**Response:**
64+
65+
```json
66+
{
67+
"org_config": {
68+
"org_id": "3a1c2b6f-4430-4b92-8a5b-79b8b567bbc1",
69+
... // Additional organization details
70+
}
71+
}
72+
```
73+
74+
### Usage Reporting
75+
76+
**Endpoint:**
77+
78+
`POST beacon.langchain.com/v1/metadata/submit`
79+
80+
**Request:**
81+
82+
```json
83+
{
84+
"license": "<YOUR_LICENSE_KEY>",
85+
"from_timestamp": "2025-01-06T09:00:00Z",
86+
"to_timestamp": "2025-01-06T10:00:00Z",
87+
"tags": {
88+
"langgraph.python.version": "0.1.0",
89+
"langgraph_api.version": "0.2.0",
90+
"langgraph.platform.revision": "abc123",
91+
"langgraph.platform.variant": "standard",
92+
"langgraph.platform.host": "host-1",
93+
"langgraph.platform.tenant_id": "3a1c2b6f-4430-4b92-8a5b-79b8b567bbc1",
94+
"langgraph.platform.project_id": "c5b5f53a-4716-4326-8967-d4f7f7799735",
95+
"langgraph.platform.plan": "enterprise",
96+
"user_app.uses_indexing": "true",
97+
"user_app.uses_custom_app": "false",
98+
"user_app.uses_custom_auth": "true",
99+
"user_app.uses_thread_ttl": "true",
100+
"user_app.uses_store_ttl": "false"
101+
},
102+
"measures": {
103+
"langgraph.platform.runs": 150,
104+
"langgraph.platform.nodes": 450
105+
},
106+
"logs": []
107+
}
108+
```
109+
110+
**Response:**
111+
112+
```json
113+
"204 No Content"
114+
```
115+
116+
## Our Commitment
117+
118+
LangChain will not store any sensitive information in the Subscription Metrics or Operational Metadata. Any data collected will not be shared with a third party. If you have any concerns about the data being sent, please reach out to your account team.

0 commit comments

Comments
 (0)