Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Commit

Permalink
fix: agent cmd
Browse files Browse the repository at this point in the history
  • Loading branch information
sysatom committed May 28, 2021
1 parent 59b2491 commit ee04017
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 11 deletions.
59 changes: 59 additions & 0 deletions cmd/agent/redis/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package main

import (
"github.com/tsundata/assistant/internal/app/agent"
"github.com/tsundata/assistant/internal/app/agent/broker"
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/influx"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/redis"
"github.com/tsundata/assistant/internal/pkg/vendors/rollbar"
)

func CreateApp() (*app.Application, error) {
appConfig := config.NewConfig()

r := rollbar.New(appConfig)

log := logger.NewLogger(r)

i, err := influx.New(appConfig)
if err != nil {
return nil, err
}

rdb, err := redis.New(appConfig)
if err != nil {
return nil, err
}

br, err := broker.NewBroker(appConfig, log, i)
if err != nil {
return nil, err
}

b, err := broker.NewRedis(br, rdb)
if err != nil {
return nil, err
}

application, err := agent.NewApp(appConfig, log, b)
if err != nil {
return nil, err
}
return application, nil
}

func main() {
a, err := CreateApp()
if err != nil {
panic(err)
}

if err := a.Start(); err != nil {
panic(err)
}

a.AwaitSignal()
}
53 changes: 53 additions & 0 deletions cmd/agent/server/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package main

import (
"github.com/tsundata/assistant/internal/app/agent"
"github.com/tsundata/assistant/internal/app/agent/broker"
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/influx"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/vendors/rollbar"
)

func CreateApp() (*app.Application, error) {
appConfig := config.NewConfig()

r := rollbar.New(appConfig)

log := logger.NewLogger(r)

i, err := influx.New(appConfig)
if err != nil {
return nil, err
}

br, err := broker.NewBroker(appConfig, log, i)
if err != nil {
return nil, err
}

b, err := broker.NewServer(br)
if err != nil {
return nil, err
}

application, err := agent.NewApp(appConfig, log, b)
if err != nil {
return nil, err
}
return application, nil
}

func main() {
a, err := CreateApp()
if err != nil {
panic(err)
}

if err := a.Start(); err != nil {
panic(err)
}

a.AwaitSignal()
}
13 changes: 4 additions & 9 deletions internal/app/agent/broker/broker.go
Original file line number Diff line number Diff line change
@@ -1,29 +1,24 @@
package broker

import (
"errors"
influxdb2 "github.com/influxdata/influxdb-client-go/v2"
"github.com/spf13/viper"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/logger"
)

type Broker struct {
Org string
Bucket string
c *config.AppConfig
logger *logger.Logger
influx influxdb2.Client
}

func NewBroker(v *viper.Viper, logger *logger.Logger, influx influxdb2.Client) (*Broker, error) {
func NewBroker(c *config.AppConfig, logger *logger.Logger, influx influxdb2.Client) (*Broker, error) {
var err error
o := new(Broker)
o.c = c
o.logger = logger
o.influx = influx

if err = v.UnmarshalKey("influx", o); err != nil {
return nil, errors.New("unmarshal app option error")
}

return o, err
}

Expand Down
2 changes: 1 addition & 1 deletion internal/app/agent/broker/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func NewRedis(broker *Broker, rdb *redis.Client) (*Redis, error) {
func (b *Redis) Run() {
t := time.NewTicker(time.Second)

writeAPI := b.broker.influx.WriteAPI(b.broker.Org, b.broker.Bucket)
writeAPI := b.broker.influx.WriteAPI(b.broker.c.Influx.Org, b.broker.c.Influx.Bucket)
for range t.C {
// server
err := writeSection(b, writeAPI, "server")
Expand Down
2 changes: 1 addition & 1 deletion internal/app/agent/broker/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func (b *Server) Run() {
b.broker.logger.Error(err)
return
}
writeAPI := b.broker.influx.WriteAPI(b.broker.Org, b.broker.Bucket)
writeAPI := b.broker.influx.WriteAPI(b.broker.c.Influx.Org, b.broker.c.Influx.Bucket)
for range t.C {
// mem
v, err := mem.VirtualMemory()
Expand Down

0 comments on commit ee04017

Please sign in to comment.