func (live Data) genElasticLineWithValue(index, typ, value, timestamp string) string { value = strings.Replace(value, `"`, `\"`, -1) if live.serviceDisplayName == "" { live.serviceDisplayName = config.GetConfig().Elasticsearch.HostcheckAlias } head := fmt.Sprintf(`{"index":{"_index":"%s","_type":"messages"}}`, helper.GenIndex(index, timestamp)) + "\n" data := fmt.Sprintf(`{"timestamp":%s,"message":"%s","author":"%s","host":"%s","service":"%s","type":"%s"}`+"\n", helper.CastStringTimeFromSToMs(timestamp), value, live.author, live.hostName, live.serviceDisplayName, typ, ) return head + data }
//PrintForElasticsearch prints in the elasticsearch json format func (p Printable) PrintForElasticsearch(version, index string) string { if helper.VersionOrdinal(version) >= helper.VersionOrdinal("2.0") { head := fmt.Sprintf(`{"index":{"_index":"%s","_type":"%s"}}`, helper.GenIndex(index, p.Timestamp), p.Table) + "\n" data := fmt.Sprintf(`{"timestamp":%s`, p.Timestamp) data += helper.CreateJSONFromStringMap(p.tags) data += helper.CreateJSONFromStringMap(p.fields) data += "}\n" return head + data } return "" }
//PrintForElasticsearch prints in the elasticsearch json format func (p PerformanceData) PrintForElasticsearch(version, index string) string { if helper.VersionOrdinal(version) >= helper.VersionOrdinal("2.0") { if p.service == "" { p.service = config.GetConfig().Influx.HostcheckAlias } head := fmt.Sprintf(`{"index":{"_index":"%s","_type":"metrics"}}`, helper.GenIndex(index, p.time)) + "\n" data := fmt.Sprintf( `{"timestamp":%s,"host":"%s","service":"%s","command":"%s","performanceLabel":"%s"`, p.time, helper.SanitizeElasicInput(p.hostname), helper.SanitizeElasicInput(p.service), helper.SanitizeElasicInput(p.command), helper.SanitizeElasicInput(p.performanceLabel), ) if p.unit != "" { data += fmt.Sprintf(`,"unit":"%s"`, helper.SanitizeElasicInput(p.unit)) } data += helper.CreateJSONFromStringMap(p.tags) data += helper.CreateJSONFromStringMap(p.fields) data += "}\n" return head + data } return "" }