Программа для записи логов работы компьютера
У хорошего системного администратора должны быть хорошие инструменты. Предлагаем вашему вниманию подборку программных средств, которые предназначены для мониторинга, логирования и сбора показателей.
Мониторинг:
• Alerta — масштабируемая, гибкая и распределённая система мониторинга;
• Adagios — web-интерфейс для конфигурации Nagios;
• Cacti — инструмент с web-интерфейсом, собирающий статистические данные за временные интервалы и позволяющий отобразить их в графическом виде;
• Cabot — служба мониторинга и оповещений на собственном сервере;
• Centreon — опенсорсный инструмент для мониторинга производительности;
• check_mk — комплект расширений для Nagios;
• Dash — web-дашборд для Linux;
• Flapjack — система мониторинга маршрутизации уведомлений;
• Monit — для управления и мониторинга Unix-систем;
• Munin — сетевой инструмент, обеспечивающий мониторинг ресурсов;
• Naemon — сетевой инструмент, обеспечивающий мониторинг. Основан на Nagios, но имеет улучшенную производительность и обновлённую функциональность;
• Nagios — известный опенсорсный инструмент для мониторинга компьютерных сетей и систем. Используется для наблюдения и контроля состояния вычислительных служб и узлов, а также оповещения сисадмина, если какие-нибудь службы прекращают работу;
• Observium — система мониторинга для Cisco, Linux, HP, Juniper, Windows, Dell, Brocade, Netscaler, FreeBSD, NetApp и прочих. Имеет платную и бесплатную версии;
• OMD — система для сетевого мониторинга;
• Opsview — эта система мониторинга основана на Nagios 4;
• Riemann — гибкий инструмент мониторинга распределённых систем;
• Sensu — опенсорсный фреймворк для мониторинга на Ruby;
• Sentry — для мониторинга приложений и логирования событий;
• Serverstats – простой инструмент создания графиков посредством rrdtool;
• Seyren — дашборд с оповещениями для Graphite;
• Shinken — опенсорсный фреймворк для мониторинга на «Пайтон»;
• Thruk — web-интерфейс для Nagios, Icinga, Naemon, Shinken;
• Uchiwa — дашборд для Sensu;
• Zabbix — известнейшая опенсорсная система мониторинга и отслеживания статусов различных сервисов компьютерной сети, а также серверов и сетевого оборудования.
Сбор показателей:
• Collectd — демон для сбора системной статистики;
• Collectl — очень точный инструмент, обеспечивающий сбор показателей производительности системы;
• Smashing — фреймворк на Ruby, с помощью которого можно создавать дашборды. Форк Dashing;
• Diamond — демон на Python, обеспечивающий сбор статистики;
• Facette — для визуализации временных данных. Написан на Go; • Freeboard — для создания дашбордов;
• Ganglia — распределённая масштабируемая система мониторинга, предназначенная для высокопроизводительных систем;
• Grafana — популярное ПО для анализа временных рядов;
• Graphite — для хранения и отображения временных данных;
• InfluxDB — опенсорсная распределённая БД для хранения временных рядов;
• KairosDB — БД для хранения временных рядов, форк OpenTSDB 1.x;
• NetData — система, обеспечивающая распределённый мониторинг производительности и работоспособности в режиме реального времени;
• OpenTSDB — распределённая и масштабируемая опенсорсная БД для хранения временных рядов;
• Packetbeat — захватывает сетевой трафик и отображает его на дашборде Kibana;
• Prometheus — система мониторинга сервисов и БД временных рядов;
• RRDtool — комплект программных средств, обеспечивающих хранение, обработку и визуализацию динамических последовательностей данных;
• Statsd — демон на Node.js, который служит для сбора статистики.
Работа с логами:
• Echofish — система сбора и анализа логов в режиме реального времени;
• Fluentd — опенсорсная система по сбору логов;
• Flume — распределённая система, предназначенная для сбора и агрегации логов;
• Graylog2 — сервер, обеспечивающий анализ событий и логов с возможностью оповещения;
В предыдущей статье был составлен список из 80 инструментов для мониторинга Linux системы. Был смысл также сделать подборку инструментов для системы Windows. Ниже будет приведен список, который служит всего лишь отправной точкой, здесь нет рейтинга.
1. Task Manager
Всем известный диспетчер задач Windows — утилита для вывода на экран списка запущенных процессов и потребляемых ими ресурсов. Но знаете ли Вы, как использовать его весь потенциал? Как правило, с его помощью контролируют состояние процессора и памяти, но можно же пойти гораздо дальше. Это приложение предварительно на всех операционных системах компании Microsoft.
2. Resource Monitor
Великолепный инструмент, позволяющий оценить использование процессора, оперативной памяти, сети и дисков в Windows. Он позволяет быстро получить всю необходимую информацию о состоянии критически важных серверов.
3. Performance Monitor
Основной инструмент для управления счетчиками производительности в Windows. Performance Monitor, в более ранних версиях Windows известен нам как Системный монитор. Утилита имеет несколько режимов отображения, выводит показания счетчиков производительности в режиме реального времени, сохраняет данные в лог-файлы для последующего изучения.
4.Reliability Monitor
Reliability Monitor — Монитор стабильности системы, позволяет отслеживать любые изменения в производительности компьютера, найти монитор стабильности можно в Windows 7, в Windows 8: Control Panel > System and Security > Action Center. С помощью Reliability Monitor можно вести учет изменений и сбоев на компьютере, данные будут выводиться в удобном графическом виде, что позволит Вам отследить, какое приложение и когда вызвало ошибку или зависло, отследить появление синего экрана смерти Windows, причину его появления (очередное обновлением Windows или установка программы).
5. Microsoft SysInternals
SysInternals — это полный набор программ для администрирования и мониторинга компьютеров под управлением ОС Windows. Вы можете скачать их себе бесплатно на сайте Microsoft. Сервисные программы Sysinternals помогают управлять, находить и устранять неисправности, выполнять диагностику приложений и операционных систем Windows.
6. SCOM (part of Microsoft System Center)
System Center — представляет собой полный набор инструментов для управления IT-инфраструктурой, c помощью которых Вы сможете управлять, развертывать, мониторить, производить настройку программного обеспечения Microsoft (Windows, IIS, SQLServer, Exchange, и так далее). Увы, MSC не является бесплатным. SCOM используется для проактивного мониторинга ключевых объектов IT-инфраструктуры.
Мониторинг Windows серверов с помощью семейства Nagios
Nagios является самым популярным инструментом мониторинга инфраструктуры в течение нескольких лет (для Linux и Windows). Если Вы рассматриваете Nagios для Windows, то установите и настройте агент NSClient ++ на Windows сервер. NSClient ++ мониторит систему в реальном времени и предоставляет выводы с удаленного сервера мониторинга и не только.
Обычно используется вместе с Nagios, предоставляет пользователю удобный веб-интерфейс к утилите RRDTool, предназначенной для работы с круговыми базами данных (Round Robin Database), которые используются для хранения информации об изменении одной или нескольких величин за определенный промежуток времени. Статистика в сетевых устройств, представлена в виде дерева, структура которого задается самим пользователем, можно строить график использования канала, использования разделов HDD, отображать латентость ресурсов и т.д.
Гибкая, масштабируемая система мониторинга с открытым исходным кодом, основанная на ядре Nagios, написанном на Python. Она в 5 раз быстрее чем Nagios. Shinken совместима с Nagios, возможно использование ее плагинов и конфигураций без внесения коррективов или дополнительной настройки.
Еще одна популярная открытая система мониторинга, которая проверяет хосты и сервисы и сообщает администратору их состояние. Являясь ответвлением Nagios, Icinga совместима с ней и у них много общего.
OpsView изначально был бесплатен. Сейчас, увы, пользователям данной системой мониторинга приходится раскошеливаться.
Op5 еще одна система мониторинга с открытым исходным кодом. Построение графиков, хранение и сбор данных.
Альтернативы Nagios
Открытое программное обеспечение для мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, используется для получения данных о нагрузке процессора, использования сети, дисковом пространстве и тому подобного.
Неплохая система мониторинга, собирает данные с нескольких серверов одновременно и отображает все в виде графиков, с помощью которых можно отслеживать все прошедшие события на сервере.
Написан на языке Python с использованием сервера приложений Zope, данные хранятся в MySQL. С помощью Zenoss можно
мониторить сетевые сервисы, системные ресурсы, производительность устройств, ядро Zenoss анализирует среду. Это дает возможность быстро разобраться с большим количеством специфических устройств.
16. Observium
Система мониторинга и наблюдения за сетевыми устройствами и серверами, правда список поддерживаемых устройств огромен и не ограничивается только сетевыми устройствами, устройство должно поддерживать работу SNMP.
17. Centreon
Комплексная система мониторинга, позволяет контролировать всю инфраструктуру и приложения, содержащие системную информацию. Бесплатная альтернатива Nagios.
Ganglia — масштабируемая распределенная система мониторинга, используется в высокопроизводительных вычислительных системах, таких как кластеры и сетки. Отслеживает статистику и историю вычислений в реальном времени для каждого из наблюдаемых узлов.
19. Pandora FMS
Система мониторинга, неплохая продуктивность и масштабируемость, один сервер мониторинга может контролировать работу нескольких тысяч хостов.
Программное обеспечение с открытым кодом для мониторинга компьютерных систем и сетей.
OpenNMS платформа мониторинга. В отличие от Nagios, поддерживает SNMP, WMI и JMX.
22. HypericHQ
Компонент пакета VMware vRealize Operations, используется для мониторинга ОС, промежуточного ПО и приложений в физических, виртуальных и облачных средах. Отображает доступность, производительность, использование, события, записи журналов и изменений на каждом уровне стека виртуализации (от гипервизора vSphere до гостевых ОС).
Система мониторинга и оповещения (alert system) с открытым кодом от StackExchange. В Bosun продуманная схема данных, а также мощный язык их обработки.
Sensu система оповещения с открытым исходным кодом, похожа на Nagios. Имеется простенький dashboard, можно увидеть список клиентов, проверок и сработавших алертов. Фреймворк обеспечивает механизмы, которые нужны для сбора и накопления статистики работы серверов. На каждом сервере запускается агент (клиент) Sensu, использующий набор скриптов для проверки работоспособности сервисов, их состояния и сбора любой другой информации.
25. CollectM
CollectM собирает статистику об использовании ресурсов системы каждые 10 секунд. Может собирать статистику для нескольких хостов и отсылать ее на сервер, информация выводится с помощью графиков.
26. PerfTrap
PerfTrap собирает метрики с серверов, и с помощью Graphite производится визуализация собранных данных.
27. WMIagent
Если Вы фанат Python, WMIagent для Вас.
28. Performance Analysis of Logs (PAL) Tool
PAL — мощный инструмент, который мониторит производительность и анализирует ее.
30. Cloud Ninja Metering Block
Cloud Ninja Metering Block производит анализ производительности и автоматическое масштабирование мультитенантных приложений в Windows Azure. Такой анализ включает в себя не только определение или проверку счетов за использование ресурсов от Windows Azure, но и оптимизацию ресурсов.
Enigma — красивое приложение, которое поможет Вам следить за всеми важных показателями прямо с рабочего стола.
Платные решения
32. SSC Serv
SSC Serv платный инструмент мониторинга.
33. KS-HostMonitor
Инструменты для мониторинга сетевых ресурсов, позволяет проверять любые параметры серверов, гибкие профили действия позволяют действовать в зависимости от результатов тестов.
34. Total Network Monitor
PRTG — простая в использовании, условно-бесплатная программа для мониторинга сети, собирает различные статистические данные с компьютеров, программ и устройств, которые Вы указываете, поддерживает множество протоколов для сбора указанных сведений, таких как SNMP и WMI.
36. GroundWork
37. WhatsUpGold
Это мощное, простое в использовании программное средство для комплексного мониторинга приложений, сети и систем. Позволяет производить поиск и устранение проблем до того, как они повлияют на работу пользователей.
Поддерживает несколько операционных систем и технологий виртуализации. Есть много бесплатных тулзов, с помощью которых можно мониторить систему.
39. PowerAdmin
PowerAdmin является коммерческим решением для мониторинга.
40. ELM Enterprise Manager
ELM Enterprise Manager — полный мониторинг от «что случилось» до «что происходит» в режиме реального времени. Инструменты мониторинга в ELM включают — Event Collector, Performance Monitor, Service Monitor, Process Monitor, File Monitor, PING Monitor.
41. EventsEntry
42. Veeam ONE
Эффективное решение для мониторинга, создания отчетов и планирования ресурсов в среде VMware, Hyper-V и инфраструктуре Veeam Backup & Replication, контролирует состояние IT-инфраструктуры и диагностирует проблемы до того, как они помешают работе пользователей.
43. CA Unified Infrastructure Management (ранее CA Nimsoft Monitor, Unicenter)
Мониторит производительность и доступность ресурсов Windows сервера.
44. HP Operations Manager
Это программное обеспечение для мониторинга инфраструктуры, выполняет превентивный анализ первопричин, позволяет сократить время на восстановление и расходы на управление операциями. Решение идеально для автоматизированного мониторинга.
45. Dell OpenManage
OpenManage (теперь Dell Enterprise Systems Management) «все-в-одном продукт» для мониторинга.
46. Halcyon Windows Server Manager
47. Topper Perfmon
Используется для мониторинга серверов, контролирует процессы, их производительность.
48. BMC Patrol
Система мониторинга и управления управления IT — инфраструктурой.
49. Max Management
50. ScienceLogic
ScienceLogic еще одна система мониторинга.
Менеджмент и мониторинг сетей, приложений и инфраструктуры.
Ниже приведен список (наиболее популярных) инструментов для мониторинга сети
Nedi является инструментом мониторинга сети с открытым исходным кодом.
54. The Dude
Система мониторинга Dude, хоть и бесплатна, но по мнению специалистов, ни в чем не уступает коммерческим продуктам, мониторит отдельные серверы, сети и сетевые сервисы.
55. BandwidthD
Программа с открытым исходным кодом.
Расширение для Nagios, позволяет создавать карты инфраструктуры и отображать их статус. NagVis поддерживает большое количество различных виджетов, наборов иконок.
57. Proc Net Monitor
Бесплатное приложение для мониторинга, позволяет отследить все активные процессы и при необходимости быстро остановить их, чтобы снизить нагрузку на процессор.
58. PingPlotter
Используется для диагностики IP-сетей, позволяет определить, где происходят потери и задержки сетевых пакетов.
Маленькие, но полезные инструменты
Список не был бы полным без упоминания нескольких вариантов аппаратного мониторинга.
59. IPMIutil
60. Glint Computer Activity Monitor
61. RealTemp
Утилита для мониторинга температур процессоров Intel, она не требует инсталляции, отслеживает текущие, минимальные и максимальные значения температур для каждого ядра и старт троттлинга.
62. SpeedFan
Утилита, которая позволяет контролировать температуру и скорости вращения вентиляторов в системе, следит за показателями датчиков материнской платы, видеокарты и жестких дисков.
Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.
В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.
До появления PowerShell можно было использовать такие утилиты cmd как find и findstr. Они вполне подходят для простой автоматизации. Например, когда мне понадобилось отлавливать ошибки в обмене 1С 7.7 я использовал в скриптах обмена простую команду:
Она позволяла получить в файле fail.txt все ошибки обмена. Но если было нужно что-то большее, вроде получения информации о предшествующей ошибке, то приходилось создавать монструозные скрипты с циклами for или использовать сторонние утилиты. По счастью, с появлением PowerShell эти проблемы ушли в прошлое.
Основным инструментом для работы с текстовыми журналами является командлет Get-Content, предназначенный для отображения содержимого текстового файла. Например, для вывода журнала сервиса WSUS в консоль можно использовать команду:
Для вывода последних строк журнала существует параметр Tail, который в паре с параметром Wait позволит смотреть за журналом в режиме онлайн. Посмотрим, как идет обновление системы командой:
Смотрим за ходом обновления Windows.
Если же нам нужно отловить в журналах определенные события, то поможет командлет Select-String, который позволяет отобразить только строки, подходящие под маску поиска. Посмотрим на последние блокировки Windows Firewall:
Смотрим, кто пытается пролезть на наш дедик.
При необходимости посмотреть в журнале строки перед и после нужной, можно использовать параметр Context. Например, для вывода трех строк после и трех строк перед ошибкой можно использовать команду:
Оба полезных командлета можно объединить. Например, для вывода строк с 45 по 75 из netlogon.log поможет команда:
Журналы системы ведутся в формате .evtx, и для работы с ними существуют отдельные командлеты. Для работы с классическими журналами («Приложение», «Система», и т.д.) используется Get-Eventlog. Этот командлет удобен, но не позволяет работать с остальными журналами приложений и служб. Для работы с любыми журналами, включая классические, существует более универсальный вариант ― Get-WinEvent. Остановимся на нем подробнее.
Для получения списка доступных системных журналов можно выполнить следующую команду:
Вывод доступных журналов и информации о них.
Для просмотра какого-то конкретного журнала нужно лишь добавить его имя. Для примера получим последние 20 записей из журнала System командой:
Последние записи в журнале System.
Для получения определенных событий удобнее всего использовать хэш-таблицы. Подробнее о работе с хэш-таблицами в PowerShell можно прочитать в материале Technet about_Hash_Tables.
Для примера получим все события из журнала System с кодом события 1 и 6013.
В случае если надо получить события определенного типа ― предупреждения или ошибки, ― нужно использовать фильтр по важности (Level). Возможны следующие значения:
- 0 ― всегда записывать;
- 1 ― критический;
- 2 ― ошибка;
- 3 ― предупреждение;
- 4 ― информация;
- 5 ― подробный (Verbose).
Собрать хэш-таблицу с несколькими значениями важности одной командой так просто не получится. Если мы хотим получить ошибки и предупреждения из системного журнала, можно воспользоваться дополнительной фильтрацией при помощи Where-Object:
Ошибки и предупреждения журнала System.
Аналогичным образом можно собирать таблицу, фильтруя непосредственно по тексту события и по времени.
Подробнее почитать про работу обоих командлетов для работы с системными журналами можно в документации PowerShell:
PowerShell ― механизм удобный и гибкий, но требует знания синтаксиса и для сложных условий и обработки большого количества файлов потребует написания полноценных скриптов. Но есть вариант обойтись всего-лишь SQL-запросами при помощи замечательного Log Parser.
О возможностях Log Parser уже рассказывалось в материале «LogParser — привычный взгляд на непривычные вещи», поэтому я начну с конкретных примеров.
Для начала разберемся с текстовыми файлами ― например, получим список подключений по RDP, заблокированных нашим фаерволом. Для получения такой информации вполне подойдет следующий SQL-запрос:
Посмотрим на результат:
Смотрим журнал Windows Firewall.
Разумеется, с полученной таблицей можно делать все что угодно ― сортировать, группировать. Насколько хватит фантазии и знания SQL.
Log Parser также прекрасно работает с множеством других источников. Например, посмотрим откуда пользователи подключались к нашему серверу по RDP.
Работать будем с журналом TerminalServices-LocalSessionManager\Operational.
Не со всеми журналами Log Parser работает просто так ― к некоторым он не может получить доступ. В нашем случае просто скопируем журнал из %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx в %temp%\test.evtx.
Данные будем получать таким запросом:
Смотрим, кто и когда подключался к нашему серверу терминалов.
Особенно удобно использовать Log Parser для работы с большим количеством файлов журналов ― например, в IIS или Exchange. Благодаря возможностям SQL можно получать самую разную аналитическую информацию, вплоть до статистики версий IOS и Android, которые подключаются к вашему серверу.
В качестве примера посмотрим статистику количества писем по дням таким запросом:
Если в системе установлены Office Web Components, загрузить которые можно в Центре загрузки Microsoft, то на выходе можно получить красивую диаграмму.
Выполняем запрос и открываем получившуюся картинку…
Любуемся результатом.
Следует отметить, что после установки Log Parser в системе регистрируется COM-компонент MSUtil.LogQuery. Он позволяет делать запросы к движку утилиты не только через вызов LogParser.exe, но и при помощи любого другого привычного языка. В качестве примера приведу простой скрипт PowerShell, который выведет 20 наиболее объемных файлов на диске С.
Благодаря этой возможности для облегчения работы существует несколько утилит, представляющих из себя графическую оболочку для Log Parser. Платные рассматривать не буду, а вот бесплатную Log Parser Studio покажу.
Интерфейс Log Parser Studio.
Основной особенностью здесь является библиотека, которая позволяет держать все запросы в одном месте, без россыпи по папкам. Также сходу представлено множество готовых примеров, которые помогут разобраться с запросами.
Вторая особенность ― возможность экспорта запроса в скрипт PowerShell.
В качестве примера посмотрим, как будет работать выборка ящиков, отправляющих больше всего писем:
Выборка наиболее активных ящиков.
При этом можно выбрать куда больше типов журналов. Например, в «чистом» Log Parser существуют ограничения по типам входных данных, и отдельного типа для Exchange нет ― нужно самостоятельно вводить описания полей и пропуск заголовков. В Log Parser Studio нужные форматы уже готовы к использованию.
Помимо Log Parser, с логами можно работать и при помощи возможностей MS Excel, которые упоминались в материале «Excel вместо PowerShell». Но максимального удобства можно достичь, подготавливая первичный материал при помощи Log Parser с последующей обработкой его через Power Query в Excel.
Приходилось ли вам использовать какие-либо инструменты для перелопачивания логов? Поделитесь в комментариях.
Увеличение количества устройств, повышение квалификационных требований, оптимизация процесса сбора данных необходимы для любого вида бизнеса. Анализ логов может дать вам реальное представление о том, что происходит в вашей информационной среде. Вот некоторые примеры, функционирующие в реальном времени:
- планирование производительности
- раннее обнаружение проблемы
- актуальная отчетность
- управление доступностью
Если вы ищете решение для мониторинга и анализа логов ваших веб-приложений, включая инфраструктуру, вы можете рассмотреть следующие средства для работы с логами. Большинство из них имеют слегка урезанную бесплатную версию, в которой вы можете попробовать поработать.
Список анализаторов логов:
Loggly
Loggly одно из самых популярных решений для управления логами, подходит для анализа данных практически из любого источника, включая следующие:
Loggly обладает мощной поисковой системой, в которой вы можете настраивать и устанавливать фильтры для всего текста, одного поля и булевских значений. Вы можете также привязать электронную почту, PageDuty, Slack, HipChat и т.д., чтобы получать оповещения.
SumoLogic
Получите информационную аналитику в режиме реального времени с помощью SumoLogic для мониторинга, анализа, устранения проблем и защиты бизнес приложений и инфраструктуры.
У SumoLogic есть агент-сборщик/облачный сборщик, который необходимо установить на ваш сервер для передачи логов в SumoLogic. Вы можете преобразовывать любые типы логов составляя наглядную картину происходящего, обновляющуюся в реальном времени, для мониторинга и оповещения о достижении заданных границ.
SumoLogic имеет несколько заранее настроенных приложений, основанных на наиболее распространенных способах применения для ускорения работающих задач и изучения проблем.
Примеры приложений для:
- mongoDB – отслеживание общего состояния, оптимизация запросов, мониторинг безопасности;
- AWS Lambda – проактивный мониторинг, обзор затрат, углубленное изучение;
- AWS – определение проблем производительности, активный контроль безопасности, расширенная аналитика;
- Salesforce – улучшение адаптации для пользователей, аудиторские проверки, сравнение данных;
- Trend Micro – анализ уязвимости, история событий, улучшение визуализации атак;
- Github – визуализация командной производительности, создание базовых показателей использования;
- Docker — расширенная аналитика, устранение проблем;
- Linux — устранение неполадок и оптимизация ОС, оповещения о доступе/проверке и событиях безопасности, отслеживание показателей производительности;
- Nginx — обзор, локация посетителей, время отклика, выявление узких мест в производительности;
- Apache – взаимодействие с посетителями, оптимизация производительности, визуализация посетителей;
- IIS — комплексная информация, статистика трафика, поиск медленных страниц;
- MySQL — общее состояние, ключевые ошибки, мониторинг производительности запросов.
Splunk
Splunk Cloud доступен в 10 регионах AWS по всему миру для сбора и индексирования любого типа информации. Splunk — это быстрый и простой способ анализа и визуализации данных, создаваемых на физических, облачных или виртуальных устройствах.
С помощью Splunk вы можете отслеживать и визуализировать данные и настраивать пороговые показатели для оповещений. Я не видел бесплатной версии, но у них есть пробная версия, позволяющая анализировать и визуализировать данные объемом 5 ГБ в течение 15 дней.
Papertrail
Papertrail может собирать данные из syslog, text, Apache, MySQL, приложений Heroku, журнала событий Windows, маршрутизаторов, брандмауэров, RubyOnRails и многого другого.
Вы можете выполнять поиск в режиме реального времени с помощью браузера, командной строки или API и получать оповещения по электронной почте или Slack.
Logz.io
Logz.io предоставляет размещение ELK как услугу. ELK (Elastic Search, Logstash, Kibana) — одна из самых популярных платформ для анализа с открытым исходным кодом. Если вы ищете гибкую платформу для обработки логов, то Logz.io будет вам полезен.
Logz.io может индексировать данные почти всех современных технологий и предоставлять вам подробный анализ с визуализацией данных и оповещениями.
Некоторые поддерживаемые технологии:
Timber
Отслеживание в режиме реального времени, современная система фильтрации, быстрый поиск, а также возможность интеграции Timber с вашим приложением или платформой.
Библиотеки доступны для Node, Ruby и Elixir и поддерживают многие платформы, включая следующие:
- Logstash
- Zeit (Now)
- AWS Lambda
- Docker
- Linux
- Heroku
- Kubernetes
Logentries
Отправьте любые данные в Logentries для немедленного поиска и визуализации данных. Вы можете следить за логами в пользовательском интерфейсе Logentries и немедленно получать оповещения о необходимых значениях.
Оповещения могут быть переданы в Slack, Hipchat, Pagerduty или при помощи вебхуков. Logentries предоставляет REST API для запроса ваших логов для визуализации.
Logsene
Logsene от Sematext — это ваш облачный управляемый ELK Stack для управления и анализа логов. Вы можете отправлять логи через зашифрованные каналы из любого источника, включая Syslog.
Он работает на AWS и поддерживает SOC, SSAE, FISMA, DIACAP, HIPPA и др.
Попробуйте демо-версию, чтобы понять принцип работы.
Я надеюсь, что эти облачные анализаторы журналов помогут вам искать, анализировать и визуализировать свои данные и облегчат ИТ-аналитику.
LOOKING.HOUSE — на проекте собрано более 150 точек looking glass в 40 странах. Можно быстро выполнить команды host, ping, traceroute и mtr.
Обзоры
Прежде чем мы перейдем к централизованному ведению журналов, давайте сначала рассмотрим, почему ведение журналов ( логирование ) так важно.
Компьютеры являются детерминированными системами, кроме случаев, когда это не так.
Как безопасник, я сталкивался со многими случаями, когда наблюдаемое поведение приложения ставило всех в тупик целыми днями, но ключ к разгадке всегда был в журналах.
Каждое программное обеспечение, которое мы запускаем, производит (или, по крайней мере, должно генерировать) журналы, которые сообщают нам, через что они проходили, когда возникала проблемная ситуация.
Теперь, как мне кажется, ведение журнала бывает двух типов: автоматически сгенерированные журналы и сгенерированные программистом журналы.
Обращаем ваше внимание, что этих различий и классификации нету в учебниках, и цитирование меня по этой терминологии доставит вам неприятности. ?
Изображение выше показывает то, что можно назвать автоматически сгенерированным журналом.
В данном конкретном случае это система WordPress, регистрирующая непредвиденное состояние (уведомление) при запуске некоторого кода PHP.
Журналы, подобные этим, создаются постоянно – с помощью инструментов баз данных, таких как MySQL, веб-серверов, таких как Apache, языков программирования и сред, мобильных устройств и даже операционных систем.
Они редко содержат большую ценность, и программисты даже не удосуживаются их изучить, кроме случаев, когда что-то идет не так.
В такие моменты они копаются глубоко в коде, пытаясь понять, что пошло не так.
Но автоматически сгенерированные журналы могут помочь только так сильно.
Если несколько человек имеют доступ администратора к сайту, например, и один из них удаляет важную часть информации, невозможно обнаружить виновника с помощью автоматически сгенерированных журналов.
С точки зрения систем, связанных как приложение, это был просто еще один день в работе – кто-то имел необходимые полномочия для выполнения задачи, и поэтому система выполнила ее.
Здесь нужен дополнительный уровень явной, обширной регистрации, которая создает следы для человеческой стороны вещей.
Это то, что я называю созданными программистом журналами, и они составляют основу чувствительных отраслей, таких как банковское дело.
Вот пример того, как может выглядеть такая схема регистрации:
Логгирование это сила
Итак, с учетом этих двух типов журналов в системе, вот как вы можете использовать их и усилить воздействие.
Боевой дух и продуктивность команды
Как я уже говорил, когда ошибки долго не отслеживаются, разработчики в вашей команде разочаровываются и теряют все больше и больше времени, закрывая свои хвосты.
И вот в чем дело с отладкой – она требует свежего, любопытного ума с самого начала.
И что затрудняет отладку?
По моему опыту, отсутствие ведения журнала или отсутствие знаний о ведении журнала.
Для начала вы можете не осознавать, что ваша любимая база данных – это просто еще одна часть программного обеспечения, которая генерирует журналы, или вы не будете интенсивно регистрировать события в своем приложении (см. Журналы, сгенерированные программистом выше).
Я особенно помню случай, когда приложение перестало отвечать на запросы, и никто не знал, почему.
Несколько дней спустя виновником стало ограничение дискового ввода-вывода из-за чрезмерного трафика.
Потому что никто не удосужился посмотреть журналы,и никто не мог понять, почему система упала.
Если вы регулярно посещаете журнал медленных запросов, вы узнаете, какие операции занимают больше всего времени, и, следовательно, обнаружите небольшие, но важные области, требующие работы.
Часто такие небольшие изменения работают лучше, чем удвоение емкости оборудования.
Невозможно сосчитать, сколько способов решения проблем подарит вам хорошая система журналов.
Возможно, лучшим аргументом является то, что это автоматическое действие, которое когда-то настроено, не нуждается в каком-либо мониторинге и однажды спасет вас от разорения.
В связи с этим давайте рассмотрим некоторые из удивительных сборщиков журналов с открытым исходным кодом (унифицированных инструментов ведения журналов).
1 Graylog
2 Logstash
Если вы являетесь поклонником или пользователем стека Elastic, стоит попробовать Logstash (стек ELK )
Как и другие инструменты ведения журнала в этом списке, у Logstash,полностью открытый исходный код, дает вам свободу развертывания и использования по своему усмотрению.
Но не вводите себя в заблуждение: Logstash – это иснтрумент, возможности которого намного превосходят любые скромные средства ведения журналов.
Он способен собирать огромные объемы данных с разных платформ, позволяет определять и выполнять собственные конвейеры данных, понимать неструктурированные дампы журналов и многое другое.
Конечно, единственным ограничением является то, что он работает только с набором продуктов Elastic, но если вы скоро начнете и хотите масштабироваться, Logstash – это то, что вам нужно!
3 Fluentd
Среди централизованных инструментов ведения журналов, которые выполняют роль промежуточного уровня для приема данных, Flutend является первым среди равных.
Обладая превосходной библиотекой плагинов, Fluentd может собирать данные практически из любой производственной системы, перемешивать их в нужной структуре, создавать собственный конвейер и передавать его на свою любимую аналитическую платформу, будь то MongoDB или Elasticsearch.
Fluentd построен на Ruby, является продуктом с полностью открытым исходным кодом и пользуется большой популярностью благодаря своей гибкости и модульности.
С такими крупными компаниями, как Microsoft, Atlassian и Twilio, использующим эту платформу, Fluentd нечего доказывать. ?
4 Flume
Если на самом деле вам нужны действительно большие наборы данных, и вы в конечном итоге захотите объединить все в нечто вроде Hadoop, Flume – один из лучших вариантов.
Это «чистый» проект с открытым исходным кодом, в том смысле, что он поддерживается нашим любимым Apache Foundation, что означает отсутствие корпоративного плана.
Это может быть то, что вы точно ищете. ?
Написанный на Java (который продолжает удивлять меня, когда дело доходит до революционных технологий), исходный код Flume полностью открыт.
Flume лучше всего подойдет вам, если вы ищете распределенную отказоустойчивую платформу для загрузки данных для работы в тяжелых условиях.
5 Octopussy
Я даю ноль из десяти наименованию продукта, но Octopussy может быть хорошим выбором, если ваши потребности просты, и вы задаетесь вопросом о том, что же такое суета, связанная с конвейерами, приемом, агрегацией и т. д
По моему мнению, Octopussy покрывает потребности большинства продуктов (оценочная статистика бесполезна, но, если бы мне пришлось угадывать, я бы сказал, что в реальном мире она учитывает 80% случаев использования)
У Octopussy нет отличного пользовательского интерфейса:
но он компенсирует скорость и отсутствие раздувания.
Исходный код доступен на GitHub, как и ожидалось, и я думаю, что он заслуживает серьезного изучения.
6 LOGalyze
LOGalyze был коммерческим продуктом, который недавно стал инструментом с открытым исходным кодом.
Хотя я не смог реализовать проект на GitHub, они сделали установщик Windows и весь исходный код загружаемым.
Если вы намерены участвовать в сообществе, вы можете найти подробную информацию о списке рассылки здесь.
LOGalyze – это относительно гибкое и мощное предложение, которое отлично подойдет для развертываний в одной системе, которые стремятся объединить ведение журналов из известных источников, таких как Postfix, Apache и т. д. и выводить их в форматах CSV, PDF, HTML или аналогичных.
Да, он не делает все, но поскольку это был коммерческий продукт в свое время, он делает это довольно хорошо.
7 LogPacker
Когда дело доходит до выбора инструмента для работы, у меня есть два критерия: он должен быть целенаправленным и опираться на активную бизнес-модель.
Проблема программного обеспечения с открытым исходным кодом, как правило, заключается в том, что через несколько месяцев / лет вероятность застоя или выхода из строя высока.
Там нет подсчета того, сколько инструментов ведения журнала было запущено,а только можно найти количество на кладбище GitHub.
По этому критерию LogPacker – мой любимый.
8 Logwatch
Я уверен, что среди нас есть те, кто не хочет, чтобы вся церемония была связана с «единой», «централизованной» системой ведения журналов.
Их бизнес базируется на отдельных серверах, и они ищут что-то быстрое и эффективное для просмотра своих файлов журналов.
Ну тогда, скажи привет Logwatch.
После установки LogWatch может сканировать системные журналы и создавать отчеты нужного вам типа.
Это несколько устаревшее программное обеспечение (читай «надежное»), хотя оно было написано на Perl.
Итак, вам понадобится Perl 5.6+ на вашем сервере для его запуска.
У меня нет скриншотов, которыми можно поделиться, потому что это чисто командная строка, демонизированный процесс.
Если вы наркоман CLI и любите стиль старой школы, вам понравится Logwatch!
9 Syslog-ng
Инструмент Syslog-ng был разработан как способ обработки файлов системного журнала (установленный протокол клиент-сервер для регистрации в системе) в режиме реального времени.
Однако со временем он стал поддерживать другие форматы данных: неструктурированные, SQL и NoSQL.
Как работает протокол системного журнала, довольно четко подытожено на следующем рисунке.
syslog-ng – это надежный инструмент для сбора и классификации журналов промышленного уровня, написанный на языке Си и давно известный в отрасли.
Лучшая часть – это расширяемость, позволяющая вам писать плагины на C, Python, Java, Lua или Perl.
10 Inav
От глупой командной строки, не требующих настройки инструментов до полномасштабной обработки данных – все это здесь!
Я что-то пропустил? Конечно, я сделал это!
Пожалуйста, дайте мне знать в комментариях, и я буду рад добавить эту сюда
Anything in here will be replaced on browsers that support the canvas element
Passbolt – это менеджер паролей с открытым исходным кодом, который позволяет безопасно хранить и передавать учетные данные для входа на сайт, пароль роутера, пароль Wi-Fi и т.д. В этом руководстве будет показано, как установить Passbolt Community Edition (CE) на Ubuntu 22.04 с сервером базы данных PostgreSQL, который обычно быстрее, чем сервер базы данных MariaDB/MySQL. Особенности […]
socialscan – это инструмент командной строки для проверки использования электронной почты и имен пользователей социальных сетей на онлайн-платформах. Если задан адрес электронной почты или имя пользователя, socialscan возвращает, доступен ли он, занят или недействителен на онлайн-платформах. Другие подобные инструменты проверяют доступность имени пользователя, запрашивая страницу профиля рассматриваемого имени пользователя и на основе такой информации, как […]
Многие советы по безопасности, как правило, делятся на два лагеря: предназначенные для предприятий с постоянно работающими командами безопасности и инфраструктуры, или быстрая установка инструментов без контекста для одиночных веб-разработчиков. В этой статье мы пойдем по среднему пути и рассмотрим некоторые способы безопасного управления веб-сервером для различных распространенных сценариев развертывания. Цель – обеспечить лучшее понимание инструментария […]
Что такое afrog afrog – это высокопроизводительный, быстрый и стабильный, PoC настраиваемый инструмент для сканирования уязвимостей. PoC включает CVE, CNVD, пароль по умолчанию, утечку информации, идентификацию фингерпринтов, несанкционированный доступ, произвольное чтение файлов, выполнение команд и т.д. Он помогает специалистам по сетевой безопасности быстро проверять и своевременно устранять уязвимости. Особенности Основан на ядре xray, но не […]
Краткое руководство по сканированию портов Сканирование портов – это враждебная техника, часто используемая специалистами по тестированию на проникновение и хакерами для сканирования компьютеров, подключенных к Интернету, и определения того, какие приложения или службы прослушивают сеть, обычно для проведения таргетированных атак. Как правило программное обеспечение безопасности обнаруживает активное сканирование портов и отмечает его как потенциальную угрозу. […]
Читайте также: