![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Get-WinEvent |
|
PowerShell - Get-WinEvent
|
Новый участник Сообщения: 6 |
Добрго времени суток.
Я новичек, в скиптах. Стоит задача, построить график и отслеживать колличество определенных ошибок в windows application log, за исключением известных на данный момент. Собсвенно строить график я буду в zabbix, но чтобы дать ему нужные данные я выбрал способ через скрипт powershell. После небольшого изучения я немного разобрался и сделал что то типа этого: $events1 = Get-WinEvent -LogName Application —FilterXPath "* [ System [Provider[@Name='Website'] and TimeCreated[timediff(@SystemTime) <=180000 ] ] ] [EventData[Data= 'text']] " $events = Get-WinEvent -LogName Application —FilterXPath "* [ System [Provider[@Name='Website'] and TimeCreated[timediff(@SystemTime) <= 180000 ] ] ]" $events.count - $events1.count Повторюсь, так как я новичек в скриптах, это максимум что я смог придумать. В теории, я должен был бы получить число, типа все события за последние 5 минут удовлетворяющие условию - события в которых так же есть фильтр на Data. И вроде даже работает, но радость моя была недолгой, я не знаю как сделать фильтр EventData[Data= 'text'] если в сообщение много строк в Data, поидее можно прировнять к 1 из них, но что делать если это одна громадная строка и она не всегда одна и та же. Я хотел было поскать информацию, может можно применить что то типа Like, но не нашел ничего. Может кто подскажет чего ? |
|
Отправлено: 17:44, 07-08-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать 1) http://habrahabr.ru/post/215509/ - Zabbix может работать с EventLog и поддерживает regex в Template.
2) Xpath поддерживает только 3 функции: position, Band, timediff. Ограничения - Consuming Events Поэтому использовать фильтр,который получает все сообщения , а фильтровать по Message можно уже с помощью стандартных средств. |
Отправлено: 19:19, 07-08-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Спасибо, похоже то, что надо, буду тестировать.
А что касается zabbix, то да он то умеет работать с логами, но он не пишет в базу поля из "Data", либо я не знаю как это сделать. В моём случае известные ошибки это не - коды, а некоторые строчки из "Data". |
Отправлено: 10:24, 10-08-2015 | #3 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Сдается мне дело было не в бабине...
![]() Get-WinEvent -LogName Application —FilterXPath "* [System [Provider[@Name='Website'] and (Level=2) and TimeCreated[timediff(@SystemTime) <= 1800000 ]]] " | fl не забирает полное сообщение TimeCreated : 8/10/2015 11:22:29 AM ProviderName : Website Id : 0 Message : TimeCreated : 8/10/2015 11:15:22 AM ProviderName : Website Id : 0 Message : Есть подозрение это из за того что собщение слишком велико, т.к меняя в запросе [Provider[@Name='Website'] на другие ошибки, они отображаются корректно и филтр так же работает. |
Отправлено: 11:53, 10-08-2015 | #4 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 12:02, 10-08-2015 | #5 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать У меня кончился энтузиазм, пробавал и по примеру сделать и через другие языки програмирования, в результате везде поде Message оказывается пустым.
по примеру сделал: Function Using-Culture ( [System.Globalization.CultureInfo]$culture = (throw "USAGE: Using-Culture -Culture culture -Script {scriptblock}"), [ScriptBlock]$script= (throw "USAGE: Using-Culture -Culture culture -Script {scriptblock}") ) { $OldCulture = [System.Threading.Thread]::CurrentThread.CurrentCulture trap { [System.Threading.Thread]::CurrentThread.CurrentCulture = $OldCulture } [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture Invoke-expression "$script" [System.Threading.Thread]::CurrentThread.CurrentCulture = $OldCulture } Using-Culture -Culture 'en-US' -Script { Get-WinEvent -LogName Application —FilterXPath "* [ System [Provider[@Name='Website'] and TimeCreated[timediff(@SystemTime) <= 1800000 ] ] ]" | fl} |
Отправлено: 15:00, 13-08-2015 | #6 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Приведите скриншот XML вида из EventLog. Попробовать выставить в Региональных настройках на сервер Английский язык, вместо Русского.
|
Отправлено: 15:37, 13-08-2015 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать До тестов на сервере, русского языка не использовал в принципе. Да и странно это как то, в Data нет русских символов. К тому же если делать фильтр на другие ошибки, например "SchedulerService", выводит нормально полное собщение, правда оно раза в 3 меньше по объему.
Ошибки все примерно одного содержания, а значит и размера строк - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> - <System> <Provider Name="Website" /> <EventID Qualifiers="0">0</EventID> <Level>2</Level> <Task>0</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2015-08-09T20:19:23.000000000Z" /> <EventRecordID>32734394</EventRecordID> <Channel>Application</Channel> <Computer>BZVR012</Computer> <Security /> </System> - <EventData> <Data>Exception Information: Fy.Common.RethrowException: FY_COMMON_EXCEPTION_EXTENSIONS_RETHROW_EXCEPTION_MESSAGE ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it ***:7400 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Connect(EndPoint remoteEP) at System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP) at System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port) at Fy.Common.Communications.SerialExchangeClient.ProviderConversation(SerialExchangeRequest request) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Fy.Common\Communications\SerialExchangeClient.cs:line 70 --- End of inner exception stack trace --- at Fy.Google.Translate.Proxy.TranslateProxyClient.Translate(String[] text, String source, String target, Boolean cacheOnly) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Fy.Google.Translate\Proxy\TranslateProxyClient.cs:line 71 at Fy.Ion.IonRecord.Translate(TranslateProxyClient client, ICollection`1 result, Boolean cacheOnly) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Fy.Ion\IonRecord.cs:line 192 at Fy.Ion.IonRecord.Translate(TranslateProxyClient translator, Boolean cacheOnly) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Fy.Ion\IonRecord.cs:line 229 at ChowX.Models.Product2DetailsViewModel.LoadAssortment(ContainerContext dbContext, TranslateProxyClient translator) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Www\Models\Product2DetailsViewModel.cs:line 505 at ChowX.Models.Product2DetailsViewModel.<>c__DisplayClass38.<.ctor>b__3() in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Www\Models\Product2DetailsViewModel.cs:line 64 at Fy.Web.Utilites.Perfmon.Measure[T](String header, Func`1 func) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Fy.Web\Utilites\Perfmon.cs:line 18 at ChowX.Models.Product2DetailsViewModel..ctor(ContainerContext dbContext, InterimRecordInt64 instance, DataRow source, Guid userId, FyHttpRequestContext requestContext, TranslateProxyClient translator, String[] urlReferrerSegments) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Www\Models\Product2DetailsViewModel.cs:line 63 at ChowWww.Controllers.ProductController.Product(Nullable`1 id) in c:\TeamCity\buildAgent\workNew\f174505babd3d462\Dist\Www\Controllers\ProductController.cs:line 96 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) Request information: AbsolutePath: /product/444403916 AbsoluteUri: http://.com/product/444403916 LocalPath: /product/444403916 Authority: .com HostNameType: Dns IsDefaultPort: True IsFile: False IsLoopback: False PathAndQuery: /product/444403916 Segments: System.String[] IsUnc: False Host: .com Port: 80 Query: Fragment: Scheme: http OriginalString: http://.com:80/product/444403916 DnsSafeHost: .com IsAbsoluteUri: True UserEscaped: False UserInfo: User IP address: IP URL Referrer: AbsolutePath: /catalog/sp AbsoluteUri: http://.com/catalog/sp LocalPath: /catalog/sp Authority: .com HostNameType: Dns IsDefaultPort: True IsFile: False IsLoopback: False PathAndQuery: /catalog/sp Segments: System.String[] IsUnc: False Host: .com Port: 80 Query: Fragment: Scheme: http OriginalString: http://.com/catalog/sp DnsSafeHost: .com IsAbsoluteUri: True UserEscaped: False UserInfo: Cookies: Name: Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 2 HasKeys: False Values: 2 Name: ab_test_i_name Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: add_color_size HasKeys: False Values: add_color_size Name: ab_test__variant Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1 HasKeys: False Values: 1 Name: PageSize Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 20 HasKeys: False Values: 20 Name: OpenProductsInNewWindow Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: True HasKeys: False Values: True Name: GuestGUID Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 120ca978-7d12-47a9-ac80-f9ff626de1b4 HasKeys: False Values: 120ca978-7d12-47a9-ac80-f9ff626de1b4 Name: viewcurrency Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: RUB HasKeys: False Values: RUB Name: user_screen_resolution Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1366 HasKeys: False Values: 1366 Name: __utma Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 171566968.1168299203.1428427342.1439147293.1439149843.30 HasKeys: False Values: 171566968.1168299203.1428427342.1439147293.1439149843.30 Name: __utmz Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 171566968.1439147293.29.27.utmcsr=yandex|utmccn=12800657_rsya__obshee|utmcmd=cpc|utmctr=купить%20куртку%20женскую%20недорого|utmcct=904546848_3483162262_купить%20куртку%20женскую%20недорого HasKeys: True Values: 171566968.1439147293.29.27.utmcsr=yandex%7cutmccn%3d12800657_rsya__obshee%7cutmcmd%3dcpc%7cutmctr%3dкупить%2520куртку%2520женскую%2520недорого%7cutmcct%3d904546848_3483162262_купить%2520куртку%2520женскую%2520недорого Name: cross-test Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 2 HasKeys: False Values: 2 Name: ab-test-size-tables Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1 HasKeys: False Values: 1 Name: aprt_last_partner Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: yandex HasKeys: False Values: yandex Name: __utmv Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 171566968.|3=Affilated=Actionpay=1^4=my=51446912=1^5=userID=1168299203=1 HasKeys: True Values: 171566968.%7c3=Affilated%3dActionpay%3d1%5e4%3dmy%3d51446912%3d1%5e5%3duserID%3d1168299203%3d1 Name: _EmailSubscription Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: HasKeys: False Values: Name: crossss Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: DDE43B7229E04054B7DC9555C47B6438 HasKeys: False Values: DDE43B7229E04054B7DC9555C47B6438 Name: ab_test_group_id_informers Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1 HasKeys: False Values: 1 Name: crossss_basket Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 055e6646-2bc0-468a-8184-a5990f3aa8a9 HasKeys: False Values: 055e6646-2bc0-468a-8184-a5990f3aa8a9 Name: _Utm Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: utm_source|yandex||utm_medium|cpc||utm_campaign|12800657_rsya__obshee||utm_content|904546848_3483162262_купить куртку женскую недорого||utm_term|купить куртку женскую недорого HasKeys: False Values: utm_source%7cyandex%7c%7cutm_medium%7ccpc%7c%7cutm_campaign%7c12800657_rsya__obshee%7c%7cutm_content%7c904546848_3483162262_купить+куртку+женскую+недорого%7c%7cutm_term%7cкупить+куртку+женскую+недорого Name: Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: http://.com/product/437227288?source...gn=start_12_14 HasKeys: True Values: http%3a%2f%.com%2fproduct%2f437227288%3fsource=actionpay&apclick=80efc8cd-b7f3-7ccf-f048-014d04e1c8c9&apsource=51251&utm_medium=pp&utm_source=actionpay&utm_campaign=start_12_14 Name: location Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: RU HasKeys: False Values: RU Name: %24%24test_cookie_enabled%24%24 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: true HasKeys: False Values: true Name: __utmc Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 171566968 HasKeys: False Values: 171566968 Name: Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 2 HasKeys: False Values: 2 Name: Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: step_3_text_1 HasKeys: False Values: step_3_text_1 Name: Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1 HasKeys: False Values: 1 Name: kameleoonPersonalizations Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: true/1439147294107 HasKeys: False Values: true%2f1439147294107 Name: kameleoonVisit Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: ggsoo4sxz6mmfllg/0/1439151583254/20150708/0/true HasKeys: False Values: ggsoo4sxz6mmfllg%2f0%2f1439151583254%2f20150708%2f0%2ftrue Name: kameleoonPersonalizationInactive-14225 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: true HasKeys: False Values: true Name: __utmb Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 171566968.11.9.1439151228799 HasKeys: False Values: 171566968.11.9.1439151228799 Name: kameleoonPersonalizationInactive-14260 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: true HasKeys: False Values: true Name: _ym_visorc_18296986 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: w HasKeys: False Values: w Name: Basket Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 0|0 HasKeys: False Values: 0%7c0 Name: DreamBoxQuantity Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 0| HasKeys: False Values: 0%7c Name: __utmt Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: 1 HasKeys: False Values: 1 Name: kameleoonExperiment-14260 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: undefined/undefined/true HasKeys: False Values: undefined%2fundefined%2ftrue Name: kameleoonExperiment-14225 Path: / Secure: False Shareable: False HttpOnly: False Domain: Expires: 01.01.0001 0:00:00 Value: undefined/undefined/true HasKeys: False Values: undefined%2fundefined%2ftrue</Data> </EventData> </Event> |
Отправлено: 18:08, 13-08-2015 | #8 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать В PowerShell ISE,какие результаты?
$orgCulture = Get-Culture [System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object "System.Globalization.CultureInfo" "en-US" Get-WinEvent -LogName Application —FilterXPath "* [System [Provider[@Name='Website'] and (Level=2) and TimeCreated[timediff(@SystemTime) <= 1800000 ]]] " [System.Threading.Thread]::CurrentThread.CurrentCulture = $orgCulture [System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object "System.Globalization.CultureInfo" "en-US" Get-WinEvent -LogName Application —FilterXPath "*[System [Provider[@Name='Website'] and (Level=2) and TimeCreated[timediff(@SystemTime) <= 1800000 ]]] " -MaxEvent 1 | Select -Exp Properties [System.Threading.Thread]::CurrentThread.CurrentCulture = $orgCulture |
Отправлено: 18:26, 13-08-2015 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать ![]() ![]() |
Отправлено: 18:46, 13-08-2015 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|