config

package
v0.0.0-...-b285d58 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AC

type AC struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	SSHHost []Host             `yaml:"ssh_host"`
	Config  *AgentCenterConfig `yaml:"config"`

	GrpcConnLimit int `yaml:"grpc_conn_limit"`

	KafkaTopic        string `yaml:"kafka_topic"`
	KafkaRawDataTopic string `yaml:"kafka_rawdata_topic"`
	KafkaHost         []Host `yaml:"kafka_host"`
	KafkaAuth         bool   `yaml:"kafka_auth"`
	KafkaUser         string `yaml:"kafka_user"`
	KafkaPwd          string `yaml:"kafka_pwd"`
	MGHost            []Host `yaml:"mg_host"`
	AcAk              string `yaml:"ac_ak"`
	AcSk              string `yaml:"ac_sk"`
	MgAk              string `yaml:"mg_ak"`
	MgSk              string `yaml:"mg_sk"`
	SDHost            []Host `yaml:"sd_host"`
}

type AgentCenterConfig

type AgentCenterConfig struct {
	Manage struct {
		Address []string `yaml:"addrs"`
	} `yaml:"manage"`
	Sd struct {
		Name    string   `yaml:"name"`
		Address []string `yaml:"addrs"`
		Auth    struct {
			Ak string `yaml:"ak"`
			Sk string `yaml:"sk"`
		} `yaml:"auth"`
	} `yaml:"sd"`
	Kafka struct {
		Address      []string `yaml:"addrs"`
		Topic        string   `yaml:"topic"`
		RawdataTopic string   `yaml:"rawdata_topic"`
		Sasl         struct {
			Enable   bool   `yaml:"enable"`
			Username string `yaml:"username"`
			Password string `yaml:"password"`
		} `yaml:"sasl"`
		LogPath string `yaml:"logpath"`
	} `yaml:"kafka"`
	Server struct {
		Log struct {
			AppLog struct {
				Path     string `yaml:"path"`
				Loglevel int    `yaml:"loglevel"`
			} `yaml:"applog"`
		} `yaml:"log"`
		Ssl struct {
			Keyfile         string `yaml:"keyfile"`
			CertFile        string `yaml:"certfile"`
			RawDataCertFile string `yaml:"rawdata_certfile"`
			CaFile          string `yaml:"cafile"`
			RawDataKeyfile  string `yaml:"rawdata_keyfile"`
		} `yaml:"ssl"`
		Grpc struct {
			Port      int `yaml:"port"`
			ConnLimit int `yaml:"connlimit"`
		} `yaml:"grpc"`
		HTTP struct {
			Port int `yaml:"port"`
			Auth struct {
				Enable bool              `yaml:"enable"`
				AkSk   map[string]string `yaml:"aksk"`
			} `yaml:"auth"`
			Ssl struct {
				Enable bool `yaml:"enable"`
			} `yaml:"ssl"`
		} `yaml:"http"`
		Pprof struct {
			Enable bool `yaml:"enable"`
			Port   int  `yaml:"port"`
		} `yaml:"pprof"`
		RawData struct {
			Port int `yaml:"port"`
		} `yaml:"rawdata"`
	} `yaml:"server"`
}

type AkSkModel

type AkSkModel struct {
	Ak string `yaml:"ak"`
	Sk string `yaml:"sk"`
}

type BasicConfig

type BasicConfig struct {
	Status string `yaml:"installed_stat" json:"installed_stat"`

	Version int   `yaml:"version" json:"version"`
	Quota   Quota `yaml:"quota" json:"quota"`
}

func (BasicConfig) GetVersion

func (b BasicConfig) GetVersion() int

type Checker

type Checker struct {
	BasicConfig
	Install bool `yaml:"install"`

	InstalledHosts []Host `yaml:"installed_hosts"`
}

type Config

type Config struct {
	Status        string         `yaml:"status"`
	DeployRecords []DeployRecord `yaml:"deploy_records"`

	Version string `yaml:"version"`

	AcceptInformationCollected bool `yaml:"accept_information_collected"`

	Redis      Redis      `yaml:"redis"`
	Prometheus Prometheus `yaml:"prometheus"`
	Grafana    Grafana    `yaml:"grafana"`
	Kafka      Kafka      `yaml:"kafka"`
	Mongodb    Mongodb    `yaml:"mongodb"`
	Nginx      Nginx      `yaml:"nginx"`
	HUB        HUB        `yaml:"hub"`
	HubLeader  HubLeader  `yaml:"hub_leader"`
	SD         SD         `yaml:"sd"`
	AC         AC         `yaml:"ac"`
	MG         MG         `yaml:"mg"`

	Checker                Checker                `yaml:"checker"`
	NodeExporter           NodeExporter           `yaml:"node_exporter"`
	RedisExporter          RedisExporter          `yaml:"redis_exporter"`
	MongodbExporter        MongodbExporter        `yaml:"mongodb_exporter"`
	KafkaExporter          KafkaExporter          `yaml:"kafka_exporter"`
	ZookeeperExporter      ZookeeperExporter      `yaml:"zookeeper_exporter"`
	ESExporter             ESExporter             `yaml:"es_exporter"`
	PrometheusAlertManager PrometheusAlertManager `yaml:"prometheus_alert_manager"`

	MongodbLeaderData  MongodbLeaderData  `yaml:"mongodb_leader_data"`
	MongodbManagerData MongodbManagerData `yaml:"mongodb_manager_data"`

	Report ReportConfig `yaml:"report"`
}

type DeployRecord

type DeployRecord struct {
	Component string    `yaml:"component_name"`
	Version   int       `yaml:"version"`
	Type      string    `yaml:"type"`
	Result    string    `yaml:"result"`
	Time      time.Time `yaml:"time"`
}

type ESExporter

type ESExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	ESHosts        []Host `yaml:"es_hosts"`
	InstalledHosts []Host `yaml:"installed_hosts"`
}

type Grafana

type Grafana struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	SSHHost            Host   `yaml:"ssh_host"`
	AdminPassword      string `yaml:"admin_password"`
	PrometheusUrl      string `yaml:"prometheus_url"`
	PrometheusPassword string `yaml:"prometheus_password"`
}

type HUB

type HUB struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	Host       Host   `yaml:"host"`
	SSHHost    Host   `yaml:"ssh_host"`
	PORT0      string `yaml:"port0"`
	PORT1      string `yaml:"port1"`
	RedisModel string `yaml:"redis_model"`
	RedisHost  []Host `yaml:"redis_host"`
	RedisPwd   string `yaml:"redis_pwd"`
	LeaderHost Host   `yaml:"leader_host"`
	MgHost     []Host `yaml:"mg_host"`
	SdHost     []Host `yaml:"sd_host"`
	Ak         string `yaml:"ak"`
	Sk         string `yaml:"sk"`
	MgPwd      string `yaml:"mg_pwd"`
	LeaderPwd  string `yaml:"leader_pwd"`
}

type Host

type Host struct {
	OriHost  string `yaml:"ori_host"`
	Host     string `yaml:"host"`
	Port     int    `yaml:"port"`
	Password string `yaml:"password"`
	User     string `yaml:"user"`
	KeyFile  string `yaml:"keyfile"`
}

type HubLeader

type HubLeader struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	LeaderHost  Host   `yaml:"leader_host"`
	SSHHost     Host   `yaml:"ssh_host"`
	PORT0       string `yaml:"port0"`
	PORT1       string `yaml:"port1"`
	HUBPassword string `yaml:"hub_password"`

	SdHost     []Host `yaml:"sd_host"`
	MongoUri   string `yaml:"mongo_uri"`
	RedisModel string `yaml:"redis_model"`
	RedisHost  []Host `yaml:"redis_host"`
	RedisPwd   string `yaml:"redis_pwd"`
	Ak         string `yaml:"ak"`
	Sk         string `yaml:"sk"`
	KafkaHost  []Host `yaml:"kafka_host"`
	KafkaTopic string `yaml:"kafka_topic"`
	HubHost    Host   `yaml:"hub_host"`
}

type Kafka

type Kafka struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	PartitionNum int `yaml:"partition_num"`

	SkipCheck bool   `yaml:"skip_check"`
	Topic     string `yaml:"topic"`
	KafkaHost []Host `yaml:"kafka_host"`
	Zookeeper []Host `yaml:"zookeeper"`
	ZkConnect string `yaml:"zk_connect"`
	ZkServers string `yaml:"zk_servers"`
	SSHHost   []Host `yaml:"ssh_host"`
	Auth      bool   `yaml:"auth"`
	Username  string `yaml:"username"`
	Passwd    string `yaml:"passwd"`
}

type KafkaExporter

type KafkaExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	KafkaURI       string `yaml:"kafka_uri"`
	InstalledHosts []Host `yaml:"installed_hosts"`
}

type MG

type MG struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	SSHHost       []Host         `yaml:"ssh_host"`
	Config        *ManagerConfig `yaml:"config"`
	RootPassword  string         `yaml:"root_password"`
	AdminPassword string         `yaml:"admin_password"`

	SDHost     []Host `yaml:"sd_host"`
	ESHost     []Host `yaml:"es_host"`
	ESUser     string `yaml:"es_user"`
	ESPassword string `yaml:"es_password"`
	Ak         string `yaml:"ak"`
	Sk         string `yaml:"sk"`
	RedisModel string `yaml:"redis_model"`
	RedisHost  []Host `yaml:"redis_host"`
	RedisPwd   string `yaml:"redis_pwd"`
	MongoUri   string `yaml:"mongo_uri"`
	DBName     string `yaml:"dbname"`
	HubCluster string `yaml:"hub_cluster"`
	HubInputID string `yaml:"hub_input_id"`
	LeaderAK   string `yaml:"leader_ak"`
	LeaderSK   string `yaml:"leader_sk"`
	ACHost     []Host `yaml:"ac_host"`
}

type ManagerConfig

type ManagerConfig struct {
	HTTP struct {
		Port      int               `yaml:"port"`
		InnerAuth map[string]string `yaml:"innerauth"`
		ApiAuth   struct {
			Enable bool   `yaml:"enable"`
			Secret string `yaml:"secret"`
		} `yaml:"apiauth"`
	} `yaml:"http"`
	Log struct {
		Path     string `yaml:"path"`
		Loglevel int    `yaml:"loglevel"`
	} `yaml:"log"`
	Sd struct {
		Address     []string `yaml:"addrs"`
		Name        string   `yaml:"name"`
		Credentials struct {
			Ak string `yaml:"ak"`
			Sk string `yaml:"sk"`
		} `yaml:"credentials"`
	} `yaml:"sd"`
	Server struct {
		Name        string `yaml:"name"`
		Credentials struct {
			Ak string `yaml:"ak"`
			Sk string `yaml:"sk"`
		} `yaml:"credentials"`
	} `yaml:"server"`
	Redis struct {
		Address    []string `yaml:"addrs"`
		Passwd     string   `yaml:"passwd"`
		MasterName string   `yaml:"mastername"`
	} `yaml:"redis"`
	Mongo struct {
		URI    string `yaml:"uri"`
		Dbname string `yaml:"dbname"`
	} `yaml:"mongo"`
	Trace struct {
		Enable      bool   `yaml:"enable"`
		Cluster     string `yaml:"cluster"`
		InputID     string `yaml:"input_id"`
		RulesetID   string `yaml:"ruleset_id"`
		RaspCluster string `yaml:"rasp_cluster"`
	}
	Hub struct {
		Credentials struct {
			AK string `yaml:"ak"`
			SK string `yaml:"sk"`
		} `yaml:"credentials"`
	} `yaml:"hub"`
	ES struct {
		Host        []string `yaml:"host"`
		Gzip        bool     `yaml:"gzip"`
		Sniff       bool     `yaml:"sniff"`
		User        string   `yaml:"user"`
		Password    string   `yaml:"password"`
		CleanupDays int      `yaml:"cleanup_days"`
	} `yaml:"es"`
}

type MangerResp

type MangerResp struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"`
}

type Mongodb

type Mongodb struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	URI          string `yaml:"uri"`
	SSHHost      []Host `yaml:"ssh_host"`
	Model        string `yaml:"model"`
	DBName       string `yaml:"db_name"`
	AdminPasswd  string `yaml:"admin_passwd"`
	ElkeidPasswd string `yaml:"elkeid_passwd"`
}

type MongodbExporter

type MongodbExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	AdminPassword string `yaml:"admin_password"`
	MongodbHosts  []Host `yaml:"mongodb_hosts"`
}

type MongodbLeaderData

type MongodbLeaderData struct {
	BasicConfig
	Install    bool   `yaml:"install"`
	Password   string `yaml:"password"`
	MongoUri   string `yaml:"mongo_uri"`
	KafkaAuth  bool   `yaml:"kafka_auth"`
	KafkaUser  string `yaml:"kafka_user"`
	KafkaPwd   string `yaml:"kafka_pwd"`
	KafkaTopic string `yaml:"kafka_topic"`
	KafkaHost  []Host `yaml:"kafka_host"`
	SSHHost    []Host `yaml:"ssh_host"`
	ESHost     []Host `yaml:"es_host"`
	ESUser     string `yaml:"es_user"`
	ESPassword string `yaml:"es_password"`
}

type MongodbManagerData

type MongodbManagerData struct {
	BasicConfig
	Install  bool   `yaml:"install"`
	Password string `yaml:"password"`
	SSHHost  []Host `yaml:"ssh_host"`
}

type Nginx

type Nginx struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	SSHHost    []Host `yaml:"ssh_host"`
	Domain     string `yaml:"domain"`
	PublicAddr string `yaml:"publicaddr"`

	CdnList        []string `yaml:"cdn_list" json:"cdn_list"`
	UploadAddress  string   `yaml:"upload_address" json:"upload_address"`
	UploadUser     string   `yaml:"upload_user"`
	UploadPassword string   `yaml:"upload_password"`

	SDHost     []Host `yaml:"sd_host"`
	ACHost     []Host `yaml:"ac_host"`
	MGHost     Host   `yaml:"mg_host"`
	LeaderHost Host   `yaml:"leader_host"`
}

type NodeExporter

type NodeExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	InstalledHosts []Host `yaml:"installed_hosts"`
}

type Prometheus

type Prometheus struct {
	BasicConfig
	Install bool `yaml:"install"`

	OriConf       map[string]interface{} `yaml:"ori_conf"`
	AdminPassword string                 `yaml:"admin_password"`
	SSHHost       []Host                 `yaml:"ssh_host"`
	Conf          []PrometheusConf       `yaml:"conf"`
}

type PrometheusAlertManager

type PrometheusAlertManager struct {
	BasicConfig
	Install bool `yaml:"install"`

	InstalledHosts []Host `yaml:"installed_hosts"`
	CallbackUrl    string `yaml:"callback_url"`
}

type PrometheusClient

type PrometheusClient struct {
	Address  string `yaml:"address"`
	User     string `yaml:"user"`
	Password string `yaml:"password"`
}

type PrometheusConf

type PrometheusConf struct {
	PrometheusSelfAddr    string   `yaml:"prometheus_self_addr"`
	PrometheusUser        string   `yaml:"prometheus_user"`
	PrometheusPassword    string   `yaml:"prometheus_password"`
	AlertManagerAddrList  []string `yaml:"alert_manager_addr_list"`
	EnableRedis           bool     `yaml:"enable_redis"`
	RedisAddr             []string `yaml:"redis_addr"`
	RedisExporterAddr     string   `yaml:"redis_exporter_addr"`
	EnableKafka           bool     `yaml:"enable_kafka"`
	KafkaExporterAddr     string   `yaml:"kafka_exporter_addr"`
	EnableZookeeper       bool     `yaml:"enable_zookeeper"`
	ZookeeperExporterAddr string   `yaml:"zookeeper_exporter_addr"`
	EnableES              bool     `yaml:"enable_es"`
	ESExporterAddr        string   `yaml:"es_exporter_addr"`
	EnableMongodb         bool     `yaml:"enable_mongodb"`
	MongoExporterAddr     []string `yaml:"mongo_exporter_addr"`
	NodeExporterAddr      []string `yaml:"node_exporter_addr"`
	ProcessExporterAddr   []string `yaml:"process_exporter_addr"`
	EnableAC              bool     `yaml:"enable_ac"`
	AgentCenterAddr       []string `yaml:"agent_center_addr"`
	EnableSD              bool     `yaml:"enable_sd"`
	ServiceDiscoveryAddr  []string `yaml:"service_discovery_addr"`
	EnableHub             bool     `yaml:"enable_hub"`
	HubAddr               []string `yaml:"hub_addr"`
	EnableRemote          bool     `yaml:"enable_remote"`
	RemoteWriteUrl        string   `yaml:"remote_write_url"`
	RemoteReadUrl         string   `yaml:"remote_read_url"`
}

type Quota

type Quota string

func (Quota) Format

func (q Quota) Format() (float64, float64, error)

func (Quota) UpdateServiceFile

func (q Quota) UpdateServiceFile(path string) error

func (Quota) Verify

func (q Quota) Verify() error

type Redis

type Redis struct {
	BasicConfig
	Install   bool                   `yaml:"install"`
	RedisHost []Host                 `yaml:"redis_host"`
	SSHHost   []Host                 `yaml:"ssh_host"`
	Password  string                 `yaml:"password"`
	Model     string                 `yaml:"model"`
	OriConf   map[string]interface{} `yaml:"ori_conf"`
}

type RedisExporter

type RedisExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	RedisPassword  string `yaml:"redis_password"`
	InstalledHosts []Host `yaml:"installed_hosts"`
}

type ReportComponent

type ReportComponent struct {
	Instances []string `yaml:"instances"`
}

type ReportConfig

type ReportConfig struct {
	EnableReport bool `yaml:"enable_report"`

	Uid   string `yaml:"uid"`
	Email string `yaml:"email"`

	HeartbeatUrl string `yaml:"heartbeat_url"`
	KoUrl        string `yaml:"ko_url"`

	ElkeidupVersion string    `yaml:"elkeidup_version"`
	DeployAt        time.Time `yaml:"deploy_at"`

	Prometheus PrometheusClient `yaml:"prometheus"`

	Components map[string]ReportComponent `yaml:"components"`
}

type SD

type SD struct {
	BasicConfig
	Install bool                   `yaml:"install"`
	OriConf map[string]interface{} `yaml:"ori_conf"`

	SSHHost    []Host                  `yaml:"ssh_host"`
	MgKeys     AkSkModel               `yaml:"mg_keys"`
	AcKeys     AkSkModel               `yaml:"ac_keys"`
	LeaderKeys AkSkModel               `yaml:"leader_keys"`
	Config     *ServiceDiscoveryConfig `yaml:"config"`
}

type SDDetailResp

type SDDetailResp struct {
	Data []struct {
		Name     string `yaml:"name" json:"name"`
		IP       string `yaml:"ip" json:"ip"`
		Port     int    `yaml:"port" json:"port"`
		Status   int    `yaml:"status" json:"status"`
		CreateAt int    `yaml:"create_at" json:"create_at"`
		UpdateAt int    `yaml:"update_at" json:"update_at"`
		Weight   int    `yaml:"weight" json:"weight"`
		Extra    struct {
		} `json:"extra"`
	} `json:"data"`
	Msg string `json:"msg"`
}

type ServiceDiscoveryConfig

type ServiceDiscoveryConfig struct {
	Server struct {
		IP   string `yaml:"Ip"`
		Port int    `yaml:"Port"`
	} `yaml:"Server"`
	Cluster struct {
		Mode    string   `yaml:"Mode"`
		Members []string `yaml:"Members"`
	} `yaml:"Cluster"`
	Log struct {
		Path     string `yaml:"path"`
		Loglevel int    `yaml:"loglevel"`
	} `yaml:"log"`
	Auth struct {
		Enable bool              `yaml:"Enable"`
		Keys   map[string]string `yaml:"Keys"`
	} `yaml:"Auth"`
}

ServiceDiscoveryConfig 默认只支持安装在8088端口

type ZookeeperExporter

type ZookeeperExporter struct {
	BasicConfig
	Install bool `yaml:"install"`

	InstalledHosts []Host `yaml:"installed_hosts"`
	ZookeeperHosts []Host `yaml:"zookeeper_hosts"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL