diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6b8a26d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +mysqlrouter_exporter \ No newline at end of file diff --git a/README.md b/README.md index d3125f0..4915c00 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,12 @@ You must set these environment variables: - `MYSQLROUTER_EXPORTER_USER:` Username for REST API - `MYSQLROUTER_EXPORTER_PASS:` Password for REST API - -Default exporter listen port is `49152`. If you want change it, use flag `--port`. +``` +$ ./mysqlrouter_exporter -h + --port Listen port. Default 49152 + --version Show version + --skip-tls-verify Skip TLS Verification +``` Prometheus configuration ------------------------- diff --git a/go.mod b/go.mod index 7dee88e..0f2d507 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,8 @@ module github.com/rluisr/mysqlrouter_exporter -go 1.14 +go 1.15 require ( - github.com/koron/go-dproxy v1.2.1 github.com/prometheus/client_golang v1.1.0 - github.com/rluisr/mysqlrouter-go v1.0.0 + github.com/rluisr/mysqlrouter-go v1.0.1 ) diff --git a/main.go b/main.go index bf2ac88..15cf22b 100644 --- a/main.go +++ b/main.go @@ -26,13 +26,13 @@ const ( collectInterval = 2 * time.Second ) -func initialClient() (*mysqlrouter.Client, error) { - if url == "" || user == "" || pass == "" { +func initialClient(skipTLSVerify bool) (*mysqlrouter.Client, error) { + if url == "" { panic("These environments are missing.\n" + - "MYSQLROUTER_EXPORTER_URL, MYSQLROUTER_EXPORTER_USER and MYSQLROUTER_EXPORTER_PASS is required.") + "MYSQLROUTER_EXPORTER_URL is required and MYSQLROUTER_EXPORTER_USER and MYSQLROUTER_EXPORTER_PASS are optional.") } - return mysqlrouter.New(url, user, pass) + return mysqlrouter.New(url, user, pass, skipTLSVerify) } func recordMetrics() { @@ -144,8 +144,9 @@ func writeError(err error) { } func flagUsage() { - usageText := `--port Listen port. Default 49152 ---version Show version` + usageText := `--port Listen port. Default 49152 +--version Show version +--skip-tls-verify Skip TLS Verification` _, _ = fmt.Fprintf(os.Stderr, "%s\n\n", usageText) } @@ -153,6 +154,7 @@ func flagUsage() { func main() { listenPortFlag := flag.Int("port", 49152, "listen port") versionFlag := flag.Bool("version", false, "show version --version") + skipTLSVerify := flag.Bool("skip-tls-verify", false, "Skip TLS Verification") flag.Usage = flagUsage flag.Parse() @@ -163,7 +165,7 @@ func main() { } var err error - mysqlRouterClient, err = initialClient() + mysqlRouterClient, err = initialClient(*skipTLSVerify) if err != nil { log.Fatalf("failed to create mysql router client. err: %s\n", err.Error()) }