![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Парсинг логов с конца и резолвинг того что получилось |
|
PowerShell - [решено] Парсинг логов с конца и резолвинг того что получилось
|
Ветеран Сообщения: 992 |
Есть изрядная пачка логов (все в одной папке, у всех расширение txt, кроме этих логов больше ничего в папке нету) в одной из последних десяти строк каждого лога есть IP (в какой именно из этих десяти неизвестно, первые два октета во всех логах одинаковые, кроме IP в этой строке может быть разве что несколько пробелов). Вообще можно и все логи и целиком читать, но они здоровые весьма, и IP могут встречаться и ранее, а нужно именно последнее значение.
Нужно выдернуть IP и положить в новый общий лог (например, IP.log) вместе с именем старого лога. Как-то так Еще нужно спросить у DNS'a все ли нормально отрезолвилось, и те IP, для которых DNS имени не вернул сложить в отдельный лог (например nonameIP.log). Вроде все описал, если что уточнить нужно - пишите. |
|
Отправлено: 18:03, 05-04-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Elven, конечно, поможет.
1. Я вот, например, вижу по логу, что вопреки сказанному: Скрытый текст
наличествует несколько IP. 2. Позволяет наглядно понять, что работать с ним как с реляционной базой данных (Log Parser, OLEDB Text Driver) не получится. |
Отправлено: 16:43, 06-04-2018 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать Собственно, помимо наколеночных скриптов есть два, на мой взгляд, более правильных пути:
1) Организовать отчёты той софтиной, что генерирует эти логи, если она сама не наколеночная. 2) Поднять какой-нибудь Zabbix, чтобы он смотрел в эти логи и выдавал предупреждения и слал письма в случае обнаружения заданного паттерна. |
------- Отправлено: 16:50, 06-04-2018 | #12 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать DJ Mogarych, наколенная, писаная хз когда и кем, так что концов не собрать. Zabbix и так есть, но о том, что должно получаться нет нужности слать письма, нужно просто формировать отчет периодически по требованию (от нескольких раз в неделю до раза в полгода).
Iska, IP который нужен начинается на 10.47. и он - один. При указании этого всего я несколько некорректно выразился, нужный IP - один, и первые два октета у него всегда одни и те же. Собственно первая часть выполнена, за основу взял то, что предложил Kazun. Осталось то что получилось прогнать через Resolve-DnsName, однако для решения этой проблемы мне нужен только аналог && и || в cmd/bat для PowerShell. |
Последний раз редактировалось Elven, 09-04-2018 в 11:06. Отправлено: 10:59, 09-04-2018 | #13 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Получилось как-то так. Может и писано и криво, но работает, меня устраивает.
$datetime = Get-Date -Format yyyyMMdd_HHMMss dir *.txt | Foreach { $Name = $_.BaseName (gc $_.FullName -Tail 10).split() -match "10.47.\d{1,3}\.\d{1,3}" | foreach { "{0}`t{1}" -f $_,$Name | Format-List | Out-File "e:\$datetime IP.txt" -Append Resolve-DnsName $_ >$null if ($? -eq "False") {$_ | Format-List | Out-File "e:\$datetime noresolvIP.txt" -Append} } } |
Отправлено: 12:06, 09-04-2018 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Elven:
![]() |
|
Отправлено: 16:23, 09-04-2018 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Комп выключается из-за того, что мало ОЗУ. | secret99@vk | Microsoft Windows 7 | 18 | 07-01-2016 10:35 | |
[решено] Подскажите причины того, что монитор не отображает картинку? | carloslinux | Видеокарты | 13 | 13-03-2013 23:06 | |
DNS/DHCP - DNS резолвинг | Denis_ | Сетевые технологии | 10 | 29-11-2011 12:47 | |
как сделать скриншот того, что не умещается на экран? | illusionmgs | Хочу все знать | 10 | 06-04-2010 11:47 | |
XP выключается вместо того что перезагружаться !!! | Konect | Microsoft Windows 2000/XP | 10 | 27-01-2004 06:19 |
|