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
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }
@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{} }