log-agent/main.go

72 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package main
import (
"fmt"
"gopkg.in/ini.v1"
config "logagent/conf"
"logagent/etcd"
"logagent/kafka"
"time"
)
//logagent的入口程序
var (
cfg = new(config.AppConfig)
)
//func run() {
// //1.读取日志
// for {
// select {
// case line := <-taillog.ReadChan():
// //2.发送给kafka
// kafka.SendToKafka(cfg.KafkaConf.Topic, line.Text)
// default:
// time.Sleep(time.Second)
// }
// }
//}
func main() {
//1.读取配置文件
err := ini.MapTo(cfg, "./conf/config.ini")
if err != nil {
fmt.Println("load ini err:", err)
}
//1.初始化kafka连接
err = kafka.Init([]string{cfg.KafkaConf.Address})
if err != nil {
fmt.Printf("init kafka failed,error:%v\n", err)
return
}
fmt.Println("init kafka success")
//2.初始化etcd
err = etcd.Init(cfg.EtcdConf.Address, time.Duration(cfg.EtcdConf.Timeout)*time.Second)
if err != nil {
fmt.Printf("init etcd failed,error:%v\n", err)
}
//1.从etcd中获取日志收集项的配置信息
logEntryConf, err := etcd.GetConf("/xxx/")
if err != nil {
fmt.Printf("get etcd failed,error:%v\n", err)
return
}
fmt.Printf("get conf from etcd success,logEntryConf:%#v\n", logEntryConf)
for k, v := range logEntryConf {
fmt.Printf("index:%v,value:%v\n", k, v)
}
//2.派一个哨兵去监视日志收集项的变化有变化急事通知我的LogAgent实现热加载
//2.打开日志文件准备收集日志
//err = taillog.Init(cfg.TailLog.FileName)
//if err != nil {
// fmt.Printf("taillog init failed,error:%v\n", err)
// return
//}
//fmt.Println("init taillog success")
//run()
}