DigitalOcean.Monitoring (digital_ocean v0.5.0)

Summary

Functions

Create an alert policy.

Delete an alert policy.

Retrieve an alert policy.

Retrieve available memory metrics for a droplet.

Retrieve bandwidth metrics for a droplet.

Retrieve cached memory metrics for a droplet.

Retrieve CPU metrics for a droplet.

Retrieve filesystem free metrics for a droplet.

Retrieve filesystem size metrics for a droplet.

Retrieve free memory metrics for a droplet.

Retrieve 1 minute load average metrics for a droplet.

Retrieve 5 minute load average metrics for a droplet.

Retrieve 15 minute load average metrics for a droplet.

Retrieve total memory metrics for a droplet.

Retrieve a list of alert policies that are configured for the given account.

Update an alert policy.

Functions

create_alert_policy(opts)

@spec create_alert_policy(Keyword.t()) :: DigitalOcean.Operation.t()

Create an alert policy.

Examples

iex> DigitalOcean.Monitoring.create_alert_policy(
...>   alerts: %{
...>     email: [
...>       "bob@example.com"
...>     ],
...>     slack: [
...>       %{
...>         channel: "Production Alerts",
...>         url: "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
...>       }
...>     ]
...>   },
...>   compare: "GreaterThan",
...>   description: "CPU Alert",
...>   enabled: true,
...>   entities: [
...>     "192018292"
...>   ],
...>   tags: [
...>     "droplet_tag"
...>   ],
...>   type: "v1/insights/droplet/cpu",
...>   value: 80,
...>   window: "5m"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

delete_alert_policy(alert_id)

@spec delete_alert_policy(DigitalOcean.id_t()) :: DigitalOcean.Operation.t()

Delete an alert policy.

Examples

iex> DigitalOcean.delete_alert_policy("4de7ac8b-495b-4884-9a69-1050c6793cd6") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

get_alert_policy(alert_id)

@spec get_alert_policy(DigitalOcean.id_t()) :: DigitalOcean.Operation.t()

Retrieve an alert policy.

Examples

iex> DigitalOcean.Monitoring.get_alert_policy("78b3da62-27e5-49ba-ac70-5db0b5935c64") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

get_droplet_available_memory_metrics(opts)

@spec get_droplet_available_memory_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve available memory metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_available_memory_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_bandwidth_metrics(opts)

@spec get_droplet_bandwidth_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve bandwidth metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_bandwidth_metrics(
...>   direction: "outbound",
...>   end: 1636051668,
...>   host_id: 222651441,
...>   interface: "public",
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_cached_memory_metrics(opts)

@spec get_droplet_cached_memory_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve cached memory metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_cached_memory_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_cpu_metrics(opts)

@spec get_droplet_cpu_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve CPU metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_cpu_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_filesystem_free_metrics(opts)

@spec get_droplet_filesystem_free_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve filesystem free metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_filesystem_free_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_filesystem_size_metrics(opts)

@spec get_droplet_filesystem_size_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve filesystem size metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_filesystem_size_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_free_memory_metrics(opts)

@spec get_droplet_free_memory_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve free memory metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_free_memory_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_load_1_metrics(opts)

@spec get_droplet_load_1_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve 1 minute load average metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_load_1_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_load_5_metrics(opts)

@spec get_droplet_load_5_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve 5 minute load average metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_load_5_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_load_15_metrics(opts)

@spec get_droplet_load_15_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve 15 minute load average metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_load_15_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

get_droplet_total_memory_metrics(opts)

@spec get_droplet_total_memory_metrics(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve total memory metrics for a droplet.

Examples

iex> DigitalOcean.Monitoring.get_droplet_total_memory_metrics(
...>   end: 1636051668,
...>   host_id: 222651441,
...>   start: 1636051668
...> )
{ :ok, %DigitalOcean.Response{} }

list_alert_policies(opts \\ [])

@spec list_alert_policies(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve a list of alert policies that are configured for the given account.

Examples

iex> DigitalOcean.Monitoring.list_alert_policies() |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

update_alert_policy(alert_id, opts)

@spec update_alert_policy(DigitalOcean.id_t(), Keyword.t()) ::
  DigitalOcean.Operation.t()

Update an alert policy.

Examples

iex> DigitalOcean.Monitoring.update_alert_policy(
...>   alerts: %{
...>     email: [
...>       "bob@example.com"
...>     ],
...>     slack: [
...>       %{
...>         channel: "Production Alerts",
...>         url: "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
...>       }
...>     ]
...>   },
...>   compare: "GreaterThan",
...>   description: "CPU Alert",
...>   enabled: true,
...>   entities: [
...>     "192018292"
...>   ],
...>   tags: [
...>     "droplet_tag"
...>   ],
...>   type: "v1/insights/droplet/cpu",
...>   value: 80,
...>   window: "5m"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }