> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Monitoring Your Orchestrator Setup

> Monitor node health, GPU performance, and earnings with Prometheus and the Livepeer Explorer.

export const CustomCodeBlock = ({filename, icon, language, highlight, codeString = "", placeholderValue = "", wrap = true, lines = true, preNote = "", postNote = "", output = ""}) => {
  if (!codeString || codeString.trim() === "") {
    return null;
  }
  const renderedCode = codeString.replace(/\{PLACEHOLDER\}/g, placeholderValue);
  return <>
      {preNote && <div style={{
    marginBottom: "var(--lp-spacing-2)",
    fontSize: "0.875rem",
    color: "var(--lp-color-text-muted)"
  }}>
          {preNote}
        </div>}
      <CodeBlock filename={filename} icon={icon} language={language} lines highlight={highlight} wrap={wrap} line={lines}>
        {renderedCode}
      </CodeBlock>
      {postNote && <div style={{
    marginTop: "var(--lp-spacing-2)",
    fontSize: "0.875rem",
    color: "var(--lp-color-text-muted)",
    fontStyle: "italic"
  }}>
          {postNote}
        </div>}
      {output?.codeString && <>
          <Expandable title={<span style={{
    fontStyle: "italic",
    fontWeight: "bold"
  }}>
                Expected Output
              </span>}>
            <CodeBlock filename={output.filename || "Output Example"} icon={output.icon || "terminal"} language={output.language || "bash"} highlight={output.highlight} wrap={output.wrap || false} line={output.lines || false}>
              {output.codeString}
            </CodeBlock>
          </Expandable>
          <br />
        </>}
    </>;
};

Operating an Orchestrator means keeping the node online, processing jobs correctly, calling rewards each round, and redeeming tickets. Monitoring helps you spot failures before they cost you income or reputation.

## Built-in metrics

With `-monitor=true`, go-livepeer exposes Prometheus-compatible metrics at:

<CustomCodeBlock codeString={`http://localhost:7935/metrics`} language="text" icon="gauge" />

## What to track

| Layer           | What to monitor                                   |
| --------------- | ------------------------------------------------- |
| **Hardware**    | GPU utilisation, VRAM, temperature (`nvidia-smi`) |
| **Application** | go-livepeer health, segment/job success rate      |
| **Network**     | Latency, packet loss                              |
| **On-chain**    | Bonded stake, Active Set status, reward calls     |
| **Economics**   | ETH fees, LPT rewards                             |

Key metrics include: `livepeer_segment_processed_total`, `livepeer_segment_errors_total`, `livepeer_transcode_latency_seconds`, and (for AI) inference job counts and latency. High error rates reduce selection probability.

<Warning> If you do not call **reward()** every round, you stop earning inflation rewards. Automate reward calls or use a service that does.</Warning>

## Explorer

Use the [Livepeer Explorer](https://explorer.livepeer.org) to check:

* Active Set status
* Bonded and delegated LPT
* Reward calls and fee earnings
* Historical performance

## Prometheus and Grafana

For production, run Prometheus with a scrape config for your node(s), and use or build Grafana dashboards. Add **Node exporter** and **NVIDIA DCGM exporter** for host and GPU metrics.

## See also

<Columns cols={2}>
  <Card title="Install go-livepeer" icon="download" href="/v2/orchestrators/setup/install" arrow />

  <Card title="Rewards and fees" icon="coins" href="/v2/orchestrators/guides/staking-and-rewards/earning-model" arrow />

  <Card title="FAQ" icon="circle-question" href="/v2/orchestrators/resources/reference/faq" arrow />
</Columns>
