# Monitors

[Open dashboard](https://my.tuna.am/monitors)

Functionality for monitoring CronJobs, Heartbeat, ICMP, DNS, HTTP and TCP applications with notification support through various communication channels.

![Monitors main page](/docs/img/monitors/main.png)

***

## Overview

Monitors let you track the health of your services, jobs and infrastructure. When problems occur, you get notifications through the channels you have configured.

***

## Monitor types

![Monitor types](/docs/img/monitors/types.png)

Tuna supports 6 monitor types, split into two categories:

### User-driven monitors

These monitors wait for signals from your applications and scripts:

| Type           | Description                            | Use case                                                       |
| -------------- | -------------------------------------- | -------------------------------------------------------------- |
|  **Job**       | Monitors execution of periodic jobs    | Backup scripts, cron jobs, scheduled operations                |
|  **Heartbeat** | Monitors regular signals from services | Services in closed networks, IoT devices, background processes |

### External monitors

These monitors check the availability of your resources from multiple regions on their own:

| Type      | Description                              | Use case                              |
| --------- | ---------------------------------------- | ------------------------------------- |
|  **HTTP** | Checks availability of websites and APIs | Websites, REST APIs, webhooks         |
|  **TCP**  | Checks availability of TCP services      | Databases, mail servers, game servers |
|  **DNS**  | Checks DNS records                       | Domains, MX records, TXT records      |
|  **ICMP** | Checks network reachability (ping)       | Servers, network equipment            |

***

## Monitor statuses

Each monitor can be in one of the following states:

| Status         | Description                  |
| -------------- | ---------------------------- |
| ⚪ **New**     | New monitor, not checked yet |
| 🟢 **Up**      | Working normally             |
| 🔵 **Running** | Running (for Job/Heartbeat)  |
| 🔴 **Down**    | Failed/unavailable           |

![screenshot with different monitor statuses](/docs/img/monitors/statuses.png)

***

## Creating a monitor

1. Go to the [Monitors](https://my.tuna.am/monitors) page
2. Click **Create monitor**
3. Select the monitor type
4. Fill in the monitor parameters
5. Configure notifications (optional)
6. Save the monitor

For all monitor types there are common settings: **Description** and **Notifications**. But **Details** and **Checks** differ depending on the monitor type. See the dedicated [page](https://tuna.am/en/docs/monitors/types.md) for more details on each type.

***

## Notifications

Monitors are integrated with the notification system through [Contacts](https://tuna.am/en/docs/team/contacts.md) and [Integrations](https://tuna.am/en/docs/team/integrations.md). If no specific contact groups are specified, notifications are sent to the user's email. You can also disable notifications for a monitor.

***

## Viewing a monitor

The monitor details page shows a lot of information. The data may differ depending on the monitor type.

![screenshot with the status and full information about the monitor](/docs/img/monitors/status.png)

### Management

* **Enable/Disable** notifications for the monitor
* **Edit** — change monitor parameters
* **Delete** — delete the monitor

![notifications disabled](/docs/img/monitors/alert_disable.png)

***

## Regions and check interval

External monitors (HTTP, TCP, DNS, ICMP) can be checked from multiple geographic regions. When creating an external monitor you can choose one or several check regions. You also specify how often the resource availability check should run — the interval.

![screenshot with region selection](/docs/img/monitors/region.png)

***

## Working from the CLI

For [Job](https://tuna.am/en/docs/monitors/types/job.md) and [Heartbeat](https://tuna.am/en/docs/monitors/types/heartbeat.md) monitors you can use the [tuna](https://tuna.am/en/docs/guides/install/install-cli.md) console client.

See more: [Working with monitors in the CLI](https://tuna.am/en/docs/monitors/cli.md)

***

## [🗃Monitor types](https://tuna.am/en/docs/monitors/types.md)

[6 items](https://tuna.am/en/docs/monitors/types.md)

## [📄️Status pages](https://tuna.am/en/docs/monitors/status_pages.md)

[Public pages with the status of your services based on Tuna monitors](https://tuna.am/en/docs/monitors/status_pages.md)

## [📄️Working from the CLI](https://tuna.am/en/docs/monitors/cli.md)

[Managing monitors through the tuna console client](https://tuna.am/en/docs/monitors/cli.md)

## [🗃Examples](https://tuna.am/en/docs/monitors/examples.md)

[2 items](https://tuna.am/en/docs/monitors/examples.md)
