monitor

package
v0.0.0-...-6c0e201 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MonitoredContainers      *MonitoredContainers
	TimeLayout               []string
	UnstructuredLogLineFlags []string
}

Config 监视器配置

type DockerManager

type DockerManager struct {
	// contains filtered or unexported fields
}

DockerManager 结构体,封装 Docker 客户端和日志管理器

func NewDockerClientManager

func NewDockerClientManager(ctx context.Context, logger *logger.Manager) (*DockerManager, error)

NewDockerClientManager 创建 Docker 客户端管理器

func (*DockerManager) ContainerList

func (m *DockerManager) ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error)

ContainerList 列出所有容器

func (*DockerManager) ContainerLogs

func (m *DockerManager) ContainerLogs(ctx context.Context, containerID string, options container.LogsOptions) (io.ReadCloser, error)

ContainerLogs 获取日志

func (*DockerManager) Events

func (m *DockerManager) Events(ctx context.Context, options events.ListOptions) (<-chan events.Message, <-chan error)

Events 获取 Docker 事件

func (*DockerManager) GetClient

func (m *DockerManager) GetClient(ctx context.Context) *client.Client

GetClient 获取 Docker 客户端

func (*DockerManager) GetContainerInfo

func (m *DockerManager) GetContainerInfo(ctx context.Context, containerIdentifier, identifierType string) (string, error)

GetContainerInfo 获取容器信息 identifierType: 容器标识符类型, 可选值为 "name" 或 "id"

func (*DockerManager) GetContainerInspect

func (m *DockerManager) GetContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)

GetContainerInspect 获取容器详情

type Handler

type Handler interface {
	Start(ctx context.Context)
}

Handler 接口

func New

func New(ctx context.Context, db *gorm.DB,
	logger *logger.Manager,
	redis *redis.Manager,
	config *Config,
	traceID *trace.ID) (Handler, error)

New 创建日志收集器

type LogEntry

type LogEntry struct {
	Level         string                 `json:"L"`
	Time          string                 `json:"T"`
	Caller        string                 `json:"C"`
	Message       string                 `json:"M"`
	TraceID       string                 `json:"TraceID"`
	ContainerID   string                 `json:"ContainerID"`
	ContainerName string                 `json:"ContainerName"`
	Extra         map[string]interface{} `json:"-"` // 额外信息
}

LogEntry 日志条目结构体

type MonitoredContainers

type MonitoredContainers struct {
	Names    []string // 监视的容器名称
	Ids      []string // 监视的容器ID
	BlockIDs []string // 屏蔽的容器ID
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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