Add tag for target url to phpfpm input (#3928)

This commit is contained in:
Daniel Nelson
2018-03-23 11:50:52 -07:00
committed by GitHub
parent 3658ac8f53
commit be9d4f4be0
3 changed files with 62 additions and 63 deletions

View File

@@ -148,11 +148,11 @@ func (g *phpfpm) gatherServer(addr string, acc telegraf.Accumulator) error {
return err
}
return g.gatherFcgi(fcgi, statusPath, acc)
return g.gatherFcgi(fcgi, statusPath, acc, addr)
}
// Gather stat using fcgi protocol
func (g *phpfpm) gatherFcgi(fcgi *conn, statusPath string, acc telegraf.Accumulator) error {
func (g *phpfpm) gatherFcgi(fcgi *conn, statusPath string, acc telegraf.Accumulator, addr string) error {
fpmOutput, fpmErr, err := fcgi.Request(map[string]string{
"SCRIPT_NAME": "/" + statusPath,
"SCRIPT_FILENAME": statusPath,
@@ -164,7 +164,7 @@ func (g *phpfpm) gatherFcgi(fcgi *conn, statusPath string, acc telegraf.Accumula
}, "/"+statusPath)
if len(fpmErr) == 0 && err == nil {
importMetric(bytes.NewReader(fpmOutput), acc)
importMetric(bytes.NewReader(fpmOutput), acc, addr)
return nil
} else {
return fmt.Errorf("Unable parse phpfpm status. Error: %v %v", string(fpmErr), err)
@@ -192,12 +192,12 @@ func (g *phpfpm) gatherHttp(addr string, acc telegraf.Accumulator) error {
addr, err)
}
importMetric(res.Body, acc)
importMetric(res.Body, acc, addr)
return nil
}
// Import stat data into Telegraf system
func importMetric(r io.Reader, acc telegraf.Accumulator) (poolStat, error) {
func importMetric(r io.Reader, acc telegraf.Accumulator, addr string) (poolStat, error) {
stats := make(poolStat)
var currentPool string
@@ -240,6 +240,7 @@ func importMetric(r io.Reader, acc telegraf.Accumulator) (poolStat, error) {
for pool := range stats {
tags := map[string]string{
"pool": pool,
"url": addr,
}
fields := make(map[string]interface{})
for k, v := range stats[pool] {