diff --git a/commands/inventory/add_agent.go b/commands/inventory/add_agent.go index fd9976d2..3b8883b5 100644 --- a/commands/inventory/add_agent.go +++ b/commands/inventory/add_agent.go @@ -15,7 +15,16 @@ package inventory +import "gopkg.in/alecthomas/kingpin.v2" + // register command var ( addAgentC = inventoryAddC.Command("agent", "Add agent to inventory").Hide(hide) + + addExporterLogLevel string ) + +func addExporterGlobalFlags(cmd *kingpin.CmdClause) { + // Add command global flags + cmd.Flag("log-level", "Service logging level").Default("warn").EnumVar(&addExporterLogLevel, "debug", "info", "warn", "error", "fatal") +} diff --git a/commands/inventory/add_agent_mongodb_exporter.go b/commands/inventory/add_agent_mongodb_exporter.go index d78d5364..1a40f5de 100644 --- a/commands/inventory/add_agent_mongodb_exporter.go +++ b/commands/inventory/add_agent_mongodb_exporter.go @@ -102,6 +102,7 @@ func (cmd *addAgentMongodbExporterCommand) Run() (commands.Result, error) { DisableCollectors: commands.ParseDisableCollectors(cmd.DisableCollectors), StatsCollections: commands.ParseDisableCollectors(cmd.StatsCollections), CollectionsLimit: cmd.CollectionsLimit, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -144,4 +145,5 @@ func init() { AddAgentMongodbExporterC.Flag("stats-collections", "Collections for collstats & indexstats").StringVar(&AddAgentMongodbExporter.StatsCollections) AddAgentMongodbExporterC.Flag("max-collections-limit", "Disable collstats & indexstats if there are more than collections"). Int32Var(&AddAgentMongodbExporter.CollectionsLimit) + addExporterGlobalFlags(AddAgentMongodbExporterC) } diff --git a/commands/inventory/add_agent_mysqld_exporter.go b/commands/inventory/add_agent_mysqld_exporter.go index 640a9c91..c844e39f 100644 --- a/commands/inventory/add_agent_mysqld_exporter.go +++ b/commands/inventory/add_agent_mysqld_exporter.go @@ -139,6 +139,7 @@ func (cmd *addAgentMysqldExporterCommand) Run() (commands.Result, error) { TablestatsGroupTableLimit: cmd.TablestatsGroupTableLimit, PushMetrics: cmd.PushMetrics, DisableCollectors: commands.ParseDisableCollectors(cmd.DisableCollectors), + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -179,4 +180,5 @@ func init() { " it will be sent to the server by an agent").BoolVar(&AddAgentMysqldExporter.PushMetrics) AddAgentMysqldExporterC.Flag("disable-collectors", "Comma-separated list of collector names to exclude from exporter").StringVar(&AddAgentMysqldExporter.DisableCollectors) + addExporterGlobalFlags(AddAgentMysqldExporterC) } diff --git a/commands/inventory/add_agent_postgres_exporter.go b/commands/inventory/add_agent_postgres_exporter.go index 4697aff0..afdf43d4 100644 --- a/commands/inventory/add_agent_postgres_exporter.go +++ b/commands/inventory/add_agent_postgres_exporter.go @@ -106,6 +106,7 @@ func (cmd *addAgentPostgresExporterCommand) Run() (commands.Result, error) { TLSCa: tlsCa, TLSCert: tlsCert, TLSKey: tlsKey, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -143,4 +144,5 @@ func init() { AddAgentPostgresExporterC.Flag("tls-ca-file", "TLS CA certificate file").StringVar(&AddAgentPostgresExporter.TLSCAFile) AddAgentPostgresExporterC.Flag("tls-cert-file", "TLS certificate file").StringVar(&AddAgentPostgresExporter.TLSCertFile) AddAgentPostgresExporterC.Flag("tls-key-file", "TLS certificate key file").StringVar(&AddAgentPostgresExporter.TLSKeyFile) + addExporterGlobalFlags(AddAgentPostgresExporterC) } diff --git a/commands/inventory/add_agent_proxysql_exporter.go b/commands/inventory/add_agent_proxysql_exporter.go index c4d7292e..eb7b79c2 100644 --- a/commands/inventory/add_agent_proxysql_exporter.go +++ b/commands/inventory/add_agent_proxysql_exporter.go @@ -79,6 +79,7 @@ func (cmd *addAgentProxysqlExporterCommand) Run() (commands.Result, error) { TLSSkipVerify: cmd.TLSSkipVerify, PushMetrics: cmd.PushMetrics, DisableCollectors: commands.ParseDisableCollectors(cmd.DisableCollectors), + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -112,4 +113,5 @@ func init() { " it will be sent to the server by an agent").BoolVar(&AddAgentProxysqlExporter.PushMetrics) AddAgentProxysqlExporterC.Flag("disable-collectors", "Comma-separated list of collector names to exclude from exporter").StringVar(&AddAgentProxysqlExporter.DisableCollectors) + addExporterGlobalFlags(AddAgentProxysqlExporterC) } diff --git a/commands/inventory/add_agent_qan_mongodb_profiler_agent.go b/commands/inventory/add_agent_qan_mongodb_profiler_agent.go index 1dea7d38..c9874e31 100644 --- a/commands/inventory/add_agent_qan_mongodb_profiler_agent.go +++ b/commands/inventory/add_agent_qan_mongodb_profiler_agent.go @@ -90,6 +90,7 @@ func (cmd *addAgentQANMongoDBProfilerAgentCommand) Run() (commands.Result, error TLSCertificateKeyFilePassword: cmd.TLSCertificateKeyFilePassword, TLSCa: tlsCa, AuthenticationMechanism: cmd.AuthenticationMechanism, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -123,4 +124,5 @@ func init() { AddAgentQANMongoDBProfilerAgentC.Flag("tls-ca-file", "Path to certificate authority file").StringVar(&AddAgentQANMongoDBProfilerAgent.TLSCaFile) AddAgentQANMongoDBProfilerAgentC.Flag("authentication-mechanism", "Authentication mechanism. Default is empty. Use MONGODB-X509 for ssl certificates"). StringVar(&AddAgentQANMongoDBProfilerAgent.AuthenticationMechanism) + addExporterGlobalFlags(AddAgentQANMongoDBProfilerAgentC) } diff --git a/commands/inventory/add_agent_qan_mysql_perfschema_agent.go b/commands/inventory/add_agent_qan_mysql_perfschema_agent.go index 7eb7346c..653faa03 100644 --- a/commands/inventory/add_agent_qan_mysql_perfschema_agent.go +++ b/commands/inventory/add_agent_qan_mysql_perfschema_agent.go @@ -107,6 +107,7 @@ func (cmd *addAgentQANMySQLPerfSchemaAgentCommand) Run() (commands.Result, error TLSCa: tlsCa, TLSCert: tlsCert, TLSKey: tlsKey, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -139,4 +140,5 @@ func init() { AddAgentQANMySQLPerfSchemaAgentC.Flag("tls-ca", "Path to certificate authority certificate file").StringVar(&AddAgentQANMySQLPerfSchemaAgent.TLSCaFile) AddAgentQANMySQLPerfSchemaAgentC.Flag("tls-cert", "Path to client certificate file").StringVar(&AddAgentQANMySQLPerfSchemaAgent.TLSCertFile) AddAgentQANMySQLPerfSchemaAgentC.Flag("tls-key", "Path to client key file").StringVar(&AddAgentQANMySQLPerfSchemaAgent.TLSKeyFile) + addExporterGlobalFlags(AddAgentQANMySQLPerfSchemaAgentC) } diff --git a/commands/inventory/add_agent_qan_mysql_slowlog_agent.go b/commands/inventory/add_agent_qan_mysql_slowlog_agent.go index 0e0264a4..70c86b28 100644 --- a/commands/inventory/add_agent_qan_mysql_slowlog_agent.go +++ b/commands/inventory/add_agent_qan_mysql_slowlog_agent.go @@ -118,6 +118,7 @@ func (cmd *addAgentQANMySQLSlowlogAgentCommand) Run() (commands.Result, error) { TLSCa: tlsCa, TLSCert: tlsCert, TLSKey: tlsKey, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -152,4 +153,5 @@ func init() { AddAgentQANMySQLSlowlogAgentC.Flag("tls-ca", "Path to certificate authority certificate file").StringVar(&AddAgentQANMySQLSlowlogAgent.TLSCaFile) AddAgentQANMySQLSlowlogAgentC.Flag("tls-cert", "Path to client certificate file").StringVar(&AddAgentQANMySQLSlowlogAgent.TLSCertFile) AddAgentQANMySQLSlowlogAgentC.Flag("tls-key", "Path to client key file").StringVar(&AddAgentQANMySQLSlowlogAgent.TLSKeyFile) + addExporterGlobalFlags(AddAgentQANMySQLSlowlogAgentC) } diff --git a/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go b/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go index ff5ee0c1..a7d5e9fc 100644 --- a/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go +++ b/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go @@ -99,6 +99,7 @@ func (cmd *addAgentQANPostgreSQLPgStatementsAgentCommand) Run() (commands.Result TLSCa: tlsCa, TLSCert: tlsCert, TLSKey: tlsKey, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -131,4 +132,5 @@ func init() { AddAgentQANPostgreSQLPgStatementsAgentC.Flag("tls-ca-file", "TLS CA certificate file").StringVar(&AddAgentQANPostgreSQLPgStatementsAgent.TLSCAFile) AddAgentQANPostgreSQLPgStatementsAgentC.Flag("tls-cert-file", "TLS certificate file").StringVar(&AddAgentQANPostgreSQLPgStatementsAgent.TLSCertFile) AddAgentQANPostgreSQLPgStatementsAgentC.Flag("tls-key-file", "TLS certificate key file").StringVar(&AddAgentQANPostgreSQLPgStatementsAgent.TLSKeyFile) + addExporterGlobalFlags(AddAgentQANPostgreSQLPgStatementsAgentC) } diff --git a/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go b/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go index a7758ad3..67272ecd 100644 --- a/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go +++ b/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go @@ -102,6 +102,7 @@ func (cmd *addAgentQANPostgreSQLPgStatMonitorAgentCommand) Run() (commands.Resul TLSCa: tlsCa, TLSCert: tlsCert, TLSKey: tlsKey, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -135,4 +136,5 @@ func init() { AddAgentQANPostgreSQLPgStatMonitorAgentC.Flag("tls-ca-file", "TLS CA certificate file").StringVar(&AddAgentQANPostgreSQLPgStatMonitorAgent.TLSCAFile) AddAgentQANPostgreSQLPgStatMonitorAgentC.Flag("tls-cert-file", "TLS certificate file").StringVar(&AddAgentQANPostgreSQLPgStatMonitorAgent.TLSCertFile) AddAgentQANPostgreSQLPgStatMonitorAgentC.Flag("tls-key-file", "TLS certificate key file").StringVar(&AddAgentQANPostgreSQLPgStatMonitorAgent.TLSKeyFile) + addExporterGlobalFlags(AddAgentQANPostgreSQLPgStatMonitorAgentC) } diff --git a/commands/inventory/add_agent_rds_exporter.go b/commands/inventory/add_agent_rds_exporter.go index 8df5b287..0e4decab 100644 --- a/commands/inventory/add_agent_rds_exporter.go +++ b/commands/inventory/add_agent_rds_exporter.go @@ -75,6 +75,7 @@ func (cmd *addAgentRDSExporterCommand) Run() (commands.Result, error) { DisableBasicMetrics: cmd.DisableBasicMetrics, DisableEnhancedMetrics: cmd.DisableEnhancedMetrics, PushMetrics: cmd.PushMetrics, + LogLevel: &addExporterLogLevel, }, Context: commands.Ctx, } @@ -105,4 +106,5 @@ func init() { AddAgentRDSExporterC.Flag("disable-enhanced-metrics", "Disable enhanced metrics").BoolVar(&AddAgentRDSExporter.DisableEnhancedMetrics) AddAgentRDSExporterC.Flag("push-metrics", "Enables push metrics model flow,"+ " it will be sent to the server by an agent").BoolVar(&AddAgentRDSExporter.PushMetrics) + addExporterGlobalFlags(AddAgentRDSExporterC) } diff --git a/go.mod b/go.mod index ed705566..f3882b8e 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/AlekSi/pointer v1.2.0 github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d github.com/go-openapi/runtime v0.24.0 - github.com/percona/pmm v0.0.0-20220520150831-23069cdf1bb8 + github.com/percona/pmm v0.0.0-20220525201549-eda29cad842f github.com/pkg/errors v0.9.1 github.com/sirupsen/logrus v1.8.1 github.com/stretchr/testify v1.7.1 diff --git a/go.sum b/go.sum index d06ecef8..f278a952 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/percona/pmm v0.0.0-20220520150831-23069cdf1bb8 h1:P5iuV4GRUIviRg/5/FM6ZOKdiBPdwUPbrHld/epM3hk= -github.com/percona/pmm v0.0.0-20220520150831-23069cdf1bb8/go.mod h1:gr+WLd8clEAe2xMFgsGhpw9ziZc2UCWcfy6d3M6Aq00= +github.com/percona/pmm v0.0.0-20220525201549-eda29cad842f h1:intEr6g51IIzN55MFH37uEte6x+jaObb/a19dYMzMdY= +github.com/percona/pmm v0.0.0-20220525201549-eda29cad842f/go.mod h1:gr+WLd8clEAe2xMFgsGhpw9ziZc2UCWcfy6d3M6Aq00= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=