Documentation ¶
Index ¶
- func GetDokerLogInInstance(etcdClient *clientv3.Client, conf conf.DiscoverConf, serviceID string) (string, error)
- func SaveDockerLogInInstance(etcdClient *clientv3.Client, conf conf.DiscoverConf, ...) error
- type EtcdDiscoverManager
- func (d *EtcdDiscoverManager) CancellationInstance(instance *Instance)
- func (d *EtcdDiscoverManager) GetCurrentInstance() Instance
- func (d *EtcdDiscoverManager) GetInstance(id string) *Instance
- func (d *EtcdDiscoverManager) InstanceCheckHealth(instanceID string) string
- func (d *EtcdDiscoverManager) MonitorAddInstances() chan *Instance
- func (d *EtcdDiscoverManager) MonitorDelInstances() chan *Instance
- func (d *EtcdDiscoverManager) MonitorUpdateInstances() chan *Instance
- func (d *EtcdDiscoverManager) RegisteredInstance(host string, port int, stopRegister *bool) *Instance
- func (d *EtcdDiscoverManager) Run() error
- func (d *EtcdDiscoverManager) Scrape(ch chan<- prometheus.Metric, namespace, exporter string) error
- func (d *EtcdDiscoverManager) Stop()
- func (d *EtcdDiscoverManager) UpdateInstance(instance *Instance)
- type Instance
- type Manager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDokerLogInInstance ¶
func GetDokerLogInInstance(etcdClient *clientv3.Client, conf conf.DiscoverConf, serviceID string) (string, error)
GetDokerLogInInstance 获取应用日志接收节点
func SaveDockerLogInInstance ¶
func SaveDockerLogInInstance(etcdClient *clientv3.Client, conf conf.DiscoverConf, serviceID, instanceID string) error
SaveDockerLogInInstance 存储service和node 的对应关系
Types ¶
type EtcdDiscoverManager ¶
type EtcdDiscoverManager struct {
// contains filtered or unexported fields
}
EtcdDiscoverManager 基于ETCD自动发现
func (*EtcdDiscoverManager) CancellationInstance ¶
func (d *EtcdDiscoverManager) CancellationInstance(instance *Instance)
CancellationInstance 注销实例
func (*EtcdDiscoverManager) GetCurrentInstance ¶
func (d *EtcdDiscoverManager) GetCurrentInstance() Instance
GetCurrentInstance 获取当前节点
func (*EtcdDiscoverManager) GetInstance ¶
func (d *EtcdDiscoverManager) GetInstance(id string) *Instance
GetInstance 获取实例
func (*EtcdDiscoverManager) InstanceCheckHealth ¶
func (d *EtcdDiscoverManager) InstanceCheckHealth(instanceID string) string
InstanceCheckHealth 将由distribution调用,当发现节点不正常时 此处检查,如果节点已经下线,返回 delete 如果节点未下线标记为异常,返回 abnormal 如果节点被集群判断为故障,返回 delete
func (*EtcdDiscoverManager) MonitorAddInstances ¶
func (d *EtcdDiscoverManager) MonitorAddInstances() chan *Instance
MonitorAddInstances 实例通知
func (*EtcdDiscoverManager) MonitorDelInstances ¶
func (d *EtcdDiscoverManager) MonitorDelInstances() chan *Instance
MonitorDelInstances 实例通知
func (*EtcdDiscoverManager) MonitorUpdateInstances ¶
func (d *EtcdDiscoverManager) MonitorUpdateInstances() chan *Instance
MonitorUpdateInstances 实例通知
func (*EtcdDiscoverManager) RegisteredInstance ¶
func (d *EtcdDiscoverManager) RegisteredInstance(host string, port int, stopRegister *bool) *Instance
RegisteredInstance 注册实例
func (*EtcdDiscoverManager) Scrape ¶
func (d *EtcdDiscoverManager) Scrape(ch chan<- prometheus.Metric, namespace, exporter string) error
Scrape prometheus monitor metrics
func (*EtcdDiscoverManager) UpdateInstance ¶
func (d *EtcdDiscoverManager) UpdateInstance(instance *Instance)
UpdateInstance 更新实例
type Instance ¶
type Instance struct { HostID string HostIP net.IP PubPort int DockerLogPort int WebPort int HostName string Status string TagNumber int //当TagNumber大于集群总数的一半,则下线此节点 LastHealthCheck time.Time }
Instance 实例
func DeleteSlice ¶
DeleteSlice 从数组中删除某元素
type Manager ¶
type Manager interface { RegisteredInstance(host string, port int, stopRegister *bool) *Instance CancellationInstance(instance *Instance) MonitorAddInstances() chan *Instance MonitorDelInstances() chan *Instance MonitorUpdateInstances() chan *Instance GetInstance(string) *Instance InstanceCheckHealth(string) string Run() error GetCurrentInstance() Instance Stop() Scrape(ch chan<- prometheus.Metric, namespace, exporter string) error }
Manager 节点动态发现管理器
Click to show internal directories.
Click to hide internal directories.