Log apps metrics.
This commit is contained in:
parent
d3e58b3422
commit
290fdeb283
|
@ -20,7 +20,7 @@ type StatsServer struct {
|
||||||
|
|
||||||
type Worker struct {
|
type Worker struct {
|
||||||
// Tags
|
// Tags
|
||||||
Id int `json:"id"`
|
WorkerId int `json:"id"`
|
||||||
Pid int `json:"pid"`
|
Pid int `json:"pid"`
|
||||||
|
|
||||||
// Fields
|
// Fields
|
||||||
|
@ -38,4 +38,19 @@ type Worker struct {
|
||||||
RespawnCount int `json:"respawn_count"`
|
RespawnCount int `json:"respawn_count"`
|
||||||
Tx int `json:"tx"`
|
Tx int `json:"tx"`
|
||||||
AvgRt int `json:"avg_rt"`
|
AvgRt int `json:"avg_rt"`
|
||||||
|
|
||||||
|
Apps []*App `json:"apps"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type App struct {
|
||||||
|
// Tags
|
||||||
|
AppId int `json:"id"`
|
||||||
|
MountPoint string `json:"mountpoint"`
|
||||||
|
Chdir string `json:"chdir"`
|
||||||
|
|
||||||
|
// Fields
|
||||||
|
Modifier1 int `json:"modifier1"`
|
||||||
|
Requests int `json:"requests"`
|
||||||
|
StartupTime int `json:"startup_time"`
|
||||||
|
Exceptions int `json:"exceptions"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,7 @@ func (u *Uwsgi) gatherURL(acc telegraf.Accumulator, url string) error {
|
||||||
|
|
||||||
u.gatherStatServer(acc, &s)
|
u.gatherStatServer(acc, &s)
|
||||||
u.gatherWorkers(acc, &s)
|
u.gatherWorkers(acc, &s)
|
||||||
|
u.gatherApps(acc, &s)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -109,7 +110,7 @@ func (u *Uwsgi) gatherWorkers(acc telegraf.Accumulator, s *StatsServer) error {
|
||||||
"avg_rt": w.AvgRt,
|
"avg_rt": w.AvgRt,
|
||||||
}
|
}
|
||||||
tags := map[string]string{
|
tags := map[string]string{
|
||||||
"id": strconv.Itoa(w.Id),
|
"worker_id": strconv.Itoa(w.WorkerId),
|
||||||
"url": s.Url,
|
"url": s.Url,
|
||||||
"pid": strconv.Itoa(w.Pid),
|
"pid": strconv.Itoa(w.Pid),
|
||||||
}
|
}
|
||||||
|
@ -120,6 +121,28 @@ func (u *Uwsgi) gatherWorkers(acc telegraf.Accumulator, s *StatsServer) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (u *Uwsgi) gatherApps(acc telegraf.Accumulator, s *StatsServer) error {
|
||||||
|
for _, w := range s.Workers {
|
||||||
|
for _, a := range w.Apps {
|
||||||
|
fields := map[string]interface{}{
|
||||||
|
"modifier1": a.Modifier1,
|
||||||
|
"requests": a.Requests,
|
||||||
|
"startup_time": a.StartupTime,
|
||||||
|
"exceptions": a.Exceptions,
|
||||||
|
}
|
||||||
|
tags := map[string]string{
|
||||||
|
"app_id": strconv.Itoa(a.AppId),
|
||||||
|
"worker_id": strconv.Itoa(w.WorkerId),
|
||||||
|
"mountpoint": a.MountPoint,
|
||||||
|
"chdir": a.Chdir,
|
||||||
|
}
|
||||||
|
acc.AddFields("uwsgi_apps", fields, tags)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
inputs.Add("uwsgi", func() telegraf.Input { return &Uwsgi{} })
|
inputs.Add("uwsgi", func() telegraf.Input { return &Uwsgi{} })
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue