mackerel

package module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 26, 2018 License: Apache-2.0 Imports: 13 Imported by: 0

README

mackerel-client-go

Build Status Coverage Status GoDoc

mackerel-client-go is a Go client library for mackerel.io API.

Usage

import "github.com/mackerelio/mackerel-client-go"
client := mackerel.NewClient("<Put your API key>")

hosts, err := client.FindHosts(&mackerel.FindHostsParam{
        Service: "My-Service",
        Roles: []string{"proxy"},
        Statuses: []string{mackerel.HostStatusWorking},
})

err := client.PostServiceMetricValues("My-Service", []*mackerel.MetricValue{
        &mackerel.MetricValue{
              Name:  "proxy.access_log.latency",
              Time:  123456789,
              Value: 500,
        },
})

CAUTION

Now, mackerel-client-go is an ALPHA version. In the future release, it may change it's interface.

CONTRIBUTION

  1. Fork (https://github.com/mackerelio/mackerel-client-go/fork)
  2. Create a feature branch
  3. Commit your changes
  4. Rebase your local changes against the master branch
  5. Run test suite with the go test ./... command and confirm that it passes
  6. Run gofmt -s
  7. Create new Pull Request

License

Copyright 2014 Hatena Co., Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Documentation

Index

Constants

View Source
const (
	// HostStatusWorking represents "working" status
	HostStatusWorking = "working"
	// HostStatusStandby represents "standby" status
	HostStatusStandby = "standby"
	// HostStatusMaintenance represents "maintenance" status
	HostStatusMaintenance = "maintenance"
	// HostStatusPoweroff represents "poeroff" status
	HostStatusPoweroff = "poweroff"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	StatusCode int
	Message    string
}

APIError represents the error type from Mackerel API.

func (*APIError) Error

func (err *APIError) Error() string

type Alert

type Alert struct {
	ID        string  `json:"id,omitempty"`
	Status    string  `json:"status,omitempty"`
	MonitorID string  `json:"monitorId,omitempty"`
	Type      string  `json:"type,omitempty"`
	HostID    string  `json:"hostId,omitempty"`
	Value     float64 `json:"value,omitempty"`
	Message   string  `json:"message,omitempty"`
	Reason    string  `json:"reason,omitempty"`
	OpenedAt  int64   `json:"openedAt,omitempty"`
	ClosedAt  int64   `json:"closedAt,omitempty"`
}

Alert information

type AlertsResp added in v0.1.0

type AlertsResp struct {
	Alerts []*Alert `json:"alerts"`
	NextID string   `json:"nextId,omitempty"`
}

AlertsResp includes alert and next id

type BlockDevice

type BlockDevice map[string]map[string]interface{}

BlockDevice blockdevice

type CPU

type CPU []map[string]interface{}

CPU cpu

type CheckConfig

type CheckConfig struct {
	Name string `json:"name,omitempty"`
	Memo string `json:"memo,omitempty"`
}

CheckConfig is check plugin name and memo

type CheckReport

type CheckReport struct {
	Source               CheckSource `json:"source"`
	Name                 string      `json:"name"`
	Status               CheckStatus `json:"status"`
	Message              string      `json:"message"`
	OccurredAt           int64       `json:"occurredAt"`
	NotificationInterval uint        `json:"notificationInterval,omitempty"`
	MaxCheckAttempts     uint        `json:"maxCheckAttempts,omitempty"`
}

CheckReport represents a report of check monitoring

type CheckReports

type CheckReports struct {
	Reports []*CheckReport `json:"reports"`
}

CheckReports represents check reports for API

type CheckSource

type CheckSource interface {
	CheckType() string
	// contains filtered or unexported methods
}

CheckSource represents interface to which each check source type must confirm to

func NewCheckSourceHost

func NewCheckSourceHost(hostID string) CheckSource

NewCheckSourceHost returns new CheckSource which check type is "host"

type CheckStatus

type CheckStatus string

CheckStatus represents check monitoring status

const (
	CheckStatusOK       CheckStatus = "OK"
	CheckStatusWarning  CheckStatus = "WARNING"
	CheckStatusCritical CheckStatus = "CRITICAL"
	CheckStatusUnknown  CheckStatus = "UNKNOWN"
)

CheckStatuses

type Client

type Client struct {
	BaseURL           *url.URL
	APIKey            string
	Verbose           bool
	UserAgent         string
	AdditionalHeaders http.Header
	HTTPClient        *http.Client
}

Client api client for mackerel

func NewClient

func NewClient(apikey string) *Client

NewClient returns new mackerel.Client

func NewClientWithOptions

func NewClientWithOptions(apikey string, rawurl string, verbose bool) (*Client, error)

NewClientWithOptions returns new mackerel.Client

func (*Client) CloseAlert

func (c *Client) CloseAlert(alertID string, reason string) (*Alert, error)

CloseAlert close alert

func (*Client) CreateDashboard

func (c *Client) CreateDashboard(param *Dashboard) (*Dashboard, error)

CreateDashboard creating dashboard

func (*Client) CreateGraphAnnotation

func (c *Client) CreateGraphAnnotation(annotation *GraphAnnotation) (*GraphAnnotation, error)

CreateGraphAnnotation creates graph annotation.

func (*Client) CreateGraphDefs

func (c *Client) CreateGraphDefs(payloads []*GraphDefsParam) error

CreateGraphDefs create graph defs

func (*Client) CreateHost

func (c *Client) CreateHost(param *CreateHostParam) (string, error)

CreateHost creating host

func (*Client) CreateMonitor

func (c *Client) CreateMonitor(param Monitor) (Monitor, error)

CreateMonitor creating monitor

func (*Client) CreateRole

func (c *Client) CreateRole(serviceName string, param *CreateRoleParam) (*Role, error)

CreateRole creates role.

func (*Client) CreateService

func (c *Client) CreateService(param *CreateServiceParam) (*Service, error)

CreateService creates service

func (*Client) DeleteDashboard

func (c *Client) DeleteDashboard(dashboardID string) (*Dashboard, error)

DeleteDashboard delete dashboard

func (*Client) DeleteGraphAnnotation

func (c *Client) DeleteGraphAnnotation(annotationID string) (*GraphAnnotation, error)

DeleteGraphAnnotation deletes graph annotation.

func (*Client) DeleteHostMetaData

func (c *Client) DeleteHostMetaData(hostID, namespace string) error

DeleteHostMetaData delete host metadata.

func (*Client) DeleteMonitor

func (c *Client) DeleteMonitor(monitorID string) (Monitor, error)

DeleteMonitor update monitor

func (*Client) DeleteRole

func (c *Client) DeleteRole(serviceName, roleName string) (*Role, error)

DeleteRole deletes role.

func (*Client) DeleteRoleMetaData

func (c *Client) DeleteRoleMetaData(serviceName, roleName, namespace string) error

DeleteRoleMetaData delete role metadata.

func (*Client) DeleteService

func (c *Client) DeleteService(serviceName string) (*Service, error)

DeleteService deletes service

func (*Client) DeleteServiceMetaData

func (c *Client) DeleteServiceMetaData(serviceName, namespace string) error

DeleteServiceMetaData delete service metadata.

func (*Client) FetchHostMetricValues

func (c *Client) FetchHostMetricValues(hostID string, metricName string, from int64, to int64) ([]MetricValue, error)

FetchHostMetricValues retrieves the metric values for a Host

func (*Client) FetchLatestMetricValues

func (c *Client) FetchLatestMetricValues(hostIDs []string, metricNames []string) (LatestMetricValues, error)

FetchLatestMetricValues fetch latest metrics

func (*Client) FetchServiceMetricValues

func (c *Client) FetchServiceMetricValues(serviceName string, metricName string, from int64, to int64) ([]MetricValue, error)

FetchServiceMetricValues retrieves the metric values for a Service

func (*Client) FindAlerts

func (c *Client) FindAlerts() (*AlertsResp, error)

FindAlerts find open alerts

func (*Client) FindAlertsByNextID added in v0.1.0

func (c *Client) FindAlertsByNextID(nextID string) (*AlertsResp, error)

FindAlertsByNextID find next open alerts by next id

func (*Client) FindDashboard

func (c *Client) FindDashboard(dashboardID string) (*Dashboard, error)

FindDashboard find dashboard

func (*Client) FindDashboards

func (c *Client) FindDashboards() ([]*Dashboard, error)

FindDashboards find dashboards

func (*Client) FindGraphAnnotations

func (c *Client) FindGraphAnnotations(service string, from int64, to int64) ([]GraphAnnotation, error)

FindGraphAnnotations fetches graph annotation.

func (*Client) FindHost

func (c *Client) FindHost(id string) (*Host, error)

FindHost find the host

func (*Client) FindHosts

func (c *Client) FindHosts(param *FindHostsParam) ([]*Host, error)

FindHosts find hosts

func (*Client) FindMonitors

func (c *Client) FindMonitors() ([]Monitor, error)

FindMonitors find monitors

func (*Client) FindRoles added in v0.2.0

func (c *Client) FindRoles(serviceName string) ([]*Role, error)

FindRoles finds roles.

func (*Client) FindServices

func (c *Client) FindServices() ([]*Service, error)

FindServices finds services.

func (*Client) FindWithClosedAlerts added in v0.1.0

func (c *Client) FindWithClosedAlerts() (*AlertsResp, error)

FindWithClosedAlerts find open and close alerts

func (*Client) FindWithClosedAlertsByNextID added in v0.1.0

func (c *Client) FindWithClosedAlertsByNextID(nextID string) (*AlertsResp, error)

FindWithClosedAlertsByNextID find open and close alerts by next id

func (*Client) GetHostMetaData

func (c *Client) GetHostMetaData(hostID, namespace string) (*HostMetaDataResp, error)

GetHostMetaData find host metadata.

func (*Client) GetHostMetaDataNameSpaces

func (c *Client) GetHostMetaDataNameSpaces(hostID string) ([]string, error)

GetHostMetaDataNameSpaces fetches namespaces of host metadata.

func (*Client) GetMonitor

func (c *Client) GetMonitor(monitorID string) (Monitor, error)

GetMonitor get monitor.

func (*Client) GetOrg

func (c *Client) GetOrg() (*Org, error)

GetOrg get the org

func (*Client) GetRoleMetaData

func (c *Client) GetRoleMetaData(serviceName, roleName, namespace string) (*RoleMetaDataResp, error)

GetRoleMetaData find role metadata.

func (*Client) GetRoleMetaDataNameSpaces

func (c *Client) GetRoleMetaDataNameSpaces(serviceName, roleName string) ([]string, error)

GetRoleMetaDataNameSpaces fetches namespaces of role metadata.

func (*Client) GetServiceMetaData

func (c *Client) GetServiceMetaData(serviceName, namespace string) (*ServiceMetaDataResp, error)

GetServiceMetaData find service metadata.

func (*Client) GetServiceMetaDataNameSpaces

func (c *Client) GetServiceMetaDataNameSpaces(serviceName string) ([]string, error)

GetServiceMetaDataNameSpaces fetches namespaces of service metadata.

func (*Client) ListHostMetricNames

func (c *Client) ListHostMetricNames(id string) ([]string, error)

ListHostMetricNames lists metric names of a host

func (*Client) ListServiceMetricNames

func (c *Client) ListServiceMetricNames(serviceName string) ([]string, error)

ListServiceMetricNames lists metric names of a service

func (*Client) PostCheckReports

func (c *Client) PostCheckReports(crs *CheckReports) error

PostCheckReports reports check monitoring results

func (*Client) PostHostMetricValues

func (c *Client) PostHostMetricValues(metricValues [](*HostMetricValue)) error

PostHostMetricValues post host metrics

func (*Client) PostHostMetricValuesByHostID

func (c *Client) PostHostMetricValuesByHostID(hostID string, metricValues [](*MetricValue)) error

PostHostMetricValuesByHostID post host metrics

func (*Client) PostJSON

func (c *Client) PostJSON(path string, payload interface{}) (*http.Response, error)

PostJSON shortcut method for posting json

func (*Client) PostServiceMetricValues

func (c *Client) PostServiceMetricValues(serviceName string, metricValues [](*MetricValue)) error

PostServiceMetricValues post service metrics

func (*Client) PutHostMetaData

func (c *Client) PutHostMetaData(hostID, namespace string, metadata HostMetaData) error

PutHostMetaData put host metadata.

func (*Client) PutJSON

func (c *Client) PutJSON(path string, payload interface{}) (*http.Response, error)

PutJSON shortcut method for putting json

func (*Client) PutRoleMetaData

func (c *Client) PutRoleMetaData(serviceName, roleName, namespace string, metadata RoleMetaData) error

PutRoleMetaData put role metadata.

func (*Client) PutServiceMetaData

func (c *Client) PutServiceMetaData(serviceName, namespace string, metadata ServiceMetaData) error

PutServiceMetaData put service metadata.

func (*Client) Request

func (c *Client) Request(req *http.Request) (resp *http.Response, err error)

Request request to mackerel and receive response

func (*Client) RetireHost

func (c *Client) RetireHost(id string) error

RetireHost retuire the host

func (*Client) UpdateDashboard

func (c *Client) UpdateDashboard(dashboardID string, param *Dashboard) (*Dashboard, error)

UpdateDashboard update dashboard

func (*Client) UpdateGraphAnnotation

func (c *Client) UpdateGraphAnnotation(annotationID string, annotation *GraphAnnotation) (*GraphAnnotation, error)

UpdateGraphAnnotation updates graph annotation.

func (*Client) UpdateHost

func (c *Client) UpdateHost(hostID string, param *UpdateHostParam) (string, error)

UpdateHost updates host

func (*Client) UpdateHostRoleFullnames

func (c *Client) UpdateHostRoleFullnames(hostID string, roleFullnames []string) error

UpdateHostRoleFullnames updates host roles

func (*Client) UpdateHostStatus

func (c *Client) UpdateHostStatus(hostID string, status string) error

UpdateHostStatus updates host status

func (*Client) UpdateMonitor

func (c *Client) UpdateMonitor(monitorID string, param Monitor) (Monitor, error)

UpdateMonitor update monitor

type Cloud

type Cloud struct {
	Provider string      `json:"provider,omitempty"`
	MetaData interface{} `json:"metadata,omitempty"`
}

Cloud cloud

type CreateHostParam

type CreateHostParam struct {
	Name             string        `json:"name"`
	DisplayName      string        `json:"displayName,omitempty"`
	Meta             HostMeta      `json:"meta"`
	Interfaces       []Interface   `json:"interfaces,omitempty"`
	RoleFullnames    []string      `json:"roleFullnames,omitempty"`
	Checks           []CheckConfig `json:"checks,omitempty"`
	CustomIdentifier string        `json:"customIdentifier,omitempty"`
}

CreateHostParam parameters for CreateHost

type CreateRoleParam

type CreateRoleParam Role

CreateRoleParam parameters for CreateRole

type CreateServiceParam

type CreateServiceParam struct {
	Name string `json:"name"`
	Memo string `json:"memo"`
}

CreateServiceParam parameters for CreateService

type Dashboard

type Dashboard struct {
	ID           string `json:"id,omitempty"`
	Title        string `json:"title,omitempty"`
	BodyMarkDown string `json:"bodyMarkdown,omitempty"`
	URLPath      string `json:"urlPath,omitempty"`
	CreatedAt    int64  `json:"createdAt,omitempty"`
	UpdatedAt    int64  `json:"updatedAt,omitempty"`
}

Dashboard information

type FileSystem

type FileSystem map[string]interface{}

FileSystem filesystem

type FindHostsParam

type FindHostsParam struct {
	Service          string
	Roles            []string
	Name             string
	Statuses         []string
	CustomIdentifier string
}

FindHostsParam parameters for FindHosts

type GraphAnnotation

type GraphAnnotation struct {
	ID          string   `json:"id,omitempty"`
	Title       string   `json:"title,omitempty"`
	Description string   `json:"description,omitempty"`
	From        int64    `json:"from,omitempty"`
	To          int64    `json:"to,omitempty"`
	Service     string   `json:"service,omitempty"`
	Roles       []string `json:"roles,omitempty"`
}

GraphAnnotation represents parameters to post graph annotation.

type GraphDefsMetric

type GraphDefsMetric struct {
	Name        string `json:"name"`
	DisplayName string `json:"displayName"`
	IsStacked   bool   `json:"isStacked"`
}

GraphDefsMetric graph metric

type GraphDefsParam

type GraphDefsParam struct {
	Name        string             `json:"name"`
	DisplayName string             `json:"displayName"`
	Unit        string             `json:"unit"`
	Metrics     []*GraphDefsMetric `json:"metrics"`
}

GraphDefsParam parameters for posting graph definitions

type HeaderField

type HeaderField struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

HeaderField represents key-value pairs in an HTTP header for external http monitoring.

type Host

type Host struct {
	ID               string      `json:"id"`
	Name             string      `json:"name"`
	DisplayName      string      `json:"displayName,omitempty"`
	CustomIdentifier string      `json:"customIdentifier,omitempty"`
	Type             string      `json:"type"`
	Status           string      `json:"status"`
	Memo             string      `json:"memo"`
	Roles            Roles       `json:"roles"`
	IsRetired        bool        `json:"isRetired"`
	CreatedAt        int32       `json:"createdAt"`
	Meta             HostMeta    `json:"meta"`
	Interfaces       []Interface `json:"interfaces"`
}

Host host information

func (*Host) DateFromCreatedAt

func (h *Host) DateFromCreatedAt() time.Time

DateFromCreatedAt returns time.Time

func (*Host) GetRoleFullnames

func (h *Host) GetRoleFullnames() []string

GetRoleFullnames getrolefullnames

func (*Host) IPAddresses

func (h *Host) IPAddresses() map[string]string

IPAddresses returns ipaddresses

type HostMeta

type HostMeta struct {
	AgentRevision string      `json:"agent-revision,omitempty"`
	AgentVersion  string      `json:"agent-version,omitempty"`
	AgentName     string      `json:"agent-name,omitempty"`
	BlockDevice   BlockDevice `json:"block_device,omitempty"`
	CPU           CPU         `json:"cpu,omitempty"`
	Filesystem    FileSystem  `json:"filesystem,omitempty"`
	Kernel        Kernel      `json:"kernel,omitempty"`
	Memory        Memory      `json:"memory,omitempty"`
	Cloud         *Cloud      `json:"cloud,omitempty"`
}

HostMeta host meta informations

type HostMetaData

type HostMetaData interface{}

HostMetaData represents host metadata body.

type HostMetaDataResp

type HostMetaDataResp struct {
	HostMetaData HostMetaData
	LastModified time.Time
}

HostMetaDataResp represents response for host metadata.

type HostMetricValue

type HostMetricValue struct {
	HostID string `json:"hostId,omitempty"`
	*MetricValue
}

HostMetricValue host metric value

type Interface

type Interface struct {
	Name          string   `json:"name,omitempty"`
	IPAddress     string   `json:"ipAddress,omitempty"`
	IPv4Addresses []string `json:"ipv4Addresses,omitempty"`
	IPv6Addresses []string `json:"ipv6Addresses,omitempty"`
	MacAddress    string   `json:"macAddress,omitempty"`
}

Interface network interface

type Kernel

type Kernel map[string]string

Kernel kernel

type LatestMetricValues

type LatestMetricValues map[string]map[string]*MetricValue

LatestMetricValues latest metric value

type Memory

type Memory map[string]string

Memory memory

type MetricValue

type MetricValue struct {
	Name  string      `json:"name,omitempty"`
	Time  int64       `json:"time,omitempty"`
	Value interface{} `json:"value,omitempty"`
}

MetricValue metric value

type Monitor

type Monitor interface {
	MonitorType() string
	MonitorID() string
	MonitorName() string
	// contains filtered or unexported methods
}

Monitor represents interface to which each monitor type must confirm to.

type MonitorConnectivity

type MonitorConnectivity struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Memo                 string `json:"memo,omitempty"`
	Type                 string `json:"type,omitempty"`
	IsMute               bool   `json:"isMute,omitempty"`
	NotificationInterval uint64 `json:"notificationInterval,omitempty"`

	Scopes        []string `json:"scopes,omitempty"`
	ExcludeScopes []string `json:"excludeScopes,omitempty"`
}

MonitorConnectivity represents connectivity monitor.

func (*MonitorConnectivity) MonitorID

func (m *MonitorConnectivity) MonitorID() string

MonitorID returns monitor id.

func (*MonitorConnectivity) MonitorName

func (m *MonitorConnectivity) MonitorName() string

MonitorName returns monitor name.

func (*MonitorConnectivity) MonitorType

func (m *MonitorConnectivity) MonitorType() string

MonitorType returns monitor type.

type MonitorExpression

type MonitorExpression struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Memo                 string `json:"memo,omitempty"`
	Type                 string `json:"type,omitempty"`
	IsMute               bool   `json:"isMute,omitempty"`
	NotificationInterval uint64 `json:"notificationInterval,omitempty"`

	Expression string   `json:"expression,omitempty"`
	Operator   string   `json:"operator,omitempty"`
	Warning    *float64 `json:"warning"`
	Critical   *float64 `json:"critical"`
}

MonitorExpression represents expression monitor.

func (*MonitorExpression) MonitorID

func (m *MonitorExpression) MonitorID() string

MonitorID returns monitor id.

func (*MonitorExpression) MonitorName

func (m *MonitorExpression) MonitorName() string

MonitorName returns monitor name.

func (*MonitorExpression) MonitorType

func (m *MonitorExpression) MonitorType() string

MonitorType returns monitor type.

type MonitorExternalHTTP

type MonitorExternalHTTP struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Memo                 string `json:"memo,omitempty"`
	Type                 string `json:"type,omitempty"`
	IsMute               bool   `json:"isMute,omitempty"`
	NotificationInterval uint64 `json:"notificationInterval,omitempty"`

	Method                          string   `json:"method,omitempty"`
	URL                             string   `json:"url,omitempty"`
	MaxCheckAttempts                uint64   `json:"maxCheckAttempts,omitempty"`
	Service                         string   `json:"service,omitempty"`
	ResponseTimeCritical            *float64 `json:"responseTimeCritical,omitempty"`
	ResponseTimeWarning             *float64 `json:"responseTimeWarning,omitempty"`
	ResponseTimeDuration            *uint64  `json:"responseTimeDuration,omitempty"`
	RequestBody                     string   `json:"requestBody,omitempty"`
	ContainsString                  string   `json:"containsString,omitempty"`
	CertificationExpirationCritical *uint64  `json:"certificationExpirationCritical,omitempty"`
	CertificationExpirationWarning  *uint64  `json:"certificationExpirationWarning,omitempty"`
	SkipCertificateVerification     bool     `json:"skipCertificateVerification,omitempty"`
	// Empty list of headers and nil are different. You have to specify empty
	// list as headers explicitly if you want to remove all headers instead of
	// using nil.
	Headers []HeaderField `json:"headers"`
}

MonitorExternalHTTP represents external HTTP monitor.

func (*MonitorExternalHTTP) MonitorID

func (m *MonitorExternalHTTP) MonitorID() string

MonitorID returns monitor id.

func (*MonitorExternalHTTP) MonitorName

func (m *MonitorExternalHTTP) MonitorName() string

MonitorName returns monitor name.

func (*MonitorExternalHTTP) MonitorType

func (m *MonitorExternalHTTP) MonitorType() string

MonitorType returns monitor type.

type MonitorHostMetric

type MonitorHostMetric struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Memo                 string `json:"memo,omitempty"`
	Type                 string `json:"type,omitempty"`
	IsMute               bool   `json:"isMute,omitempty"`
	NotificationInterval uint64 `json:"notificationInterval,omitempty"`

	Metric           string   `json:"metric,omitempty"`
	Operator         string   `json:"operator,omitempty"`
	Warning          *float64 `json:"warning"`
	Critical         *float64 `json:"critical"`
	Duration         uint64   `json:"duration,omitempty"`
	MaxCheckAttempts uint64   `json:"maxCheckAttempts,omitempty"`

	Scopes        []string `json:"scopes,omitempty"`
	ExcludeScopes []string `json:"excludeScopes,omitempty"`
}

MonitorHostMetric represents host metric monitor.

func (*MonitorHostMetric) MonitorID

func (m *MonitorHostMetric) MonitorID() string

MonitorID returns monitor id.

func (*MonitorHostMetric) MonitorName

func (m *MonitorHostMetric) MonitorName() string

MonitorName returns monitor name.

func (*MonitorHostMetric) MonitorType

func (m *MonitorHostMetric) MonitorType() string

MonitorType returns monitor type.

type MonitorServiceMetric

type MonitorServiceMetric struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Memo                 string `json:"memo,omitempty"`
	Type                 string `json:"type,omitempty"`
	IsMute               bool   `json:"isMute,omitempty"`
	NotificationInterval uint64 `json:"notificationInterval,omitempty"`

	Service          string   `json:"service,omitempty"`
	Metric           string   `json:"metric,omitempty"`
	Operator         string   `json:"operator,omitempty"`
	Warning          *float64 `json:"warning"`
	Critical         *float64 `json:"critical"`
	Duration         uint64   `json:"duration,omitempty"`
	MaxCheckAttempts uint64   `json:"maxCheckAttempts,omitempty"`
}

MonitorServiceMetric represents service metric monitor.

func (*MonitorServiceMetric) MonitorID

func (m *MonitorServiceMetric) MonitorID() string

MonitorID returns monitor id.

func (*MonitorServiceMetric) MonitorName

func (m *MonitorServiceMetric) MonitorName() string

MonitorName returns monitor name.

func (*MonitorServiceMetric) MonitorType

func (m *MonitorServiceMetric) MonitorType() string

MonitorType returns monitor type.

type Org

type Org struct {
	Name string `json:"name"`
}

Org information

type Role

type Role struct {
	Name string `json:"name"`
	Memo string `json:"memo"`
}

Role represents Mackerel "role".

type RoleMetaData

type RoleMetaData interface{}

RoleMetaData represents role metadata body.

type RoleMetaDataResp

type RoleMetaDataResp struct {
	RoleMetaData RoleMetaData
	LastModified time.Time
}

RoleMetaDataResp represents response for role metadata.

type Roles

type Roles map[string][]string

Roles host role maps

type Service

type Service struct {
	Name  string   `json:"name"`
	Memo  string   `json:"memo"`
	Roles []string `json:"roles"`
}

Service represents Mackerel "service".

type ServiceMetaData

type ServiceMetaData interface{}

ServiceMetaData represents service metadata body.

type ServiceMetaDataResp

type ServiceMetaDataResp struct {
	ServiceMetaData ServiceMetaData
	LastModified    time.Time
}

ServiceMetaDataResp represents response for service metadata.

type UpdateHostParam

type UpdateHostParam CreateHostParam

UpdateHostParam parameters for UpdateHost

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL