This commit is contained in:
crusader
2017-12-14 15:17:58 +09:00
parent 4d83529943
commit 900a5c42dd
14 changed files with 131 additions and 152 deletions

View File

@@ -5,9 +5,9 @@ import (
)
type Crawler interface {
Init(config *configM.Config) (bool, error)
Add(config *configM.Config) (bool, error)
Remove(id string) (bool, error)
Init(config *configM.Config) error
Add(config *configM.Config) error
Remove(id string) error
Get(id string) (map[string]string, error)
Name() string
@@ -44,19 +44,19 @@ func (c *Crawlers) PutConfig(id string, config *configM.Config) {
c.configs[id] = config
}
func (c *Crawlers) Init(config *configM.Config) (bool, error) {
func (c *Crawlers) Init(config *configM.Config) error {
c.PutConfig(config.ID.String(), config)
return true, nil
return nil
}
func (c *Crawlers) Add(config *configM.Config) (bool, error) {
func (c *Crawlers) Add(config *configM.Config) error {
c.PutConfig(config.ID.String(), config)
return true, nil
return nil
}
func (c *Crawlers) Remove(id string) (bool, error) {
func (c *Crawlers) Remove(id string) error {
c.RemoveConfig(id)
return true, nil
return nil
}
func (c *Crawlers) Get(id string) (map[string]string, error) {

72
crawler/impl/impl.go Normal file
View File

@@ -0,0 +1,72 @@
package impl
import (
"git.loafle.net/overflow/overflow_probe_container_network/crawler"
activedirectoryH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/activedirectory"
cassandraH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/cassandra"
dnsH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/dns"
ftpH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/ftp"
httpH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/http"
imapH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/imap"
ldapH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/ldap"
mongodbH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/mongodb"
mysqlH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/mysql"
netbiosH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/netbios"
oracleH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/oracle"
popH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/pop"
postgresqlH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/postgresql"
redisH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/redis"
rmiH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/rmi"
smbH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/smb"
smtpH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/smtp"
snmpV2H "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/snmp/v2"
snmpV3H "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/snmp/v3"
sqlserverH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/sqlserver"
sshH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/ssh"
telnetH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/telnet"
wmiH "git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/health/wmi"
"git.loafle.net/overflow/overflow_probe_container_network/crawler/impl/ssh"
)
var crawlers map[string]crawler.Crawler
func init() {
crawlers = make(map[string]crawler.Crawler, 0)
addCrawler(activedirectoryH.NewCrawler())
addCrawler(cassandraH.NewCrawler())
addCrawler(dnsH.NewCrawler())
addCrawler(ftpH.NewCrawler())
addCrawler(httpH.NewCrawler())
addCrawler(imapH.NewCrawler())
addCrawler(ldapH.NewCrawler())
addCrawler(mongodbH.NewCrawler())
addCrawler(mysqlH.NewCrawler())
addCrawler(netbiosH.NewCrawler())
addCrawler(oracleH.NewCrawler())
addCrawler(popH.NewCrawler())
addCrawler(postgresqlH.NewCrawler())
addCrawler(redisH.NewCrawler())
addCrawler(rmiH.NewCrawler())
addCrawler(smbH.NewCrawler())
addCrawler(smtpH.NewCrawler())
addCrawler(snmpV2H.NewCrawler())
addCrawler(snmpV3H.NewCrawler())
addCrawler(sqlserverH.NewCrawler())
addCrawler(sshH.NewCrawler())
addCrawler(telnetH.NewCrawler())
addCrawler(wmiH.NewCrawler())
addCrawler(ssh.NewCrawler())
}
func addCrawler(c crawler.Crawler) {
crawlers[c.Name()] = c
}
func GetCrawler(name string) crawler.Crawler {
c, ok := crawlers[name]
if !ok {
return nil
}
return c
}