|
4 | 4 | "flag" |
5 | 5 | "log" |
6 | 6 | "net/http" |
| 7 | + "os" |
7 | 8 | "strconv" |
8 | 9 | "time" |
9 | 10 |
|
@@ -136,20 +137,21 @@ func init() { |
136 | 137 | } |
137 | 138 |
|
138 | 139 | var ( |
139 | | - port = flag.String("port", "49152", "Listen port for exporter") |
140 | | - url = flag.String("url", "", "URL of MySQL Router REST API") |
141 | | - user = flag.String("user", "", "Username for MySQL Router REST API") |
142 | | - pass = flag.String("pass", "", "Password for MySQL Router REST API") |
| 140 | + port = os.Getenv("MYSQLROUTER_EXPORTER_PORT") |
| 141 | + url = os.Getenv("MYSQLROUTER_EXPORTER_URL") |
| 142 | + user = os.Getenv("MYSQLROUTER_EXPORTER_USER") |
| 143 | + pass = os.Getenv("MYSQLROUTER_EXPORTER_PASS") |
143 | 144 | ) |
144 | 145 |
|
145 | 146 | func main() { |
146 | 147 | flag.Parse() |
147 | 148 |
|
148 | | - if *url == "" || *user == "" || *pass == "" { |
149 | | - panic("--url, --user and --pass is must be set.") |
| 149 | + if url == "" || user == "" || pass == "" { |
| 150 | + panic("The environment missing.\n" + |
| 151 | + "MYSQLROUTER_EXPORTER_URL, MYSQLROUTER_EXPORTER_USER and MYSQLROUTER_EXPORTER_PASS is required.") |
150 | 152 | } |
151 | 153 |
|
152 | | - mr, err := mysqlrouter.New(*url, *user, *pass) |
| 154 | + mr, err := mysqlrouter.New(url, user, pass) |
153 | 155 | if err != nil { |
154 | 156 | panic(err) |
155 | 157 | } |
@@ -242,7 +244,11 @@ func main() { |
242 | 244 | } |
243 | 245 | }() |
244 | 246 |
|
245 | | - log.Printf("listen: %s\n", "0.0.0.0:"+*port) |
| 247 | + if port == "" { |
| 248 | + port = "49152" |
| 249 | + } |
| 250 | + |
| 251 | + log.Printf("listen: %s\n", "0.0.0.0:"+port) |
246 | 252 | http.Handle("/metrics", promhttp.Handler()) |
247 | | - log.Fatal(http.ListenAndServe("0.0.0.0:"+*port, nil)) |
| 253 | + log.Fatal(http.ListenAndServe("0.0.0.0:"+port, nil)) |
248 | 254 | } |
0 commit comments