Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mysqlrouter_exporter
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
-------------------------
Expand Down
5 changes: 2 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
@@ -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
)
16 changes: 9 additions & 7 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down Expand Up @@ -144,15 +144,17 @@ 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)
}

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()
Expand All @@ -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())
}
Expand Down