github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/website/content/api-docs/ui.mdx (about) 1 --- 2 layout: api 3 page_title: UI 4 description: The /ui namespace is used to access the Nomad web user interface. 5 --- 6 7 # Nomad Web UI 8 9 The Nomad UI is accessible at `/ui`. It is not namespaced by version. A request to `/` will also redirect to `/ui`. 10 11 ## List Jobs 12 13 This page lists all known jobs in a paginated, searchable, and sortable table. 14 15 | Path | Produces | 16 | ---------- | ----------- | 17 | `/ui/jobs` | `text/html` | 18 19 ### Parameters 20 21 - `namespace` `(string: "")` - Specifies the namespace all jobs should be a member 22 of. This is specified as a query string parameter. 23 24 - `sort` `(string: "")` - Specifies the property the list of jobs should be sorted by. 25 This is specified as a query string parameter. 26 27 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 28 or ascending. This is specified as a query string parameter. 29 30 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 31 visible jobs. This is specified as a query string parameter. 32 33 - `page` `(int: 1)` - Specifies the page in the jobs list that should be visible. This 34 is specified as a query string parameter. 35 36 - `type` `(string: "")` - Filters the list of jobs to those with a matching type. 37 38 - `status` `(string: "")` - Filters the list of jobs to those with a matching status. 39 40 - `dc` `(string: "")` - Filters the list of jobs to those allowed in a matching datacenter value. 41 42 - `prefix` `(string: "")` - Filters the list of jobs to those with names that start with a matching prefix. 43 44 ## Job Detail 45 46 This page shows an overview of a specific job. Details include name, status, type, 47 priority, allocation statuses, and task groups. Additionally, if there is a running 48 deployment for the job, it will be shown on the overview. 49 50 This page shows an overview of a specific job. The exact information shown varies 51 based on the type of job. 52 53 - **Service Job** - Includes job metadata (name, status, priority, namespace), allocation 54 statuses, placement failures, active deployment, task groups, and evaluations. 55 56 - **Batch Job** - Includes job metadata, allocation statuses, placement failures, task 57 groups, and evaluations. 58 59 - **System Job** - Includes job metadata, allocation statuses, placement failures, task 60 groups, and evaluations. 61 62 - **Periodic Job** - Includes job metadata, cron information force launch action, children statuses, 63 and children list. 64 65 - **Parameterized Job** - Includes job metadata, children statuses, and children list. 66 67 - **Periodic Child** - Includes job metadata, link to parent job, allocation statuses, placement 68 failures, task groups, and evaluations. 69 70 - **Parameterized Child** - Includes job metadata, link to parent job, allocation statuses, 71 placement failures, task groups, evaluations, and dispatch payload. 72 73 | Path | Produces | 74 | ------------------ | ----------- | 75 | `/ui/jobs/:job_id` | `text/html` | 76 77 ### Parameters 78 79 - `sort` `(string: "")` - Specifies the property the list of task groups should be 80 sorted by. This is specified as a query string parameter. 81 82 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 83 or ascending. This is specified as a query string parameter. 84 85 - `page` `(int: 1)` - Specifies the page in the task groups list that should be visible. This 86 is specified as a query string parameter. 87 88 ### Job Definition 89 90 This page shows the definition of a job as pretty-printed, syntax-highlighted, JSON. 91 92 | Path | Produces | 93 | ----------------------------- | ----------- | 94 | `/ui/jobs/:job_id/definition` | `text/html` | 95 96 ### Job Versions 97 98 This page lists all available versions for a job in a timeline view. Each version in 99 the timeline can be expanded to show a pretty-printed, syntax-highlighted diff between 100 job versions. 101 102 | Path | Produces | 103 | --------------------------- | ----------- | 104 | `/ui/jobs/:job_id/versions` | `text/html` | 105 106 ### Job Deployments 107 108 This page lists all available deployments for a job when the job has deployments. The 109 deployments are listed in a timeline view. Each deployment shows pertinent information 110 such as deployment ID, status, associated version, and submit time. Each deployment can 111 also be expanded to show detail information regarding canary placements, allocation 112 placements, healthy and unhealthy allocations, as well the current description for the 113 status. A table of task groups is also present in the detail view, which shows allocation 114 metrics by task group. Lastly, each expanded deployment lists all associated allocations 115 in a table to drill into for task events. 116 117 | Path | Produces | 118 | ------------------------------ | ----------- | 119 | `/ui/jobs/:job_id/deployments` | `text/html` | 120 121 ### Job Allocations 122 123 This page lists all allocations for a job in a table view. Each allocation includes status indicators (e.g., rescheduled, preempted, unhealthy driver), ID, a link to the task group detail page, the created timestamp, time since last modified, current status, version, a link to the client the allocation is running on, whether or not it has a volume requirement, the current CPU utilization, and the current memory utilization. 124 125 | Path | Produces | 126 | ------------------------------ | ----------- | 127 | `/ui/jobs/:job_id/allocations` | `text/html` | 128 129 ### Parameters 130 131 - `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by. 132 This is specified as a query string parameter. 133 134 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 135 or ascending. This is specified as a query string parameter. 136 137 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 138 visible allocations. This is specified as a query string parameter. 139 140 - `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This 141 is specified as a query string parameter. 142 143 ### Job Evaluations 144 145 This page lists all evaluations for a job in a table view. Each evaluation includes the evaluation ID, priority, created timestamp, the event that triggered the evaluation, status, and whether or not there are placement failures. 146 147 | Path | Produces | 148 | ------------------------------ | ----------- | 149 | `/ui/jobs/:job_id/evaluations` | `text/html` | 150 151 ### Parameters 152 153 - `sort` `(string: "")` - Specifies the property the list of evaluations should be sorted by. 154 This is specified as a query string parameter. 155 156 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 157 or ascending. This is specified as a query string parameter. 158 159 ## Task Group Detail 160 161 This page shows an overview of a specific task group. Details include the number of tasks, the aggregated amount of reserved CPU, memory, and disk, all associated allocations broken 162 down by status, and a list of allocations. The list of allocations include details such as 163 status, the client the allocation was placed on, and the current CPU and Memory usage of the 164 allocations. 165 166 | Path | Produces | 167 | ----------------------------------- | ----------- | 168 | `/ui/jobs/:job_id/:task_group_name` | `text/html` | 169 170 ### Parameters 171 172 - `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by. 173 This is specified as a query string parameter. 174 175 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 176 or ascending. This is specified as a query string parameter. 177 178 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 179 visible allocations. This is specified as a query string parameter. 180 181 - `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This 182 is specified as a query string parameter. 183 184 ## Allocation Detail 185 186 This page shows details and events for an allocation. Details include the job the allocation 187 belongs to, the client the allocation is placed on, a list of all tasks, and lists of task 188 events per task. Each task in the task list includes the task name, state, last event, time, 189 and addresses. Each task event in a task history list includes the time, type, and 190 description of the event. 191 192 | Path | Produces | 193 | --------------------------- | ----------- | 194 | `/ui/allocations/:alloc_id` | `text/html` | 195 196 ### Parameters 197 198 - `sort` `(string: "")` - Specifies the property the list of tasks should be sorted by. 199 This is specified as a query string parameter. 200 201 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 202 or ascending. This is specified as a query string parameter. 203 204 ## Allocation File System 205 206 This page will show either a directory listing of a path or the file at a path, depending on whether or not the path is a directory. Specifying no file path will show the root of the allocation file system. The file system is also navigible from the UI. Each entry in the directory listing will include the file size (assuming a file) and the last modified time. 207 208 If the file is text based, the UI will render the text inline and the stream the file contents as it updates. If the file is a well-known image format, the image will be rendered inline. In all other cases, the UI will prompt a download link. 209 210 | Path | Produces | 211 | ----------------------------------------- | ----------- | 212 | `/ui/allocations/:alloc_id/fs/:file_path` | `text/html` | 213 214 ### Parameters 215 216 - `sort` `(string: "")` - Specifies the property the list of files should be sorted by. 217 This is specified as a query string parameter. Only applies to directories. 218 219 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 220 or ascending. This is specified as a query string parameter. Only applies to directories. 221 222 ## Task Detail 223 224 This page shows details and events for a specific task. Details include when the task started 225 and stopped, all static and dynamic addresses, and all recent events. 226 227 | Path | Produces | 228 | -------------------------------------- | ----------- | 229 | `/ui/allocations/:alloc_id/:task_name` | `text/html` | 230 231 ## Task Logs 232 233 This page streams `stdout` and `stderr` logs for a task. By default, `stdout` is tailed, but 234 there are available actions to see the head of the log, pause and play streaming, and switching 235 to `stderr`. 236 237 | Path | Produces | 238 | ------------------------------------------- | ----------- | 239 | `/ui/allocations/:alloc_id/:task_name/logs` | `text/html` | 240 241 ## Task File System 242 243 This page will show either a directory listing of a path or the file at a path, depending on whether or not the path is a directory. Specifying no file path will show the root of the task file system (which is within the allocation file system). The file system is also navigible from the UI. Each entry in the directory listing will include the file size (assuming a file) and the last modified time. 244 245 If the file is text based, the UI will render the text inline and the stream the file contents as it updates. If the file is a well-known image format, the image will be rendered inline. In all other cases, the UI will prompt a download link. 246 247 | Path | Produces | 248 | ----------------------------------------- | ----------- | 249 | `/ui/allocations/:alloc_id/fs/:file_path` | `text/html` | 250 251 ### Parameters 252 253 - `sort` `(string: "")` - Specifies the property the list of files should be sorted by. 254 This is specified as a query string parameter. Only applies to directories. 255 256 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 257 or ascending. This is specified as a query string parameter. Only applies to directories. 258 259 ## Exec Job 260 261 This page will show a side bar navigation to traverse the job's task groups and tasks. The majority of this page is a latent terminal window. Using the side bar navigation will transition to the exec task page which establishes a `nomad exec` connection. 262 263 This page is meant to be rendered in a popup window. 264 265 | Path | Produces | 266 | ------------------ | ----------- | 267 | `/ui/exec/:job_id` | `text/html` | 268 269 ### Parameters 270 271 - `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into. 272 273 ## Exec Task Group 274 275 This page will show a side bar navigation to traverse the job's task groups and tasks with the selected task group already open. The majority of this page is a latent terminal window. Using the side bar navigation will transition to the exec task page which establishes a `nomad exec` connection. 276 277 This page is meant to be rendered in a popup window. 278 279 | Path | Produces | 280 | ------------------------------ | ----------- | 281 | `/ui/exec/:job_id/:task_group` | `text/html` | 282 283 ### Parameters 284 285 - `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into. 286 287 ## Exec Task 288 289 This page will show a side bar navigation to traverse the job's task group's tasks. The majority of this page is a terminal window. The terminal window will be prepopulated with a `nomad exec` command. The specific command used to establish an interactive connection can be modified (e.g., changing `/bin/bash` to `/bin/sh`). Upon submitting the command, a websocket connection is opened to facilitate bidirectional communication between this terminal window and the task running on a Nomad client. 290 291 This page is meant to be rendered in a popup window. 292 293 | Path | Produces | 294 | ------------------------------ | ----------- | 295 | `/ui/exec/:job_id/:task_group` | `text/html` | 296 297 ### Parameters 298 299 - `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into. When not specified, an allocation for the specified task group is chosen at random. 300 301 ## Clients List 302 303 This page lists all clients in the Nomad cluster in a sortable, searchable, paginated 304 table. 305 306 | Path | Produces | 307 | ------------- | ----------- | 308 | `/ui/clients` | `text/html` | 309 310 ### Parameters 311 312 - `sort` `(string: "")` - Specifies the property the list of clients should be sorted by. 313 This is specified as a query string parameter. 314 315 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 316 or ascending. This is specified as a query string parameter. 317 318 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 319 visible clients . This is specified as a query string parameter. 320 321 - `page` `(int: 1)` - Specifies the page in the clients list that should be visible. This 322 is specified as a query string parameter. 323 324 - `class` `(string: "")` - Filters the list of clients to those with a matching node class. 325 326 - `state` `(string: "")` - Filters the list of clients to those with a matching state. Options include `initializing`, `ready`, `down`, `ineligible`, and `draining`. 327 328 - `dc` `(string: "")` - Filters the list of clients to those in the specified datacenter. 329 330 - `volume` `(string: "")` - Filters the list of clients to those with a matching host volume (by name). 331 332 ## Client Detail 333 334 This page shows the details of a client, including the client name, status, full ID, 335 address, port, datacenter, allocations, and attributes. 336 337 | Path | Produces | 338 | ------------------------ | ----------- | 339 | `/ui/clients/:client_id` | `text/html` | 340 341 ### Parameters 342 343 - `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by. 344 This is specified as a query string parameter. 345 346 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 347 or ascending. This is specified as a query string parameter. 348 349 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 350 visible allocations. This is specified as a query string parameter. 351 352 - `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This 353 is specified as a query string parameter. 354 355 ## Client Monitor 356 357 This page streams log messages from a client's agent. It is the equivalent to the `nomad monitor` command with `-node-id` set to the client specified in the URL. 358 359 | Path | Produces | 360 | -------------------------------- | ----------- | 361 | `/ui/clients/:client_id/monitor` | `text/html` | 362 363 ### Parameters 364 365 - `level` `(string: "info")` - Specifies the log level to monitor at. Possible values, in order of verbosity, include `trace`, `debug`, `info`, `warn`, and `error`. 366 367 ## Servers List 368 369 This page lists all servers in the Nomad cluster in a sortable table. Details for each 370 server include the server status, address, port, datacenter, and whether or not it is 371 the leader. 372 373 | Path | Produces | 374 | ------------- | ----------- | 375 | `/ui/servers` | `text/html` | 376 377 ### Parameters 378 379 - `sort` `(string: "")` - Specifies the property the list of server agents should be sorted by. 380 This is specified as a query string parameter. 381 382 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 383 or ascending. This is specified as a query string parameter. 384 385 - `page` `(int: 1)` - Specifies the page in the server agents list that should be visible. This 386 is specified as a query string parameter. 387 388 ## Server Detail 389 390 This page lists all tags associated with a server. 391 392 | Path | Produces | 393 | ------------------------ | ----------- | 394 | `/ui/servers/:server_id` | `text/html` | 395 396 ## Server Monitor 397 398 This page streams log messages from a server's agent. It is the equivalent to the `nomad monitor` command with `-server-id` set to the server specified in the URL. 399 400 | Path | Produces | 401 | -------------------------------- | ----------- | 402 | `/ui/servers/:server_id/monitor` | `text/html` | 403 404 ### Parameters 405 406 - `level` `(string: "info")` - Specifies the log level to monitor at. Possible values, in order of verbosity, include `trace`, `debug`, `info`, `warn`, and `error`. 407 408 ## CSI Volumes 409 410 This page lists all CSI volumes registered with the Nomad cluster by namespace. Each volume includes the volume name, health, controller plugin health, node plugin health, provider, and number of attached allocations. 411 412 | Path | Produces | 413 | ----------------- | ----------- | 414 | `/ui/csi/volumes` | `text/html` | 415 416 ### Parameters 417 418 - `namespace` `(string: "")` - Specifies the namespace all volumes should be a member 419 of. This is specified as a query string parameter. 420 421 - `sort` `(string: "")` - Specifies the property the list of volumes should be sorted by. 422 This is specified as a query string parameter. 423 424 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 425 or ascending. This is specified as a query string parameter. 426 427 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 428 visible volumes. This is specified as a query string parameter. 429 430 - `page` `(int: 1)` - Specifies the page in the volumes list that should be visible. This 431 is specified as a query string parameter. 432 433 ## CSI Volume 434 435 This page shows information for a CSI volume. This includes whether or not the volume is available for scheduling, the CSI provider, the external ID, and the namespace. This page also includes a table of constraints (access mode and attachment mode), and tables for all attached allocations in `read` mode and `read/write` mode. 436 437 | Path | Produces | 438 | ---------------------------- | ----------- | 439 | `/ui/csi/volumes/:volume_id` | `text/html` | 440 441 ## CSI Plugins 442 443 This page lists all CSI plugins registered with the Nomad cluster. Each plugin includes the plugin ID, controller plugin health, node plugin health, and CSI provider. 444 445 | Path | Produces | 446 | ----------------- | ----------- | 447 | `/ui/csi/plugins` | `text/html` | 448 449 ### Parameters 450 451 - `sort` `(string: "")` - Specifies the property the list of plugins should be sorted by. 452 This is specified as a query string parameter. 453 454 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 455 or ascending. This is specified as a query string parameter. 456 457 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 458 visible plugins. This is specified as a query string parameter. 459 460 - `page` `(int: 1)` - Specifies the page in the plugins list that should be visible. This 461 is specified as a query string parameter. 462 463 ## CSI Plugin 464 465 This page shows information for a CSI plugin. This includes the proportion of healthy controller allocations, the proportion of healthy node allocations, a table of some controller allocations, and a table of some node allocations. Some of this information may be intentionally omitted based on the type of CSI plugin. 466 467 | Path | Produces | 468 | ---------------------------- | ----------- | 469 | `/ui/csi/plugins/:plugin_id` | `text/html` | 470 471 ## CSI Plugin Allocations 472 473 This page lists all allocations for a CSI plugin. Each allocation includes the standard allocation information (including status indicators, ID, created timestamp, time since last modified, a link to the client the allocation is running on, a link to the job the allocation is for, the job version, volume requirements, current CPU utilization, and current memory utilization) as well as whether or not the allocation is healthy as defined by CSI. 474 475 | Path | Produces | 476 | ----------------- | ----------- | 477 | `/ui/csi/plugins` | `text/html` | 478 479 ### Parameters 480 481 - `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by. 482 This is specified as a query string parameter. 483 484 - `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending 485 or ascending. This is specified as a query string parameter. 486 487 - `search` `(string: "")` - Specifies a regular expression used to filter the list of 488 visible allocations. This is specified as a query string parameter. 489 490 - `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This 491 is specified as a query string parameter. 492 493 - `healthy` `(boolean: unset)` - Filters the list of allocations to only those with a matching health value. Value must be `true`, `false`, or unset. 494 495 - `type` `(string: "")` - Filters the list of allocations to only those with a matching plugin type. Value must be `controller`, `node`, or unset. 496 497 ## Optimize 498 499 ~> **Enterprise Only!** This feature depends on functionality only present in Nomad Autoscaler Enterprise. 500 501 This page lists all recommendations surfaced by [dynamic application sizing](/tools/autoscaling#dynamic-application-sizing). This page will automatically redirect to the recommendation summary route for the first recommendation sorted by relevance. 502 503 Each recommendation in the list will contain information including the job and task group the recommendation is for, the time the recommendation was surfaced, the number of allocations impacted, the difference in CPU the recommendation suggests, the difference in memory the recommendation suggests, and the aggregate change in CPU and memory given the number of allocations impacted. 504 505 | Path | Produces | 506 | -------------- | ----------- | 507 | `/ui/optimize` | `text/html` | 508 509 ### Parameters 510 511 - `namespace` `(string: "")` - Specifies the namespace all recommendations should be a member of. This is specified as a query string parameter. 512 513 - `all-namespaces` `(boolean: false)` - Overrides the namespace parameter and returns all recommendations for all namespaces the active ACL token is authorized for. 514 515 - `search` `(string: "")` - Specifies a regular expression used to filter the list of visible recommendations. This is specified as a query string parameter. 516 517 - `type` `(string: "")` - Filters the list of recommendations to only those for jobs with a matching type. 518 519 - `status` `(string: "")` - Filters the list of recommendations to only those for jobs with a matching status. 520 521 - `dc` `(string: "")` - Filters the list of recommendations to only those for jobs allowed in a matching datacenter value. 522 523 - `prefix` `(string: "")` - Filters the list of recommendations to only those for jobs with names that start with a matching prefix. 524 525 ## Recommendation Summary 526 527 This page includes the same list of recommendations as the optimize route as well as the recommendation card for the job and task group specified in the URL. The recommendation card includes a list of all tasks for the task group as well as toggles for each recommendation available (potentially CPU and memory for each task). The card also shows before, after, and delta values for each recommendation. The before and after values are also presented in a chart that overlays the mean, p99, and max utilization values of the task a recommendation is for. 528 529 | Path | Produces | 530 | --------------------------------------- | ----------- | 531 | `/ui/optimize/:job_id/:task_group_name` | `text/html` | 532 533 ### Parameters 534 535 - `namespace` `(string: "")` - Specifies the namespace of the job the recommendation is for. 536 537 ## Topology Visualization 538 539 This page includes a visualization of all starting and running allocations grouped by client and by datacenter. 540 541 | Path | Produces | 542 | -------------- | ----------- | 543 | `/ui/topology` | `text/html` | 544 545 ## ACL Tokens 546 547 This page lets you enter an ACL token (both accessor ID and secret ID) to use with the UI. 548 If the cluster does not have ACLs enabled, this page is unnecessary. If the cluster has an 549 anonymous policy that grants cluster-wide read access, this page is unnecessary. If the 550 anonymous policy only grants partial read access, then providing an ACL Token will 551 authenticate all future requests to allow read access to additional resources. 552 553 | Path | Produces | 554 | --------------------- | ----------- | 555 | `/ui/settings/tokens` | `text/html` | 556 557 558 ## Keyboard Shortcuts 559 560 The Nomad UI supports several keyboard shortcuts in order to help users navigate and operate Nomad. You can use common key commands to dig into jobs, view logs, monitor evaluations, and more. 561 562 Type `?` from anywhere in the UI to launch the Keyboard Shortcuts panel. 563 564 ### Default key commands: 565 566 | Command | Pattern | 567 | --------------------- | ----------- | 568 | Go to Jobs | `g j` | 569 | Go to Storage | `g r` | 570 | Go to Servers | `g s` | 571 | Go to Clients | `g c` | 572 | Go to Topology | `g t` | 573 | Go to Evaluations | `g e` | 574 | Go to ACL Tokens | `g a` | 575 | Next Subnav | `Shift + →` | 576 | Previous Subnav | `Shift + ←` | 577 | Next Main Section | `Shift + ↓` | 578 | Previous Main Section | `Shift + ↑` | 579 | Show Keyboard Shortcuts | `Shift + ?` | 580 | Hide Keyboard Shortcuts | `Escape` | 581 | Go Up a Level | `u` | 582 583 ### Rebinding and Disabling Commands 584 585 From the Keyboard Shortcuts modal, you can click on any pattern to re-bind it to the shortcut of your choosing. This shortcut will persist via your browser's local storage and across refreshes. You can also toggle "Keyboard shortcuts enabled" to disable them completely. 586