Added container event monitoring
This commit is contained in:
parent
98d368e7ac
commit
6ffb8454b0
@ -98,6 +98,7 @@ func New(memoryStorage *memory.InMemoryStorage, sysfs sysfs.SysFs) (Manager, err
|
|||||||
quitChannels: make([]chan error, 0, 2),
|
quitChannels: make([]chan error, 0, 2),
|
||||||
memoryStorage: memoryStorage,
|
memoryStorage: memoryStorage,
|
||||||
cadvisorContainer: selfContainer,
|
cadvisorContainer: selfContainer,
|
||||||
|
startupTime: time.Now(),
|
||||||
}
|
}
|
||||||
|
|
||||||
machineInfo, err := getMachineInfo(sysfs)
|
machineInfo, err := getMachineInfo(sysfs)
|
||||||
@ -151,6 +152,7 @@ type manager struct {
|
|||||||
dockerContainersRegexp *regexp.Regexp
|
dockerContainersRegexp *regexp.Regexp
|
||||||
loadReader cpuload.CpuLoadReader
|
loadReader cpuload.CpuLoadReader
|
||||||
eventHandler events.EventManager
|
eventHandler events.EventManager
|
||||||
|
startupTime time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start the container manager.
|
// Start the container manager.
|
||||||
@ -488,6 +490,29 @@ func (m *manager) createContainer(containerName string) error {
|
|||||||
}
|
}
|
||||||
glog.Infof("Added container: %q (aliases: %v, namespace: %q)", containerName, cont.info.Aliases, cont.info.Namespace)
|
glog.Infof("Added container: %q (aliases: %v, namespace: %q)", containerName, cont.info.Aliases, cont.info.Namespace)
|
||||||
|
|
||||||
|
contSpecs, err := cont.handler.GetSpec()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if contSpecs.CreationTime.After(m.startupTime) {
|
||||||
|
contRef, err := cont.handler.ContainerReference()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
newEvent := &events.Event{
|
||||||
|
ContainerName: contRef.Name,
|
||||||
|
EventData: contSpecs,
|
||||||
|
Timestamp: contSpecs.CreationTime,
|
||||||
|
EventType: events.TypeContainerCreation,
|
||||||
|
}
|
||||||
|
err = m.eventHandler.AddEvent(newEvent)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Start the container's housekeeping.
|
// Start the container's housekeeping.
|
||||||
cont.Start()
|
cont.Start()
|
||||||
|
|
||||||
@ -522,6 +547,21 @@ func (m *manager) destroyContainer(containerName string) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
glog.Infof("Destroyed container: %q (aliases: %v, namespace: %q)", containerName, cont.info.Aliases, cont.info.Namespace)
|
glog.Infof("Destroyed container: %q (aliases: %v, namespace: %q)", containerName, cont.info.Aliases, cont.info.Namespace)
|
||||||
|
|
||||||
|
contRef, err := cont.handler.ContainerReference()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
newEvent := &events.Event{
|
||||||
|
ContainerName: contRef.Name,
|
||||||
|
Timestamp: time.Now(),
|
||||||
|
EventType: events.TypeContainerDeletion,
|
||||||
|
}
|
||||||
|
err = m.eventHandler.AddEvent(newEvent)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user