всем, когда мы внедряем наше решение ELK, у нас возникла проблема, некоторые серверы являются Windows 2003, из-за этого нам нужно разработать новый "бит", мы создаем бит в python, мы сделали несколько ошибок, и поле для имени пользователя процесса в metricpython только «system.process.username.keyword» отличается от обычного метрического значения «system.process.username».
{"query": {
"bool": {
"must": [
{ "wildcard" : { "beat.hostname" : "ibmcxxaa*" }},
{ "range": {
"@timestamp": {
"gte": "2019-03-01T00:00:00",
"lte": "2019-03-02T00:00:00"}}},
{"exists": {"field": "system.process.cmdline"}}
],
"must_not": [
{"term" : { "system.process.username" : "NT AUTHORITY\\SYSTEM" }},
{"term" : { "system.process.username" : "NT AUTHORITY\\NETWORK SERVICE" }},
{"term" : { "system.process.username" : "NT AUTHORITY\\LOCAL SERVICE" }},
{"term" : { "system.process.username.keyword" : "NETWORK SERVICE" }},
{"term" : { "system.process.username.keyword" : "LOCAL SERVICE" }},
{"term" : { "system.process.username.keyword" : "SYSTEM" }},
{"term" : { "system.process.username.keyword" : "Ctx_StreamingSvc" }},
{"term" : { "system.process.username.keyword" : "ctx_cpsvcuser" }},
{"term" : { "system.process.username.keyword" : "" }},
{"term" : { "system.process.username" : "" }}
]
}
},
"sort" : [
{ "system.process.cpu.start_time" : {"order" : "asc"}},
{ "@timestamp" : {"order" : "asc"}},
{ "system.process.pid" : {"order" : "desc"}}
]}
Теперь мы производим выставление счетов с использованием обоих индексов, когда мы создаем этот запрос, мы тестируем его с помощью инструментов Elastic dev, и он работает, но когда мы делаем этот запрос в Logstash, logstash игнорирует термины
{"term" : { "system.process.username.keyword" : "*" }},