По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Такой большой и интересный инструмент - а разворачивать как? В одной из предыдущих статей мы знакомились с таким инструментом разработчика, как ELK. Сегодня мы разберемся, как правильно подготовить этот комплекс для практической работы. Для начала напомним, что ELK это один из наиболее удобных инструментов разработчика, предназначенный для быстрого выявления неполадок в работе объемных программ путем сбора и анализа логов. Этот комплекс состоит из трех приложений: поисковика Elasticsearch, сборщика данных Logstash и визуализатора Kibana. Весь комплекс разрабатывается компанией Elastic. Ознакомимся с системными требованиями. На каждом из серверов в системе рекомендуется иметь не менее 8 физических ядер и не менее 48 Гб оперативной памяти. Кроме того, если данные планируется собирать с крупной системы, то объем внутренней памяти будем оценивать по принципу "чем больше тем лучше". 8 Тб это рекомендуемые требования, но этот показатель может варьироваться. Ну и, разумеется, чем выше скорость соединения между серверами - тем быстрее будет проводиться обработка информации. Рекомендуемый показатель - 1Гб/с. Система из трех таких серверов позволит обрабатывать до тысячи событий в секунду, собирать и отображать 95% данных за отдельные периоды времени (5 минут, сутки),хранить данные до 90 дней и обслуживать до 10 клиентов по протоколу HTTP одновременно. Поскольку все элементы данного решения реализованы на Java, первым делом нужно установить актуальную версию Oracle Java. Также рекомендуется изучить дополнительную информацию о компонентах ELK на предмет совместимости версий. Если на Вашей рабочей станции установлены Ubuntu или Debian, устанавливаем соединение с репозиторием для скачивания Oracle Java. Если вы пользуетесь CentOS то качаем программную среду на сервер с сайта разработчика. После того, как процесс установки завершится рекомендуется проверить актуальную версию с помощью соответствующей команды консоли. Если все хорошо, то это значит, что почва подготовлена, и можно переходить к следующему этапу А им станет скачивание и установка поискового инструмента Elasticsearch. Это также не вызовет особой сложности достаточно скопировать в систему публичный ключ репозитория, установить с ним соединение (пользователи Debian и Ubuntu могут столкнуться с отсутствием загрузочного пакета apt-transport-https его нужно будет установить дополнительно), скачать актуальную версию Elasticsearch и запустить процесс установки. Чтобы работа приложения была корректной, его стоит добавить в автозагрузку. Затем проверяем, штатно ли прошла установка, запустив программу. Итак, все запустилось нормально. Можно переходить к этапу конфигурирования Elasticsearch. Это не займет много времени нужно будет отредактировать пару строк в файле конфигурации /etc/elasticsearch/elasticsearch.yml. Во-первых, чтобы не собирать лишнюю информацию, указываем хост локального интерфейса, через который будет передавать данные Logstash (по умолчанию, данные собираются со всех сетевых интерфейсов), а во-вторых, указываем путь к хранилищу данных, откуда мы и будем с ними работать. Рекомендуется выделить под хранилище значительные объемы памяти чем сложнее проект, тем больше будут весить собираемые логи. После завершения процесса настройки перезапускаем и проверяем программу. Далее нас ждет установка веб-панели Kibana. Этот процесс почти не отличается от установки Elasticsearch, ключи репозиториев будут одинаковыми. В целом, все то же самое устанавливаем соединение с репозиторием, скачиваем, устанавливаем, добавляем в автозагрузку, запускаем, проверяем. Стоит обозначить, что приложение загружается довольно долго, поэтому проверку лучше осуществить через пару минут после отдачи команды на запуск приложения. Редактирование настроек Kibana можно осуществить через файл /etc/kibana/kibana.yml. Здесь нас интересует строка с указанием интерфейса, который будет "слушать" Kibana. Это могут быть все интерфейса, либо один определенный в данном случае нужно будет указать конкретный ip-адрес нужного сервера. Далее проверим сам веб-интерфейс, для этого указываем адрес - например, http://10.1.4.114:5601. Наконец, перейдем к этапу установки Logstash. Здесь все то же самое, только перед проверочным запуском программу нужно настроить. Можно отредактировать основной файл настроек /etc/logstash/logstash.yml, но рациональнее будет создать несколько файлов конфигурации в директории /etc/logstash/conf.d, чтобы группировать настройки по назначению. Создаем файлы input.conf и output.conf. В первом файле мы указываем порт, на который будем принимать информацию, а также параметры ssl, если в этом есть необходимость. Во втором файле указываем параметры передачи данных в Elasticsearch. Данные лучше передавать под указанным дополнительно индексом, также используя маску в виде даты. Также можно отключить функцию отправки данных в общий лог системы, чтобы не занимать место в хранилище дублированными фрагментами информации. Кроме этого, потребуется создать файл с параметрами обработки данных. Дело в том, что не всегда удобно работать с полным объемом, и приходится делать выборку ключевых данных. Создаем файл filter.confи указываем параметры, на основании которых будут фильтроваться необходимые данные. Также при необходимости можно настроить, например, корректное отображение даты или географического местоположения сервера, с которого будет поступать информация. Завершив конфигурирование, можно проверить работу программы, запустив ее и просмотрев внутренний файл лога /var/log/logstash/logstash-plain.log. Основной пакет программ установлен теперь осталось установить программы, которые будут отправлять данные, на сервера. Компания Elastic предлагает использовать Filebeat, но можно воспользоваться и альтернативными вариантами. Здесь процесс установки аналогичен предыдущим. Файл настроек по умолчанию позволяет сразу работать с программой, но можно и подредактировать его при необходимости. Если все сделано правильно, программный комплекс уже начал собирать логи. Следующим шагом будет открытие веб-интерфейса Kibana и настройка паттерна индекса, чтобы лог открывался в веб-интерфейсе по умолчанию, а в сохраняемых данных не было путаницы.
img
Перенос или миграция базы данных MySQL или MariaDB между серверами обычно занимает всего несколько простых шагов. В этой статье мы расскажем про них, и вы сможете легко перенести данные со старого Linux сервера на новый, импортировать и выполнить проверку того что все прошло без ошибок. Поехали! Подготовка Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните: mysql -V После этого нужно убедиться, что на новом сервере хватает места для файла дампа старой базы и импортированной базы данных (например, используя команду df). Экспортируем базу данных MySQL в файл дампа Внимание! Не переносите каталог data на новый сервер и не меняйте внутреннюю структуру БД. Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl: # systemctl stop mariadb ИЛИ # systemctl stop mysql Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump: # mysqldump -u [user] -p --all-databases > all_databases.sql Если база одна, то можно использовать команду: # mysqldump -u root -p --opt [database name] > database_name.sql Перенос дампа MySQL на новый сервер Теперь используйте команду scp, чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер. # scp all_databases.sql user@merionet.ru:~/ [Все базы] # scp database_name.sql user@merionet.ru:~/ [Одна база] Импорт файла дампа MySQL на новый сервер После того как файл дампа был перенесен, нужно выполнить следующую команду для импорта всех баз данных в MySQL. # mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database] Проверка импорта После завершения импорта вы можете проверить базы данных на обоих серверах: # mysql -u user -p # show databases; Перенос баз данных и пользователей MySQL на новый сервер Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync. С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер. # rsync -avz /var/lib/mysql/* user@merionet.ru:/var/lib/mysql/ Как только передача завершится, вы можете установить владельца каталога данных mysql или mariadb для пользователя и группы mysql. Для того чтобы убедиться, что что все файлы были переданы можно выполнить просмотр каталога. # chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/ Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.
img
Машинное обучение - это метод анализа данных, который автоматизирует построение аналитической модели. Это отрасль искусственного интеллекта, основанная на идее, что системы могут обучаться на основе данных, выявлять закономерности и принимать решения с минимальным вмешательством человека. Эволюция машинного обучения Из-за новых вычислительных технологий машинное обучение сегодня отличается от машинного обучения в прошлом. Оно основывается на распознавании образов и теории, что компьютеры могут обучаться, не будучи запрограммированы для выполнения конкретных задач; исследователи, интересующиеся искусственным интеллектом, хотели посмотреть, смогут ли компьютеры обучаться, основываясь на базе данных. Итеративный аспект машинного обучения важен, так как модели, подвергающиеся воздействию новых данных, способны самостоятельно адаптироваться. Они учатся от предыдущих вычислений для получения надежных и воспроизводимых решений и результатов. Хотя многие алгоритмы машинного обучения существуют уже давно, способность автоматически применять сложные математические вычисления к объемным данным - снова и снова, все быстрее и быстрее - это новейшая разработка. Вот несколько широко разрекламированных примеров приложений машинного обучения, с которыми вы можете быть знакомы: Сильно раскрученная, самоуправляемая машина Google. Суть машинного обучения. Онлайн рекомендации, такие, как у Amazon и Netflix. Приложения машинного обучения для повседневной жизни. Знание того, что клиенты говорят о вас в соцсетях. Машинное обучение в сочетании с созданием лингвистических правил. Обнаружение мошенничества. Одно из наиболее очевидных, важных применений в современном мире. Почему машинное обучение важно? Возобновление интереса к машинному обучению обусловлено теми же факторами, которые сделали анализ данных и Байесовский анализ более популярными, чем когда-либо. Растущие объемы и разнообразие доступных данных, вычислительная обработка, которая является более дешевой и мощной; доступное хранилище для хранения данных - все эти аспекты означают, что можно быстро и автоматизировано производить модели, которые могут анализировать более объемные и сложные данные и обеспечивать быстрые и более точные результаты - даже на очень больших объемах. А благодаря созданию точных моделей у организации больше шансов определить выгодные возможности или избежать неизвестных рисков. Что необходимо для создания эффективных систем машинного обучения? Возможности подготовки данных. Алгоритмы - базовый и продвинутый. Автоматизация и итерационные процессы. Масштабируемость. Ансамблевое моделирование. Интересные факты В машинном обучении, цель называется - «ярлык». В статистике, цель называется «зависимой переменной». Переменная в статистике называется – «функция в машинном обучении». Преобразование в статистике называется – «создание функции в машинном обучении». Кто использует машинное обучение? Большинство отраслей промышленности, работающих с большими объемами данных признали ценность технологии машинного обучения. Подбирая идеи из этих данных - часто в режиме реального времени - организации способны более эффективно работать или получить преимущество перед конкурентами. Финансовые услуги Банки и другие предприятия финансовой индустрии используют технологию машинного обучения для двух ключевых целей: для выявления важных данных и предотвращения мошенничества. Они могут определить инвестиционные возможности или помочь инвесторам узнать, когда торговать. Интеллектуальный анализ данных может также идентифицировать клиентов с профилями высокого риска или использовать кибер-наблюдение, чтобы точно определить признаки мошенничества. Правительство Правительственные учреждения, такие как общественная безопасность и коммунальные службы, особенно нуждаются в машинном обучении, поскольку у них есть несколько источников данных, из которых можно получить информацию для полного понимания. Например, анализ датчика данных определяет пути повышения эффективности и экономии средств. Машинное обучение также может помочь обнаружить мошенничество и минимизировать кражу личных данных. Здравоохранение Машинное обучение является быстро развивающимся направлением в отрасли здравоохранения, благодаря появлению переносных устройств и датчиков, которые могут использовать данные для оценки состояния здоровья пациента в режиме реального времени. Эта технология также может помочь медицинским экспертам анализировать данные для выявления тенденций или «красных флажков», которые могут привести к улучшению диагностики и лечения. Розничная торговля Веб-сайты, рекомендующие товары, которые могут вам понравиться на основе предыдущих покупок, используют машинное обучение для анализа вашей истории покупок. Ритейлеры полагаются на машинное обучение для сбора данных, их анализа и использования для персонализации процесса совершения покупок, проведения маркетинговой кампании, оптимизации цен, планирования поставок товаров, а также для понимания потребностей клиентов. Нефть и газ Поиск новых источников энергии. Анализ минералов в почве. Прогнозирование неисправности датчика НПЗ. Оптимизация распределения нефти, чтобы сделать ее более эффективной и рентабельной. Количество вариантов использования машинного обучения для этой отрасли огромно - и продолжает расти. Транспорт Анализ данных для определения закономерностей и тенденций является ключевым для транспортной отрасли, которая полагается на повышение эффективности маршрутов и прогнозирование потенциальных проблем для повышения прибыльности. Анализ данных и аспекты моделирования машинного обучения являются важными инструментами для компаний доставки, общественного транспорта и других транспортных организаций. Каковы популярные методы машинного обучения? Двумя наиболее широко распространенными методами машинного обучения являются контролируемое обучение и неконтролируемое обучение, но существуют и другие методы машинного обучения. Вот обзор самых популярных типов. Контролируемое обучение Алгоритмы контролируемого обучения изучаются с использованием маркированных примеров, таких как ввод, в котором известен желаемый результат. Например, единица оборудования может иметь точки данных, помеченные как «F» (ошибка) или «R» (работа). Алгоритм обучения получает набор входных данных вместе с соответствующими правильными выходными данными, а алгоритм обучается путем сравнения своих фактических выходных данных с правильными выходными данными, чтобы найти ошибки. Затем он соответствующим образом модифицирует модель. С помощью таких методов, как классификация, регрессия, прогнозирование и повышение градиента, контролируемое обучение использует шаблоны для прогнозирования значений метки на дополнительных немаркированных данных. Контролируемое обучение обычно используется в приложениях, где исторические данные предсказывают вероятные будущие события. Например, он может предвидеть, когда транзакции по кредитным картам могут быть мошенническими или какой клиент страхования может подать иск. Полуконтролируемое обучение Полуконтролируемое обучение используется для тех же приложений, что и контролируемое обучение. Но для обучения оно использует как помеченные, так и непомеченные данные, как правило, это небольшой объем помеченных данных с большим количеством немеченых данных (поскольку немеченые данные дешевле и требуют меньше усилий для их получения). Этот тип обучения может использоваться с такими методами, как классификация, регрессия и прогнозирование. Полуконтролируемое обучение полезно, когда стоимость, связанная с маркировкой, слишком высока, чтобы учесть полностью помеченный процесс обучения. Ранние примеры этого включают идентификацию лица человека по веб-камере. Неконтролируемое обучение Неконтролируемое обучение используется в отношении данных, которые не имеют исторических меток. Система не сказала «правильный ответ». Алгоритм должен выяснить, что показывается. Цель состоит в том, чтобы исследовать данные и найти некоторую структуру внутри. Неуправляемое обучение хорошо работает на транзакционных данных. Например, он может идентифицировать сегменты клиентов со схожими признаками, которые затем могут обрабатываться аналогично в маркетинговых кампаниях. Или он может найти основные атрибуты, которые отделяют сегменты клиентов друг от друга. Популярные методы включают самоорганизующиеся таблицы, отображение ближайших соседей, кластеризацию k-средств и разложение по сингулярным числам. Эти алгоритмы также используются для сегментирования текстовых тем, рекомендации элементов и резко отличающихся значений данных. Усиленное обучение Усиленное обучение часто используется для робототехники, игр и навигации. Благодаря обучению с подкреплением алгоритм с помощью проб и ошибок обнаруживает, какие действия приносят наибольшее вознаграждение. Этот тип обучения состоит из трех основных компонентов: агент (учащийся или лицо, принимающее решения), среда (все, с чем взаимодействует агент) и действия (что может делать агент). Цель состоит в том, чтобы агент выбирал действия, которые максимизируют ожидаемое вознаграждение в течение заданного периода времени. Агент достигнет цели намного быстрее, следуя хорошей политике. Таким образом, цель усиленного обучения состоит в том, чтобы изучить лучшую политику. Каковы различия между интеллектуальным анализом данных, машинным обучением и глубоким обучением? Хотя все эти методы имеют одну и ту же цель - извлекать идеи, шаблоны и зависимости, которые можно использовать для принятия решений - у них разные подходы и возможности. Сбор данных (Data Mining) Интеллектуальный анализ данных можно рассматривать как набор множества различных методов для извлечения информации из данных. Он может включать традиционные статистические методы и машинное обучение. Интеллектуальный анализ применяет методы из разных областей для выявления ранее неизвестных шаблонов из данных. Он может включать в себя статистические алгоритмы, машинное обучение, анализ текста, анализ временных рядов и другие области аналитики. Интеллектуальный анализ данных также включает изучение, практику хранения и обработки данных. Машинное обучение Основное отличие машинного обучения заключается в том, что, как и в статистических моделях, цель состоит в том, чтобы понять структуру данных - подогнать теоретические распределения к хорошо понятным данным. Таким образом, под статистическими моделями стоит теория, которая математически доказана, но для этого необходимо, чтобы данные также соответствовали определенным строгим гипотезам. Машинное обучение развивалось на основе способности использовать компьютеры для проверки данных на предмет структуры, даже если у нас нет теории о том, как эта структура выглядит. Испытанием модели машинного обучения является ошибка проверки новых данных, а не теоретическое испытание, которое подтверждает нулевую гипотезу. Поскольку машинное обучение часто использует итеративный подход для изучения данных, обучение может быть легко автоматизировано. Передача через данные проходит, пока не будет найден надежный шаблон. Глубокое изучение (Deep learning) Глубокое обучение сочетает в себе достижения в области вычислительной мощности и специальных типов нейронных сетей для изучения сложных моделей больших объемов данных. В настоящее время методы глубокого обучения подходят для идентификации объектов в изображениях и слов в звуках. В настоящее время исследователи стремятся применить эти успехи в распознавании образов для решения более сложных задач, таких как автоматический перевод языка, медицинские диагнозы и множество других важных социальных и деловых проблем. Как это работает? Чтобы получить максимальную отдачу от машинного обучения, вы должны знать, как сочетать лучшие алгоритмы с подходящими инструментами и процессами. Алгоритмы: графические пользовательские интерфейсы помогают создавать модели машинного обучения и реализовывать итеративный процесс машинного обучения. Алгоритмы машинного обучения включают в себя: Нейронные сети Деревья решений Случайные леса Ассоциации и обнаружение последовательности Градиент повышения и расфасовки Опорные векторные машины Отображение ближайшего соседа K-средства кластеризации Самоорганизующиеся карты Методы локальной оптимизации поиска Максимальное ожидание Многомерные адаптивные регрессионные сплайны Байесовские сети Оценка плотности ядра Анализ главных компонентов Сингулярное разложение Смешанные Гауссовские модели Последовательное сопроводительное построение правил Инструменты и процессы: Как мы уже знаем, это не просто алгоритмы. В конечном счете, секрет получения максимальной отдачи от ваших объемных данных заключается в объединении лучших алгоритмов для поставленной задачи с: Комплексным качеством данных и их управлением GUI для построения моделей и процессов Интерактивным исследованием данных и визуализацией результатов модели Сравнением различных моделей машинного обучения для быстрого определения лучшей Автоматизированной оценкой группы для выявления лучших исполнителей Простым развертыванием модели, что позволяет быстро получать воспроизводимые и надежные результаты Интегрированной комплексной платформой для автоматизации процесса принятия решений
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59