mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
3775 lines
140 KiB
HTML
3775 lines
140 KiB
HTML
|
|
<!DOCTYPE HTML>
|
|
<html lang="" >
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<title>Monitoring ยท NATS</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="description" content="">
|
|
<meta name="generator" content="GitBook 3.2.3">
|
|
<meta name="author" content="The NATS Maintainers">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/style.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-toggle-chapters/toggle.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-anchors/plugin.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="HandheldFriendly" content="true"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
|
|
|
|
|
<link rel="next" href="../nats_admin/" />
|
|
|
|
|
|
<link rel="prev" href="logging.html" />
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
|
|
|
</head>
|
|
<body>
|
|
|
|
|
|
<div class="book">
|
|
<div class="book-summary">
|
|
|
|
|
|
<div id="book-search-input" role="search">
|
|
<input type="text" placeholder="Type to search" />
|
|
</div>
|
|
|
|
|
|
<nav role="navigation">
|
|
|
|
|
|
|
|
<ul class="summary">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="chapter " data-level="1.1" data-path="../">
|
|
|
|
<a href="../">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.2" data-path="../whats_new/whats_new_20.html">
|
|
|
|
<a href="../whats_new/whats_new_20.html">
|
|
|
|
|
|
What's New in 2.0
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.3" data-path="../faq.html">
|
|
|
|
<a href="../faq.html">
|
|
|
|
|
|
FAQ
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.4" >
|
|
|
|
<a target="_blank" href="https://nats.io">
|
|
|
|
|
|
nats.io
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Concepts</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="2.1" data-path="../developer/concepts/intro.html">
|
|
|
|
<a href="../developer/concepts/intro.html">
|
|
|
|
|
|
What is NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2" data-path="../developer/concepts/subjects.html">
|
|
|
|
<a href="../developer/concepts/subjects.html">
|
|
|
|
|
|
Subject-Based Messaging
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3" data-path="../developer/concepts/pubsub.html">
|
|
|
|
<a href="../developer/concepts/pubsub.html">
|
|
|
|
|
|
Publish-Subscribe
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4" data-path="../developer/concepts/reqreply.html">
|
|
|
|
<a href="../developer/concepts/reqreply.html">
|
|
|
|
|
|
Request-Reply
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5" data-path="../developer/concepts/queue.html">
|
|
|
|
<a href="../developer/concepts/queue.html">
|
|
|
|
|
|
Queue Groups
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6" data-path="../developer/concepts/acks.html">
|
|
|
|
<a href="../developer/concepts/acks.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.7" data-path="../developer/concepts/seq_num.html">
|
|
|
|
<a href="../developer/concepts/seq_num.html">
|
|
|
|
|
|
Sequence Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Developing With NATS</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="3.1" data-path="../developer/">
|
|
|
|
<a href="../developer/">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2" data-path="../developer/connecting/intro.html">
|
|
|
|
<a href="../developer/connecting/intro.html">
|
|
|
|
|
|
Connecting
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.2.1" data-path="../developer/connecting/default_server.html">
|
|
|
|
<a href="../developer/connecting/default_server.html">
|
|
|
|
|
|
Connecting to the Default Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.2" data-path="../developer/connecting/specific_server.html">
|
|
|
|
<a href="../developer/connecting/specific_server.html">
|
|
|
|
|
|
Connecting to a Specific Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.3" data-path="../developer/connecting/cluster.html">
|
|
|
|
<a href="../developer/connecting/cluster.html">
|
|
|
|
|
|
Connecting to a Cluster
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.4" data-path="../developer/connecting/connect_timeout.html">
|
|
|
|
<a href="../developer/connecting/connect_timeout.html">
|
|
|
|
|
|
Setting a Connect Timeout
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.5" data-path="../developer/connecting/pingpong.html">
|
|
|
|
<a href="../developer/connecting/pingpong.html">
|
|
|
|
|
|
Ping/Pong Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.6" data-path="../developer/connecting/protocol.html">
|
|
|
|
<a href="../developer/connecting/protocol.html">
|
|
|
|
|
|
Controlling the Client/Server Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.7" data-path="../developer/connecting/noecho.html">
|
|
|
|
<a href="../developer/connecting/noecho.html">
|
|
|
|
|
|
Turning Off Echo'd Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3" data-path="../developer/reconnect/intro.html">
|
|
|
|
<a href="../developer/reconnect/intro.html">
|
|
|
|
|
|
Automatic Reconnections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.3.1" data-path="../developer/reconnect/disable.html">
|
|
|
|
<a href="../developer/reconnect/disable.html">
|
|
|
|
|
|
Disabling Reconnect
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.2" data-path="../developer/reconnect/max.html">
|
|
|
|
<a href="../developer/reconnect/max.html">
|
|
|
|
|
|
Set the Number of Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.3" data-path="../developer/reconnect/wait.html">
|
|
|
|
<a href="../developer/reconnect/wait.html">
|
|
|
|
|
|
Pausing Between Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.4" data-path="../developer/reconnect/random.html">
|
|
|
|
<a href="../developer/reconnect/random.html">
|
|
|
|
|
|
Avoiding the Thundering Herd
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.5" data-path="../developer/reconnect/events.html">
|
|
|
|
<a href="../developer/reconnect/events.html">
|
|
|
|
|
|
Listening for Reconnect Events
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.6" data-path="../developer/reconnect/buffer.html">
|
|
|
|
<a href="../developer/reconnect/buffer.html">
|
|
|
|
|
|
Buffering Messages During Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4" data-path="../developer/security/intro.html">
|
|
|
|
<a href="../developer/security/intro.html">
|
|
|
|
|
|
Securing Connections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.4.1" data-path="../developer/security/userpass.html">
|
|
|
|
<a href="../developer/security/userpass.html">
|
|
|
|
|
|
Authenticating with a User and Password
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.2" data-path="../developer/security/token.html">
|
|
|
|
<a href="../developer/security/token.html">
|
|
|
|
|
|
Authenticating with a Token
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.3" data-path="../developer/security/nkey.html">
|
|
|
|
<a href="../developer/security/nkey.html">
|
|
|
|
|
|
Authenticating with an NKey
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.4" data-path="../developer/security/creds.html">
|
|
|
|
<a href="../developer/security/creds.html">
|
|
|
|
|
|
Authenticating with a Credentials File
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.5" data-path="../developer/security/tls.html">
|
|
|
|
<a href="../developer/security/tls.html">
|
|
|
|
|
|
Encrypting Connections with TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5" data-path="../developer/receiving/intro.html">
|
|
|
|
<a href="../developer/receiving/intro.html">
|
|
|
|
|
|
Receiving Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.5.1" data-path="../developer/receiving/sync.html">
|
|
|
|
<a href="../developer/receiving/sync.html">
|
|
|
|
|
|
Synchronous Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.2" data-path="../developer/receiving/async.html">
|
|
|
|
<a href="../developer/receiving/async.html">
|
|
|
|
|
|
Asynchronous Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.3" data-path="../developer/receiving/unsubscribing.html">
|
|
|
|
<a href="../developer/receiving/unsubscribing.html">
|
|
|
|
|
|
Unsubscribing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.4" data-path="../developer/receiving/unsub_after.html">
|
|
|
|
<a href="../developer/receiving/unsub_after.html">
|
|
|
|
|
|
Unsubscribing After N Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.5" data-path="../developer/receiving/reply.html">
|
|
|
|
<a href="../developer/receiving/reply.html">
|
|
|
|
|
|
Replying to a Message
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.6" data-path="../developer/receiving/wildcards.html">
|
|
|
|
<a href="../developer/receiving/wildcards.html">
|
|
|
|
|
|
Wildcard Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.7" data-path="../developer/receiving/queues.html">
|
|
|
|
<a href="../developer/receiving/queues.html">
|
|
|
|
|
|
Queue Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.8" data-path="../developer/receiving/drain.html">
|
|
|
|
<a href="../developer/receiving/drain.html">
|
|
|
|
|
|
Draining Messages Before Disconnect
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.9" data-path="../developer/receiving/structure.html">
|
|
|
|
<a href="../developer/receiving/structure.html">
|
|
|
|
|
|
Structured Data
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6" data-path="../developer/sending/intro.html">
|
|
|
|
<a href="../developer/sending/intro.html">
|
|
|
|
|
|
Sending Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.6.1" data-path="../developer/sending/replyto.html">
|
|
|
|
<a href="../developer/sending/replyto.html">
|
|
|
|
|
|
Including a Reply Subject
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.2" data-path="../developer/sending/request_reply.html">
|
|
|
|
<a href="../developer/sending/request_reply.html">
|
|
|
|
|
|
Request-Reply Semantics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.3" data-path="../developer/sending/caches.html">
|
|
|
|
<a href="../developer/sending/caches.html">
|
|
|
|
|
|
Caches, Flush and Ping
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.4" data-path="../developer/sending/structure.html">
|
|
|
|
<a href="../developer/sending/structure.html">
|
|
|
|
|
|
Sending Structured Data
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.7" data-path="../developer/events/intro.html">
|
|
|
|
<a href="../developer/events/intro.html">
|
|
|
|
|
|
Monitoring the Connection
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.7.1" data-path="../developer/events/events.html">
|
|
|
|
<a href="../developer/events/events.html">
|
|
|
|
|
|
Listen for Connection Events
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.7.2" data-path="../developer/events/slow.html">
|
|
|
|
<a href="../developer/events/slow.html">
|
|
|
|
|
|
Slow Consumers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8" data-path="../developer/tutorials/intro.html">
|
|
|
|
<a href="../developer/tutorials/intro.html">
|
|
|
|
|
|
Tutorials
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.8.1" data-path="../developer/tutorials/pubsub.html">
|
|
|
|
<a href="../developer/tutorials/pubsub.html">
|
|
|
|
|
|
Explore NATS Pub/Sub
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.2" data-path="../developer/tutorials/reqreply.html">
|
|
|
|
<a href="../developer/tutorials/reqreply.html">
|
|
|
|
|
|
Explore NATS Request/Reply
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.3" data-path="../developer/tutorials/queues.html">
|
|
|
|
<a href="../developer/tutorials/queues.html">
|
|
|
|
|
|
Explore NATS Queueing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.4" data-path="../developer/tutorials/custom_dialer.html">
|
|
|
|
<a href="../developer/tutorials/custom_dialer.html">
|
|
|
|
|
|
Advanced Connect and Custom Dialer in Go
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Server</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="4.1" data-path="installation.html">
|
|
|
|
<a href="installation.html">
|
|
|
|
|
|
Installing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.2" data-path="running.html">
|
|
|
|
<a href="running.html">
|
|
|
|
|
|
Running
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.2.1" data-path="windows_srv.html">
|
|
|
|
<a href="windows_srv.html">
|
|
|
|
|
|
Window Service
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.3" data-path="clients.html">
|
|
|
|
<a href="clients.html">
|
|
|
|
|
|
Clients
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.4" data-path="flags.html">
|
|
|
|
<a href="flags.html">
|
|
|
|
|
|
Flags
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5" data-path="configuration.html">
|
|
|
|
<a href="configuration.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1" data-path="securing_nats.html">
|
|
|
|
<a href="securing_nats.html">
|
|
|
|
|
|
Securing NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1.1" data-path="tls.html">
|
|
|
|
<a href="tls.html">
|
|
|
|
|
|
Enabling TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2" data-path="auth_intro.html">
|
|
|
|
<a href="auth_intro.html">
|
|
|
|
|
|
Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1.2.1" data-path="tokens.html">
|
|
|
|
<a href="tokens.html">
|
|
|
|
|
|
Tokens
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.2" data-path="username_password.html">
|
|
|
|
<a href="username_password.html">
|
|
|
|
|
|
Username/Password
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.3" data-path="tls_mutual_auth.html">
|
|
|
|
<a href="tls_mutual_auth.html">
|
|
|
|
|
|
TLS Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.4" data-path="nkey_auth.html">
|
|
|
|
<a href="nkey_auth.html">
|
|
|
|
|
|
NKeys
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.5" data-path="accounts.html">
|
|
|
|
<a href="accounts.html">
|
|
|
|
|
|
Accounts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.6" data-path="jwt_auth.html">
|
|
|
|
<a href="jwt_auth.html">
|
|
|
|
|
|
JWTs
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.7" data-path="auth_timeout.html">
|
|
|
|
<a href="auth_timeout.html">
|
|
|
|
|
|
Authentication Timeout
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.3" data-path="authorization.html">
|
|
|
|
<a href="authorization.html">
|
|
|
|
|
|
Authorization
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.2" data-path="clustering.html">
|
|
|
|
<a href="clustering.html">
|
|
|
|
|
|
Clustering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.2.1" data-path="cluster_config.html">
|
|
|
|
<a href="cluster_config.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.2.2" data-path="cluster_tls.html">
|
|
|
|
<a href="cluster_tls.html">
|
|
|
|
|
|
TLS Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.3" data-path="../gateways/">
|
|
|
|
<a href="../gateways/">
|
|
|
|
|
|
Gateways
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.3.1" data-path="../gateways/gateway.html">
|
|
|
|
<a href="../gateways/gateway.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.4" data-path="../leafnodes/">
|
|
|
|
<a href="../leafnodes/">
|
|
|
|
|
|
Leaf Nodes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.4.1" data-path="../leafnodes/leafnode_conf.html">
|
|
|
|
<a href="../leafnodes/leafnode_conf.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.5" data-path="logging.html">
|
|
|
|
<a href="logging.html">
|
|
|
|
|
|
Logging
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter active" data-level="4.5.6" data-path="monitoring.html">
|
|
|
|
<a href="monitoring.html">
|
|
|
|
|
|
Monitoring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6" data-path="../nats_admin/">
|
|
|
|
<a href="../nats_admin/">
|
|
|
|
|
|
Managing A NATS Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.6.1" data-path="../nats_admin/upgrading_cluster.html">
|
|
|
|
<a href="../nats_admin/upgrading_cluster.html">
|
|
|
|
|
|
Upgrading a Cluster
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.2" data-path="../nats_admin/slow_consumers.html">
|
|
|
|
<a href="../nats_admin/slow_consumers.html">
|
|
|
|
|
|
Slow Consumers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.3" data-path="../nats_admin/signals.html">
|
|
|
|
<a href="../nats_admin/signals.html">
|
|
|
|
|
|
Signals
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.4" data-path="../sys_accounts/">
|
|
|
|
<a href="../sys_accounts/">
|
|
|
|
|
|
System Accounts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.6.4.1" data-path="../sys_accounts/sys_accounts.html">
|
|
|
|
<a href="../sys_accounts/sys_accounts.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.7" data-path="../nats_docker/">
|
|
|
|
<a href="../nats_docker/">
|
|
|
|
|
|
NATS and Docker
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.7.1" data-path="../nats_docker/nats-docker-tutorial.html">
|
|
|
|
<a href="../nats_docker/nats-docker-tutorial.html">
|
|
|
|
|
|
Tutorial
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.7.2" data-path="../nats_docker/docker_swarm.html">
|
|
|
|
<a href="../nats_docker/docker_swarm.html">
|
|
|
|
|
|
Docker Swarm
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Tools</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="5.1" data-path="../nats_tools/mkpasswd.html">
|
|
|
|
<a href="../nats_tools/mkpasswd.html">
|
|
|
|
|
|
mkpasswd
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.2" data-path="../nats_tools/nk.html">
|
|
|
|
<a href="../nats_tools/nk.html">
|
|
|
|
|
|
nk
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3" data-path="../nats_tools/nsc/">
|
|
|
|
<a href="../nats_tools/nsc/">
|
|
|
|
|
|
nsc
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.3.1" data-path="../nats_tools/nsc/nsc.html">
|
|
|
|
<a href="../nats_tools/nsc/nsc.html">
|
|
|
|
|
|
Basics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.2" data-path="../nats_tools/nsc/streams.html">
|
|
|
|
<a href="../nats_tools/nsc/streams.html">
|
|
|
|
|
|
Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.3" data-path="../nats_tools/nsc/services.html">
|
|
|
|
<a href="../nats_tools/nsc/services.html">
|
|
|
|
|
|
Services
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.4" data-path="../nats_tools/nsc/signing_keys.html">
|
|
|
|
<a href="../nats_tools/nsc/signing_keys.html">
|
|
|
|
|
|
Signing Keys
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.5" data-path="../nats_tools/nsc/revocation.html">
|
|
|
|
<a href="../nats_tools/nsc/revocation.html">
|
|
|
|
|
|
Revocation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.6" data-path="../nats_tools/nsc/managed.html">
|
|
|
|
<a href="../nats_tools/nsc/managed.html">
|
|
|
|
|
|
Managed Operators
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4" data-path="../nats_tools/nas/">
|
|
|
|
<a href="../nats_tools/nas/">
|
|
|
|
|
|
nats-account-server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.4.1" data-path="../nats_tools/nas/nas_conf.html">
|
|
|
|
<a href="../nats_tools/nas/nas_conf.html">
|
|
|
|
|
|
Basics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.2" data-path="../nats_tools/nas/inspecting_jwts.html">
|
|
|
|
<a href="../nats_tools/nas/inspecting_jwts.html">
|
|
|
|
|
|
Inspecting JWTs
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.3" data-path="../nats_tools/nas/dir_store.html">
|
|
|
|
<a href="../nats_tools/nas/dir_store.html">
|
|
|
|
|
|
Directory Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.4" data-path="../nats_tools/nas/notifications.html">
|
|
|
|
<a href="../nats_tools/nas/notifications.html">
|
|
|
|
|
|
Update Notifications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.5" data-path="../nats_tools/nas/mem_resolver.html">
|
|
|
|
<a href="../nats_tools/nas/mem_resolver.html">
|
|
|
|
|
|
Memory Resolver
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.5" data-path="../nats_tools/nats_top/">
|
|
|
|
<a href="../nats_tools/nats_top/">
|
|
|
|
|
|
nats-top
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.5.1" data-path="../nats_tools/nats_top/nats-top-tutorial.html">
|
|
|
|
<a href="../nats_tools/nats_top/nats-top-tutorial.html">
|
|
|
|
|
|
Tutorial
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.6" data-path="../nats_tools/natsbench.html">
|
|
|
|
<a href="../nats_tools/natsbench.html">
|
|
|
|
|
|
nats-bench
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Streaming Concepts</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="6.1" data-path="../nats_streaming/intro.html">
|
|
|
|
<a href="../nats_streaming/intro.html">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.2" data-path="../nats_streaming/relation-to-nats.html">
|
|
|
|
<a href="../nats_streaming/relation-to-nats.html">
|
|
|
|
|
|
Relation to NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.3" data-path="../nats_streaming/client-connections.html">
|
|
|
|
<a href="../nats_streaming/client-connections.html">
|
|
|
|
|
|
Client Connections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4" data-path="../nats_streaming/channels/channels.html">
|
|
|
|
<a href="../nats_streaming/channels/channels.html">
|
|
|
|
|
|
Channels
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.4.1" data-path="../nats_streaming/channels/message-log.html">
|
|
|
|
<a href="../nats_streaming/channels/message-log.html">
|
|
|
|
|
|
Message Log
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2" data-path="../nats_streaming/channels/subscriptions/subscriptions.html">
|
|
|
|
<a href="../nats_streaming/channels/subscriptions/subscriptions.html">
|
|
|
|
|
|
Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.4.2.1" data-path="../nats_streaming/channels/subscriptions/regular.html">
|
|
|
|
<a href="../nats_streaming/channels/subscriptions/regular.html">
|
|
|
|
|
|
Regular
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.2" data-path="../nats_streaming/channels/subscriptions/durable.html">
|
|
|
|
<a href="../nats_streaming/channels/subscriptions/durable.html">
|
|
|
|
|
|
Durable
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.3" data-path="../nats_streaming/channels/subscriptions/queue-group.html">
|
|
|
|
<a href="../nats_streaming/channels/subscriptions/queue-group.html">
|
|
|
|
|
|
Queue Group
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.4" data-path="../nats_streaming/channels/subscriptions/redelivery.html">
|
|
|
|
<a href="../nats_streaming/channels/subscriptions/redelivery.html">
|
|
|
|
|
|
Redelivery
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.5" data-path="../nats_streaming/store-interface.html">
|
|
|
|
<a href="../nats_streaming/store-interface.html">
|
|
|
|
|
|
Store Interface
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.6" data-path="../nats_streaming/store-encryption.html">
|
|
|
|
<a href="../nats_streaming/store-encryption.html">
|
|
|
|
|
|
Store Encryption
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7" data-path="../nats_streaming/clustering/clustering.html">
|
|
|
|
<a href="../nats_streaming/clustering/clustering.html">
|
|
|
|
|
|
Clustering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.7.1" data-path="../nats_streaming/clustering/supported-stores.html">
|
|
|
|
<a href="../nats_streaming/clustering/supported-stores.html">
|
|
|
|
|
|
Supported Stores
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.2" data-path="../nats_streaming/clustering/configuration.html">
|
|
|
|
<a href="../nats_streaming/clustering/configuration.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.3" data-path="../nats_streaming/clustering/auto-configuration.html">
|
|
|
|
<a href="../nats_streaming/clustering/auto-configuration.html">
|
|
|
|
|
|
Auto Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.4" data-path="../nats_streaming/clustering/containers.html">
|
|
|
|
<a href="../nats_streaming/clustering/containers.html">
|
|
|
|
|
|
Containers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8" data-path="../nats_streaming/fault-tolerance/ft.html">
|
|
|
|
<a href="../nats_streaming/fault-tolerance/ft.html">
|
|
|
|
|
|
Fault Tolerance
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.8.1" data-path="../nats_streaming/fault-tolerance/active-server.html">
|
|
|
|
<a href="../nats_streaming/fault-tolerance/active-server.html">
|
|
|
|
|
|
Active Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.2" data-path="../nats_streaming/fault-tolerance/standby-server.html">
|
|
|
|
<a href="../nats_streaming/fault-tolerance/standby-server.html">
|
|
|
|
|
|
Standby Servers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.3" data-path="../nats_streaming/fault-tolerance/shared-state.html">
|
|
|
|
<a href="../nats_streaming/fault-tolerance/shared-state.html">
|
|
|
|
|
|
Shared State
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.4" data-path="../nats_streaming/fault-tolerance/failover.html">
|
|
|
|
<a href="../nats_streaming/fault-tolerance/failover.html">
|
|
|
|
|
|
Failover
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.9" data-path="../nats_streaming/partitioning.html">
|
|
|
|
<a href="../nats_streaming/partitioning.html">
|
|
|
|
|
|
Partitioning
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.10" data-path="../nats_streaming/monitoring/monitoring.html">
|
|
|
|
<a href="../nats_streaming/monitoring/monitoring.html">
|
|
|
|
|
|
Monitoring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.10.1" data-path="../nats_streaming/monitoring/endpoints.html">
|
|
|
|
<a href="../nats_streaming/monitoring/endpoints.html">
|
|
|
|
|
|
Endpoints
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Developing With NATS Streaming</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="7.1" data-path="../developer/streaming/">
|
|
|
|
<a href="../developer/streaming/">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.2" data-path="../developer/streaming/connecting.html">
|
|
|
|
<a href="../developer/streaming/connecting.html">
|
|
|
|
|
|
Connecting to NATS Streaming
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.3" data-path="../developer/streaming/publishing.html">
|
|
|
|
<a href="../developer/streaming/publishing.html">
|
|
|
|
|
|
Publishing to a Channel
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.4" data-path="../developer/streaming/receiving.html">
|
|
|
|
<a href="../developer/streaming/receiving.html">
|
|
|
|
|
|
Receiving Messages from a Channel
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.5" data-path="../developer/streaming/durables.html">
|
|
|
|
<a href="../developer/streaming/durables.html">
|
|
|
|
|
|
Durable Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.6" data-path="../developer/streaming/queues.html">
|
|
|
|
<a href="../developer/streaming/queues.html">
|
|
|
|
|
|
Queue Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.7" data-path="../developer/streaming/acks.html">
|
|
|
|
<a href="../developer/streaming/acks.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.8" data-path="../developer/streaming/protocol.html">
|
|
|
|
<a href="../developer/streaming/protocol.html">
|
|
|
|
|
|
The Streaming Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Streaming Server</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="8.1" data-path="../nats_streaming/gettingstarted/changes.html">
|
|
|
|
<a href="../nats_streaming/gettingstarted/changes.html">
|
|
|
|
|
|
Important Changes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.2" data-path="../nats_streaming/gettingstarted/install.html">
|
|
|
|
<a href="../nats_streaming/gettingstarted/install.html">
|
|
|
|
|
|
Installing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.3" data-path="../nats_streaming/gettingstarted/run.html">
|
|
|
|
<a href="../nats_streaming/gettingstarted/run.html">
|
|
|
|
|
|
Running
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4" data-path="../nats_streaming/configuring/configuring.html">
|
|
|
|
<a href="../nats_streaming/configuring/configuring.html">
|
|
|
|
|
|
Configuring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.1" data-path="../nats_streaming/configuring/cmdline.html">
|
|
|
|
<a href="../nats_streaming/configuring/cmdline.html">
|
|
|
|
|
|
Command line arguments
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.2" data-path="../nats_streaming/configuring/cfgfile.html">
|
|
|
|
<a href="../nats_streaming/configuring/cfgfile.html">
|
|
|
|
|
|
Configuration file
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.3" data-path="../nats_streaming/configuring/storelimits.html">
|
|
|
|
<a href="../nats_streaming/configuring/storelimits.html">
|
|
|
|
|
|
Store Limits
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.3.1" data-path="../nats_streaming/configuring/storelimits.html">
|
|
|
|
<a href="../nats_streaming/configuring/storelimits.html#limits-inheritance">
|
|
|
|
|
|
Limits inheritance
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4" data-path="../nats_streaming/configuring/persistence.html">
|
|
|
|
<a href="../nats_streaming/configuring/persistence.html">
|
|
|
|
|
|
Persistence
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.1" data-path="../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../nats_streaming/configuring/filestore.html">
|
|
|
|
|
|
File Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.1.1" data-path="../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../nats_streaming/configuring/filestore.html#options">
|
|
|
|
|
|
Options
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.1.2" data-path="../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../nats_streaming/configuring/filestore.html#recovery-errors">
|
|
|
|
|
|
Recovery Errors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.2" data-path="../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../nats_streaming/configuring/sqlstore.html">
|
|
|
|
|
|
SQL Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.2.1" data-path="../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../nats_streaming/configuring/sqlstore.html#read-and-write-timeouts">
|
|
|
|
|
|
Read and Write Timeouts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.2.2" data-path="../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../nats_streaming/configuring/sqlstore.html#options">
|
|
|
|
|
|
Options
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.5" data-path="../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../nats_streaming/configuring/tls.html">
|
|
|
|
|
|
Securing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.5.1" data-path="../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../nats_streaming/configuring/tls.html#authenticating-users">
|
|
|
|
|
|
Authenticating Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.5.2" data-path="../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../nats_streaming/configuring/tls.html#using-tls">
|
|
|
|
|
|
TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.5" data-path="../nats_streaming/gettingstarted/process-signaling.html">
|
|
|
|
<a href="../nats_streaming/gettingstarted/process-signaling.html">
|
|
|
|
|
|
Process Signaling
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.6" data-path="../nats_streaming/gettingstarted/windows-service.html">
|
|
|
|
<a href="../nats_streaming/gettingstarted/windows-service.html">
|
|
|
|
|
|
Windows Service
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.7" data-path="../developer/streaming/embedding.html">
|
|
|
|
<a href="../developer/streaming/embedding.html">
|
|
|
|
|
|
Embedding NATS Streaming Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.8" data-path="../nats_streaming/swarm.html">
|
|
|
|
<a href="../nats_streaming/swarm.html">
|
|
|
|
|
|
Docker Swarm
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Protocol</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="9.1" data-path="../nats_protocol/nats-protocol-demo.html">
|
|
|
|
<a href="../nats_protocol/nats-protocol-demo.html">
|
|
|
|
|
|
Protocol Demo
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="9.2" data-path="../nats_protocol/nats-protocol.html">
|
|
|
|
<a href="../nats_protocol/nats-protocol.html">
|
|
|
|
|
|
Client Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="9.2.1" data-path="../nats_protocol/nats-client-dev.html">
|
|
|
|
<a href="../nats_protocol/nats-client-dev.html">
|
|
|
|
|
|
Developing a Client
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="9.3" data-path="../nats_protocol/nats-server-protocol.html">
|
|
|
|
<a href="../nats_protocol/nats-server-protocol.html">
|
|
|
|
|
|
NATS Cluster Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="divider"></li>
|
|
|
|
<li>
|
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
Published with GitBook
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="book-body">
|
|
|
|
<div class="body-inner">
|
|
|
|
|
|
|
|
<div class="book-header" role="navigation">
|
|
|
|
|
|
<!-- Title -->
|
|
<h1>
|
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
<a href=".." >Monitoring</a>
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|
<div class="page-inner">
|
|
|
|
<div id="book-search-results">
|
|
<div class="search-noresults">
|
|
|
|
<section class="normal markdown-section">
|
|
|
|
<h2 id="monitoring-nats"><a name="monitoring-nats" class="plugin-anchor" href="#monitoring-nats"><i class="fa fa-link" aria-hidden="true"></i></a>Monitoring NATS</h2>
|
|
<p>To monitor the NATS messaging system, <code>nats-server</code> provides a lightweight HTTP server on a dedicated monitoring port.
|
|
The monitoring server provides several endpoints, providing statistics and other information about the following:</p>
|
|
<ul>
|
|
<li><a href="#general-information">General Server Information</a></li>
|
|
<li><a href="#connection-information">Connections</a></li>
|
|
<li><a href="#route-information">Routing</a></li>
|
|
<li><a href="#gateway-information">Gateways</a></li>
|
|
<li><a href="#leaf-nodes-information">Leaf Nodes</a></li>
|
|
<li><a href="#subscription-routing-information">Subscription Routing</a></li>
|
|
</ul>
|
|
<p>All endpoints return a JSON object.</p>
|
|
<p>The NATS monitoring endpoints support JSONP and CORS, making it easy to create single page monitoring web applications.</p>
|
|
<h3 id="enabling-monitoring-from-the-command-line"><a name="enabling-monitoring-from-the-command-line" class="plugin-anchor" href="#enabling-monitoring-from-the-command-line"><i class="fa fa-link" aria-hidden="true"></i></a>Enabling monitoring from the command line</h3>
|
|
<p>To enable the monitoring server, start the NATS server with the monitoring flag <code>-m</code> and the monitoring port, or turn it on in the <a href="configuration.html#configuration-properties">configuration file</a>.</p>
|
|
<pre class="language-"><code>-m, --http_port PORT HTTP PORT for monitoring
|
|
-ms,--https_port PORT Use HTTPS PORT for monitoring
|
|
</code></pre><p>Example:</p>
|
|
<pre class="language-"><code class="lang-sh">$ nats-server -m <span class="token number">8222</span>
|
|
<span class="token punctuation">[</span><span class="token number">4528</span><span class="token punctuation">]</span> <span class="token number">2019</span>/06/01 <span class="token number">20</span>:09:58.572939 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting nats-server version <span class="token number">2.0</span>.0
|
|
<span class="token punctuation">[</span><span class="token number">4528</span><span class="token punctuation">]</span> <span class="token number">2019</span>/06/01 <span class="token number">20</span>:09:58.573007 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting http monitor on port <span class="token number">8222</span>
|
|
<span class="token punctuation">[</span><span class="token number">4528</span><span class="token punctuation">]</span> <span class="token number">2019</span>/06/01 <span class="token number">20</span>:09:58.573071 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Listening <span class="token keyword">for</span> client connections on <span class="token number">0.0</span>.0.0:4222
|
|
<span class="token punctuation">[</span><span class="token number">4528</span><span class="token punctuation">]</span> <span class="token number">2019</span>/06/01 <span class="token number">20</span>:09:58.573090 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> nats-server is ready<span class="token operator"><</span>/td<span class="token operator">></span>
|
|
</code></pre>
|
|
<p>To test, run <code>nats-server -m 8222</code>, then go to <a href="http://demo.nats.io:8222/" target="_blank">http://demo.nats.io:8222/</a></p>
|
|
<h3 id="enable-monitoring-from-the-configuration-file"><a name="enable-monitoring-from-the-configuration-file" class="plugin-anchor" href="#enable-monitoring-from-the-configuration-file"><i class="fa fa-link" aria-hidden="true"></i></a>Enable monitoring from the configuration file</h3>
|
|
<p>You can also enable monitoring using the configuration file as follows:</p>
|
|
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">http_port</span><span class="token punctuation">:</span> <span class="token number">8222</span>
|
|
</code></pre>
|
|
<p>For example, to monitor this server locally, the endpoint would be <a href="http://demo.nats.io:8222/varz" target="_blank">http://demo.nats.io:8222/varz</a> reports various general statistics.</p>
|
|
<h2 id="monitoring-endpoints"><a name="monitoring-endpoints" class="plugin-anchor" href="#monitoring-endpoints"><i class="fa fa-link" aria-hidden="true"></i></a>Monitoring endpoints</h2>
|
|
<p>The following sections describe each supported monitoring endpoint: <code>varz</code>, <code>connz</code>, <code>routez</code>, <code>subsz</code>, and <code>gatewayz</code>.
|
|
There are not any required arguments, however use of arguments can let you tailor monitoring to your environment
|
|
and tooling.</p>
|
|
<h3 id="general-information"><a name="general-information" class="plugin-anchor" href="#general-information"><i class="fa fa-link" aria-hidden="true"></i></a>General Information</h3>
|
|
<p>The <code>/varz</code> endpoint returns general information about the server state and configuration.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/varz</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<p>N/A</p>
|
|
<h4 id="example"><a name="example" class="plugin-anchor" href="#example"><i class="fa fa-link" aria-hidden="true"></i></a>Example</h4>
|
|
<p><a href="http://demo.nats.io:8222/varz" target="_blank">http://demo.nats.io:8222/varz</a></p>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"server_id"</span><span class="token operator">:</span> <span class="token string">"NACDVKFBUW4C4XA24OOT6L4MDP56MW76J5RJDFXG7HLABSB46DCMWCOW"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"2.0.0"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"proto"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"go"</span><span class="token operator">:</span> <span class="token string">"go1.12"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"host"</span><span class="token operator">:</span> <span class="token string">"0.0.0.0"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">4222</span><span class="token punctuation">,</span>
|
|
<span class="token property">"max_connections"</span><span class="token operator">:</span> <span class="token number">65536</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ping_interval"</span><span class="token operator">:</span> <span class="token number">120000000000</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ping_max"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"http_host"</span><span class="token operator">:</span> <span class="token string">"0.0.0.0"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"http_port"</span><span class="token operator">:</span> <span class="token number">8222</span><span class="token punctuation">,</span>
|
|
<span class="token property">"https_port"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"auth_timeout"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"max_control_line"</span><span class="token operator">:</span> <span class="token number">4096</span><span class="token punctuation">,</span>
|
|
<span class="token property">"max_payload"</span><span class="token operator">:</span> <span class="token number">1048576</span><span class="token punctuation">,</span>
|
|
<span class="token property">"max_pending"</span><span class="token operator">:</span> <span class="token number">67108864</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cluster"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"gateway"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"leaf"</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"tls_timeout"</span><span class="token operator">:</span> <span class="token number">0.5</span><span class="token punctuation">,</span>
|
|
<span class="token property">"write_deadline"</span><span class="token operator">:</span> <span class="token number">2000000000</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:24:43.928582-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"now"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:24:46.894852-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"2s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"mem"</span><span class="token operator">:</span> <span class="token number">9617408</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cores"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cpu"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connections"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"total_connections"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"routes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"remotes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"leafnodes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"slow_consumers"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"http_req_stats"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"/"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"/connz"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"/gatewayz"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"/routez"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"/subsz"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"/varz"</span><span class="token operator">:</span> <span class="token number">1</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"config_load_time"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:24:43.928582-07:00"</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h3 id="connection-information"><a name="connection-information" class="plugin-anchor" href="#connection-information"><i class="fa fa-link" aria-hidden="true"></i></a>Connection Information</h3>
|
|
<p>The <code>/connz</code> endpoint reports more detailed information on current and recently closed connections.
|
|
It uses a paging mechanism which defaults to 1024 connections.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/connz</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Argument</th>
|
|
<th style="text-align:left">Values</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">sort</td>
|
|
<td style="text-align:left">(<em>see sort options</em>)</td>
|
|
<td style="text-align:left">Sorts the results. Default is connection ID.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">auth</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include username. Default is false.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">subs</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include subscriptions. Default is false.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">offset</td>
|
|
<td style="text-align:left">number > 0</td>
|
|
<td style="text-align:left">Pagination offset. Default is 0.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">limit</td>
|
|
<td style="text-align:left">number > 0</td>
|
|
<td style="text-align:left">Number of results to return. Default is 1024.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">cid</td>
|
|
<td style="text-align:left">number, valid id</td>
|
|
<td style="text-align:left">Return a connection by it's id</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">state</td>
|
|
<td style="text-align:left">open, *closed, any</td>
|
|
<td style="text-align:left">Return connections of partular state. Default is open.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><em>The server will default to holding the last 10,000 closed connections.</em></p>
|
|
<h5 id="sort-options"><a name="sort-options" class="plugin-anchor" href="#sort-options"><i class="fa fa-link" aria-hidden="true"></i></a>Sort Options</h5>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Sort by</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">cid</td>
|
|
<td style="text-align:left">Connection ID</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">start</td>
|
|
<td style="text-align:left">Connection start time, same as CID</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">subs</td>
|
|
<td style="text-align:left">Number of subscriptions</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">pending</td>
|
|
<td style="text-align:left">Amount of data in bytes waiting to be sent to client</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">msgs_to</td>
|
|
<td style="text-align:left">Number of messages sent</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">msgs_from</td>
|
|
<td style="text-align:left">Number of messages received</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">bytes_to</td>
|
|
<td style="text-align:left">Number of bytes sent</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">bytes_from</td>
|
|
<td style="text-align:left">Number of bytes received</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">last</td>
|
|
<td style="text-align:left">Last activity</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">idle</td>
|
|
<td style="text-align:left">Amount of inactivity</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">uptime</td>
|
|
<td style="text-align:left">Lifetime of the connection</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">stop</td>
|
|
<td style="text-align:left">Stop time for a closed connection</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">reason</td>
|
|
<td style="text-align:left">Reason for a closed connection</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="examples"><a name="examples" class="plugin-anchor" href="#examples"><i class="fa fa-link" aria-hidden="true"></i></a>Examples</h4>
|
|
<p>Get up to 1024 connections: <a href="http://demo.nats.io:8222/connz" target="_blank">http://demo.nats.io:8222/connz</a></p>
|
|
<p>Control limit and offset: <a href="http://demo.nats.io:8222/connz?limit=16&offset=128" target="_blank">http://demo.nats.io:8222/connz?limit=16&offset=128</a>.</p>
|
|
<p>Get closed connection information: <a href="http://demo.nats.io:8222/connz?state=closed" target="_blank">http://demo.nats.io:8222/connz?state=closed</a>.</p>
|
|
<p>You can also report detailed subscription information on a per connection basis using subs=1. For example: <a href="http://demo.nats.io:8222/connz?limit=1&offset=1&subs=1" target="_blank">http://demo.nats.io:8222/connz?limit=1&offset=1&subs=1</a>.</p>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"server_id"</span><span class="token operator">:</span> <span class="token string">"NACDVKFBUW4C4XA24OOT6L4MDP56MW76J5RJDFXG7HLABSB46DCMWCOW"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"now"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:28:16.520365-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_connections"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"total"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"offset"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"limit"</span><span class="token operator">:</span> <span class="token number">1024</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connections"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">49764</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:27:25.94611-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:27:25.954046-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"rtt"</span><span class="token operator">:</span> <span class="token string">"275µs"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"50s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"50s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NATS Sample Subscriber"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"lang"</span><span class="token operator">:</span> <span class="token string">"go"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"1.8.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions_list"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token string">"hello.world"</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">49767</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:27:43.403923-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:27:43.406568-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"rtt"</span><span class="token operator">:</span> <span class="token string">"96µs"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"33s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"33s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NATS Sample Subscriber"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"lang"</span><span class="token operator">:</span> <span class="token string">"go"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"1.8.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions_list"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token string">"foo.bar"</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h3 id="route-information"><a name="route-information" class="plugin-anchor" href="#route-information"><i class="fa fa-link" aria-hidden="true"></i></a>Route Information</h3>
|
|
<p>The <code>/routez</code> endpoint reports information on active routes for a cluster.
|
|
Routes are expected to be low, so there is no paging mechanism with this endpoint.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/routez</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Argument</th>
|
|
<th style="text-align:left">Values</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">subs</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include internal subscriptions. Default is false.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>As noted above, the <code>routez</code> endpoint does support the <code>subs</code> argument from the <code>/connz</code> endpoint. For example: <a href="http://demo.nats.io:8222/routez?subs=1" target="_blank">http://demo.nats.io:8222/routez?subs=1</a></p>
|
|
<h4 id="example"><a name="example" class="plugin-anchor" href="#example"><i class="fa fa-link" aria-hidden="true"></i></a>Example</h4>
|
|
<ul>
|
|
<li>Get route information: <a href="http://demo.nats.io:8222/routez?subs=1" target="_blank">http://demo.nats.io:8222/routez?subs=1</a></li>
|
|
</ul>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"server_id"</span><span class="token operator">:</span> <span class="token string">"NACDVKFBUW4C4XA24OOT6L4MDP56MW76J5RJDFXG7HLABSB46DCMWCOW"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"now"</span><span class="token operator">:</span> <span class="token string">"2019-06-24T14:29:16.046656-07:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_routes"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"routes"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"rid"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"remote_id"</span><span class="token operator">:</span> <span class="token string">"de475c0041418afc799bccf0fdd61b47"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"did_solicit"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">61791</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_size"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h3 id="gateway-information"><a name="gateway-information" class="plugin-anchor" href="#gateway-information"><i class="fa fa-link" aria-hidden="true"></i></a>Gateway Information</h3>
|
|
<p>The <code>/gatewayz</code> endpoint reports information about gateways used to create a NATS supercluster.
|
|
Like routes, the number of gateways are expected to be low, so there is no paging mechanism with this endpoint.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/gatewayz</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Argument</th>
|
|
<th style="text-align:left">Values</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">accs</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include account information. Default is false.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">gw_name</td>
|
|
<td style="text-align:left">string</td>
|
|
<td style="text-align:left">Return only remote gateways with this name.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">acc_name</td>
|
|
<td style="text-align:left">string</td>
|
|
<td style="text-align:left">Limit the list of accounts to this account name.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="examples"><a name="examples" class="plugin-anchor" href="#examples"><i class="fa fa-link" aria-hidden="true"></i></a>Examples</h4>
|
|
<ul>
|
|
<li>Retrieve Gateway Information: <a href="http://demo.nats.io:8222/gatewayz" target="_blank">http://demo.nats.io:8222/gatewayz</a></li>
|
|
</ul>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"server_id"</span><span class="token operator">:</span> <span class="token string">"NANVBOU62MDUWTXWRQ5KH3PSMYNCHCEUHQV3TW3YH7WZLS7FMJE6END6"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"now"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:55.597398-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"region1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"host"</span><span class="token operator">:</span> <span class="token string">"2601:283:4601:1350:1895:efda:2010:95a1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">4501</span><span class="token punctuation">,</span>
|
|
<span class="token property">"outbound_gateways"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"region2"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"configured"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connection"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">7</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">5500</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.765621-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.765621-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NCXBIYWT7MV7OAQTCR4QTKBN3X3HDFGSFWTURTCQ22ZZB6NKKJPO7MN4"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"region3"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"configured"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connection"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"::1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">6500</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.764685-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.764685-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NCVS7Q65WX3FGIL2YQRLI77CE6MQRWO2Y453HYVLNMBMTVLOKMPW7R6K"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"inbound_gateways"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"region2"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"configured"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connection"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">9</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"::1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">52029</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.76677-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.767096-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NCXBIYWT7MV7OAQTCR4QTKBN3X3HDFGSFWTURTCQ22ZZB6NKKJPO7MN4"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"region3"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"configured"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connection"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"::1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">52025</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.764577-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.764994-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NCVS7Q65WX3FGIL2YQRLI77CE6MQRWO2Y453HYVLNMBMTVLOKMPW7R6K"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"configured"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
<span class="token property">"connection"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"cid"</span><span class="token operator">:</span> <span class="token number">8</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">52026</span><span class="token punctuation">,</span>
|
|
<span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.766173-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"last_activity"</span><span class="token operator">:</span> <span class="token string">"2019-07-24T18:02:48.766999-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"uptime"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"idle"</span><span class="token operator">:</span> <span class="token string">"6s"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pending_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"NCKCYK5LE3VVGOJQ66F65KA27UFPCLBPX4N4YOPOXO3KHGMW24USPCKN"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h3 id="leaf-nodes-information"><a name="leaf-nodes-information" class="plugin-anchor" href="#leaf-nodes-information"><i class="fa fa-link" aria-hidden="true"></i></a>Leaf Nodes Information</h3>
|
|
<p>The <code>/leafz</code> endpoint reports detailed information about the leaf node connections.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/leafz</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Argument</th>
|
|
<th style="text-align:left">Values</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">subs</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include internal subscriptions. Default is false.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>As noted above, the <code>leafz</code> endpoint does support the <code>subs</code> argument from the <code>/connz</code> endpoint. For example: <a href="http://demo.nats.io:8222/leafz?subs=1" target="_blank">http://demo.nats.io:8222/leafz?subs=1</a></p>
|
|
<h4 id="example"><a name="example" class="plugin-anchor" href="#example"><i class="fa fa-link" aria-hidden="true"></i></a>Example</h4>
|
|
<ul>
|
|
<li>Get leaf nodes information: <a href="http://demo.nats.io:8222/leafz?subs=1" target="_blank">http://demo.nats.io:8222/leafz?subs=1</a></li>
|
|
</ul>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"server_id"</span><span class="token operator">:</span> <span class="token string">"NC2FJCRMPBE5RI5OSRN7TKUCWQONCKNXHKJXCJIDVSAZ6727M7MQFVT3"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"now"</span><span class="token operator">:</span> <span class="token string">"2019-08-27T09:07:05.841132-06:00"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"leafnodes"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"leafs"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"account"</span><span class="token operator">:</span> <span class="token string">"$G"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">6223</span><span class="token punctuation">,</span>
|
|
<span class="token property">"rtt"</span><span class="token operator">:</span> <span class="token string">"200µs"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_msgs"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_msgs"</span><span class="token operator">:</span> <span class="token number">10000</span><span class="token punctuation">,</span>
|
|
<span class="token property">"in_bytes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"out_bytes"</span><span class="token operator">:</span> <span class="token number">1280000</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"subscriptions_list"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token string">"foo"</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h3 id="subscription-routing-information"><a name="subscription-routing-information" class="plugin-anchor" href="#subscription-routing-information"><i class="fa fa-link" aria-hidden="true"></i></a>Subscription Routing Information</h3>
|
|
<p>The <code>/subz</code> endpoint reports detailed information about the current subscriptions and the routing data structure. It is not normally used.</p>
|
|
<p><strong>Endpoint:</strong> <code>http://server:port/subz</code></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Result</th>
|
|
<th style="text-align:left">Return Code</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">Success</td>
|
|
<td style="text-align:left">200 (OK)</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">Error</td>
|
|
<td style="text-align:left">400 (Bad Request)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="arguments"><a name="arguments" class="plugin-anchor" href="#arguments"><i class="fa fa-link" aria-hidden="true"></i></a>Arguments</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Argument</th>
|
|
<th style="text-align:left">Values</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left">subs</td>
|
|
<td style="text-align:left">true, 1, false, 0</td>
|
|
<td style="text-align:left">Include subscriptions. Default is false.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">offset</td>
|
|
<td style="text-align:left">integer > 0</td>
|
|
<td style="text-align:left">Pagination offset. Default is 0.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">limit</td>
|
|
<td style="text-align:left">integer > 0</td>
|
|
<td style="text-align:left">Number of results to return. Default is 1024.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left">test</td>
|
|
<td style="text-align:left">subject</td>
|
|
<td style="text-align:left">Test whether a subsciption exists.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="example"><a name="example" class="plugin-anchor" href="#example"><i class="fa fa-link" aria-hidden="true"></i></a>Example</h4>
|
|
<ul>
|
|
<li>Get subscription routing information: <a href="http://demo.nats.io:8222/subsz" target="_blank">http://demo.nats.io:8222/subsz</a></li>
|
|
</ul>
|
|
<h4 id="response"><a name="response" class="plugin-anchor" href="#response"><i class="fa fa-link" aria-hidden="true"></i></a>Response</h4>
|
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|
<span class="token property">"num_subscriptions"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_cache"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_inserts"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_removes"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"num_matches"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cache_hit_rate"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"max_fanout"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"avg_fanout"</span><span class="token operator">:</span> <span class="token number">0</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre>
|
|
<h2 id="creating-monitoring-applications"><a name="creating-monitoring-applications" class="plugin-anchor" href="#creating-monitoring-applications"><i class="fa fa-link" aria-hidden="true"></i></a>Creating Monitoring Applications</h2>
|
|
<p>NATS monitoring endpoints support <a href="https://en.wikipedia.org/wiki/JSONP" target="_blank">JSONP</a> and <a href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing#How_CORS_works" target="_blank">CORS</a>. You can easily create single page web applications for monitoring. To do this you simply pass the <code>callback</code> query parameter to any endpoint.</p>
|
|
<p>For example:</p>
|
|
<pre class="language-"><code class="lang-sh">http://demo.nats.io:8222/connz?callback<span class="token operator">=</span>cb
|
|
</code></pre>
|
|
<p>Here is a JQuery example implementation:</p>
|
|
<pre class="language-"><code class="lang-javascript">$<span class="token punctuation">.</span><span class="token function">getJSON</span><span class="token punctuation">(</span><span class="token string">'http://demo.nats.io:8222/connz?callback=?'</span><span class="token punctuation">,</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">data</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
</code></pre>
|
|
<h2 id="monitoring-tools"><a name="monitoring-tools" class="plugin-anchor" href="#monitoring-tools"><i class="fa fa-link" aria-hidden="true"></i></a>Monitoring Tools</h2>
|
|
<p>In addition to writing custom monitoring tools, you can monitor nats-server in Prometheus. The <a href="https://github.com/nats-io/prometheus-nats-exporter" target="_blank">Prometheus NATS Exporter</a> allows you to configure the metrics you want to observe and store in Prometheus. There's a sample <a href="https://grafana.com" target="_blank">Grafana</a> dashboard that you can use to visualize the server metrics.</p>
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="search-results">
|
|
<div class="has-results">
|
|
|
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
<ul class="search-results-list"></ul>
|
|
|
|
</div>
|
|
<div class="no-results">
|
|
|
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a href="logging.html" class="navigation navigation-prev " aria-label="Previous page: Logging">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
<a href="../nats_admin/" class="navigation navigation-next " aria-label="Next page: Managing A NATS Server">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var gitbook = gitbook || [];
|
|
gitbook.push(function() {
|
|
gitbook.page.hasChanged({"page":{"title":"Monitoring","level":"4.5.6","depth":2,"next":{"title":"Managing A NATS Server","level":"4.6","depth":1,"path":"nats_admin/README.md","ref":"nats_admin/README.md","articles":[{"title":"Upgrading a Cluster","level":"4.6.1","depth":2,"path":"nats_admin/upgrading_cluster.md","ref":"nats_admin/upgrading_cluster.md","articles":[]},{"title":"Slow Consumers","level":"4.6.2","depth":2,"path":"nats_admin/slow_consumers.md","ref":"nats_admin/slow_consumers.md","articles":[]},{"title":"Signals","level":"4.6.3","depth":2,"path":"nats_admin/signals.md","ref":"nats_admin/signals.md","articles":[]},{"title":"System Accounts","level":"4.6.4","depth":2,"path":"sys_accounts/README.md","ref":"sys_accounts/README.md","articles":[{"title":"Configuration","level":"4.6.4.1","depth":3,"path":"sys_accounts/sys_accounts.md","ref":"sys_accounts/sys_accounts.md","articles":[]}]}]},"previous":{"title":"Logging","level":"4.5.5","depth":2,"path":"nats_server/logging.md","ref":"nats_server/logging.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_server/monitoring.md","mtime":"2019-09-23T22:49:18.487Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-27T21:13:11.925Z"},"basePath":"..","book":{"language":""}});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
<!-- Viz Support -->
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
|
|
|
<!-- Site code -->
|
|
<script>
|
|
function flash(elem, text, speed) {
|
|
if (!elem) {
|
|
return;
|
|
}
|
|
var s = elem.style;
|
|
elem.textContent = text;
|
|
s.display = 'block';
|
|
s.opacity = 1;
|
|
(function fade() {
|
|
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
|
})();
|
|
}
|
|
|
|
function copyToClipboard(text, el) {
|
|
var copyTest = document.queryCommandSupported('copy');
|
|
var elOriginalText = el.getAttribute('data-original-title');
|
|
|
|
if (copyTest === true) {
|
|
var copyTextArea = document.createElement("textarea");
|
|
copyTextArea.value = text;
|
|
document.body.appendChild(copyTextArea);
|
|
copyTextArea.select();
|
|
try {
|
|
var successful = document.execCommand('copy');
|
|
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
|
var parent = el.parentNode.parentNode;
|
|
var msgElem = parent.querySelector(".copy-msg");
|
|
flash(msgElem, msg, 100);
|
|
} catch (err) {
|
|
console.log('Oops, unable to copy', err);
|
|
}
|
|
document.body.removeChild(copyTextArea);
|
|
el.setAttribute('data-original-title', elOriginalText);
|
|
} else {
|
|
// Fallback if browser doesn't support .execCommand('copy')
|
|
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
|
}
|
|
}
|
|
|
|
function processGraphVizSections(elements) {
|
|
var elements = document.querySelectorAll("[data-viz]");
|
|
var viz = new Viz();
|
|
Array.prototype.forEach.call(elements, function (x) {
|
|
var engine = x.getAttribute("data-viz");
|
|
var image = viz.renderImageElement(x.innerText, {
|
|
format: "png",
|
|
engine: engine
|
|
}).then(function (element) {
|
|
x.parentNode.insertBefore(element, x);
|
|
});
|
|
});
|
|
|
|
|
|
};
|
|
|
|
function updateLanguageParameter(value) {
|
|
const param = "lang";
|
|
|
|
if (window.location.href.indexOf("?") >= 0) {
|
|
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
|
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
|
window.history.pushState("", "", newUrl);
|
|
} else {
|
|
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
|
window.history.pushState("", "", newUrl);
|
|
}
|
|
}
|
|
|
|
function getLanguageParameter() {
|
|
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
|
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
|
}
|
|
|
|
function docReady() {
|
|
window.gitbook.events.bind("page.change", function () {
|
|
pageChanged();
|
|
});
|
|
|
|
var searchInput = document.querySelector('#book-search-input input');
|
|
|
|
if (searchInput) {
|
|
searchInput.addEventListener('keyup', function(event) {
|
|
if (event.keyCode === 13) {
|
|
event.target.blur();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function pageChanged() {
|
|
var logos = document.querySelectorAll(".nats");
|
|
if (logos && logos.length == 0) {
|
|
gitbook.toolbar.createButton({
|
|
icon: 'nats',
|
|
label: 'NATS Home Page',
|
|
position: 'right',
|
|
onClick: function () {
|
|
var win = window.open("https://nats.io/", '_blank');
|
|
win.focus();
|
|
}
|
|
});
|
|
}
|
|
|
|
document.querySelectorAll('.js-copy').forEach(elem => {
|
|
elem.addEventListener("click", function () {
|
|
var el = this;
|
|
var parent = this.parentNode.parentNode;
|
|
var code = parent.querySelector('code');
|
|
var text = code.textContent || code.innerText;
|
|
copyToClipboard(text, el);
|
|
})
|
|
});
|
|
|
|
document.querySelectorAll('.api-lang').forEach(elem => {
|
|
elem.addEventListener("click", function () {
|
|
var curLang = sessionStorage.getItem('nats-api-language');
|
|
var lang = this.getAttribute('data-language');
|
|
|
|
// Stop the infinite loop
|
|
if (curLang == lang) {
|
|
return;
|
|
}
|
|
|
|
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
|
|
|
updateLanguageParameter(lang)
|
|
|
|
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
|
elem.click();
|
|
});
|
|
})
|
|
});
|
|
|
|
if (sessionStorage) {
|
|
var curLang = sessionStorage.getItem('nats-api-language');
|
|
var queryLang = getLanguageParameter();
|
|
var lang = curLang;
|
|
|
|
if (queryLang) { // query takes precedent
|
|
lang = queryLang
|
|
}
|
|
|
|
if (lang) {
|
|
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
|
elem.click();
|
|
});
|
|
}
|
|
}
|
|
|
|
setTimeout(function () {
|
|
processGraphVizSections();
|
|
}, 1);
|
|
}
|
|
|
|
|
|
if (document.readyState != 'loading') docReady();
|
|
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
|
else document.attachEvent('onreadystatechange', function () {
|
|
if (document.readyState == 'complete') docReady();
|
|
});
|
|
</script>
|
|
|
|
<!-- Github Buttons -->
|
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
|
|
|
<!-- Styles -->
|
|
<style>
|
|
.nats {
|
|
display: inline-block;
|
|
width: 16px;
|
|
height: 16px;
|
|
background: url(https://nats.io/img/nats-icon-color.svg);
|
|
background-size: 16px 16px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
div.graphviz {
|
|
background: transparent;
|
|
border: 0;
|
|
padding-top: 15px;
|
|
padding-right: 15px;
|
|
padding-bottom: 25px;
|
|
padding-left: 15px;
|
|
text-align: center;
|
|
}
|
|
|
|
code[data-viz] {
|
|
display: none;
|
|
}
|
|
|
|
.tab-wrap {
|
|
transition: 0.3s box-shadow ease;
|
|
border-radius: 6px;
|
|
max-width: 100%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
position: relative;
|
|
list-style: none;
|
|
background-color: #fff;
|
|
margin: 20px 0;
|
|
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
|
}
|
|
|
|
.tab-wrap:hover {
|
|
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
|
}
|
|
|
|
.tab {
|
|
display: none;
|
|
}
|
|
|
|
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
|
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:first-of-type:not(:last-of-type)+label {
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
|
|
.tab:not(:first-of-type):not(:last-of-type)+label {
|
|
border-radius: 0;
|
|
}
|
|
|
|
.tab:last-of-type:not(:first-of-type)+label {
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
|
|
.tab:checked+label {
|
|
background-color: #fff;
|
|
box-shadow: 0 -1px 0 #fff inset;
|
|
cursor: default;
|
|
font-weight: bold;
|
|
border: 1px solid #ddd;
|
|
border-bottom-color: transparent;
|
|
}
|
|
|
|
.tab:checked+label:hover {
|
|
box-shadow: 0 -1px 0 #fff inset;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.tab+label {
|
|
box-shadow: 0 -1px 0 #eee inset;
|
|
border-radius: 6px 6px 0 0;
|
|
cursor: pointer;
|
|
display: block;
|
|
text-decoration: none;
|
|
color: #27aae1;
|
|
flex-grow: 3;
|
|
text-align: center;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
text-align: center;
|
|
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
|
height: 50px;
|
|
box-sizing: border-box;
|
|
padding: 15px;
|
|
}
|
|
|
|
.tab+label:hover {
|
|
background-color: #f9f9f9;
|
|
box-shadow: 0 1px 0 #f4f4f4 inset;
|
|
}
|
|
|
|
.tab__content {
|
|
padding: 2px 2px;
|
|
background-color: transparent;
|
|
position: absolute;
|
|
width: 100%;
|
|
z-index: -1;
|
|
opacity: 0;
|
|
left: 0;
|
|
-webkit-transform: translateY(-3px);
|
|
transform: translateY(-3px);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.tab__content pre {
|
|
margin-bottom: 0px !important;
|
|
}
|
|
|
|
.toolbar-icons {
|
|
display: inline-block;
|
|
position: relative;
|
|
padding-left: 4px;
|
|
}
|
|
|
|
a.toolbar-icons {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.toolbar-icons .mdi {
|
|
color: #4183c4;
|
|
}
|
|
|
|
.copy-msg {
|
|
color: #4183c4;
|
|
}
|
|
|
|
.pull-right {
|
|
float: right !important;
|
|
}
|
|
|
|
.pull-left {
|
|
float: left !important;
|
|
}
|
|
</style>
|
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-111730698-1"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'UA-111730698-1');
|
|
</script>
|
|
|
|
|
|
<script src="../gitbook/gitbook.js"></script>
|
|
<script src="../gitbook/theme.js"></script>
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|