func (nagiosCheckBeat *NagiosCheckBeat) Run(b *beat.Beat) error {

	for _, checkConfig := range nagiosCheckBeat.checks {

		checkInstance := check.NagiosCheck{}
		checkInstance.Setup(&checkConfig)
		go checkInstance.Run(func(events []common.MapStr) {
			b.Events.PublishEvents(events)
		})

	}

	for {

		select {
		case <-nagiosCheckBeat.done:
			return nil
		}
	}

	return nil
}