По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Что это за странные названия - Elasticsearch, Logstash и Kibana?
На сегодняшний день разработка программного обеспечения одна из наиболее широких и динамично развивающихся сфер деятельности человечества. Новые идеи, программные решения, оптимизация и адаптация вот что выделяет хорошего разработчика ПО. Соответственно, выбор подходящего инструмента для создания приложений это то, от чего напрямую зависит скорость работ, а значит и развитие компании, и продвижение ее на рынке.
Одним из ключевых процессов в разработке ПО является логирование. Этим термином называется фиксация каждого этапа работы программы, как правило, сохраняемого в файл, который называется логом. Этот файл обычно содержит информацию о каждой совершенной программой операции и точном времени ее совершения, что позволяет в случае неполадки просмотреть, в какой момент и на какой операции что-то пошло не так.
Программное обеспечения для сбора и анализа логов не всегда универсально. По классической схеме работы, лог-файл создается при первом запуске программы, фиксирует ее поведение, затем автоматически сохраняется при закрытии программы. При следующем запуске приложения лог-файл заменяется на новый и все начинается сначала.
Однако, с течением времени программы становятся все более сложными, лог-файлы, соответственно, более объемными, а навигация по ним более затруднительной. С течением времени возникла необходимость в специализированных инструментах, которые позволяют быстро и удобно работать с логами. Одним из таких решений стал комплекс программ ELK Stack, о котором и пойдет речь в этой статье.
Название ELK подобрано не просто так. Это не одна программа, а, как уже было сказано выше, комплекс, состоящий из трех основных программных продуктов Elasticsearch, Logstash и Kibana. Иногда данный комплекс дополняется сторонними программами, но эти "три кита" остаются неизменными инструментами. Разберем подробнее:
Elasticsearch это поисковая система, предназначенная изначально для поиска фрагментов текста, однако с гибким функционалом и широкими возможностями по настройке. Это продукт улучшения решения Apache Lucene за счет добавления нескольких нововведений, делающих поиск информации в проектах с большими объемами данных достаточно оперативным и несложным.
Logstash приложение для сбора информации из различных источников, преобразования их в удобный для работы формат и направления их в хранилище для дальнейшей работы. Простота использования и возможность работать с большими объемами данных обеспечивает Logstach ряд преимуществ перед аналогичными проектами.
Kibana это плагин, предназначенный специально для Elasticsearch. Он отвечает за визуализацию данных, аналитику и представление итоговой информации в удобном для восприятия виде. Данное решение позволяет достаточно быстро анализировать итоги поиска, искать закономерности и представлять на экране Вашего устройства, где именно в проекте находятся слабые места. Этот плагин также обладает широкими возможностями по конфигурированию.
Таким образом, механизм сбора логов выглядит так: Logstash собирает объемные логи и помещает их в хранилище, Elasticsearch используется для поиска нужных строк в этих логах, Kibana позволяет проанализировать и визуализировать результаты поиска. Комплекс этих программных продуктов отличное решение для оперативного поиска и устранения неисправностей в программном коде, и очень удобный инструмент для разработчиков особенно тех, кто занимается созданием или внедрением отдельных элементов в крупные проекты. Кроме того, функциональность ELK позволяет его использовать в качестве централизованного хранилища журналов, агрегатора событий с удобной навигацией, аналитической системы с алгоритмом машинного обучения, а также по иным назначениям.
Стоит упомянуть, что все три проекта разработаны компанией Elastic на основе открытого кода. Это позволяет сторонним разработчикам модифицировать систему, и вполне возможно, что данный продукт получит развитие и в дальнейшем будет пользоваться еще большей популярностью среди пользователей.
Кэш DNS может быть поврежден по ряду причин, включая сетевые атаки или вирусы. Когда это происходит, сопоставление IP-адресов становится поврежденным для некоторых популярных веб-сайтов.
Например, вместо того, чтобы заходить на сайт www.google.com, ваш браузер может перенаправить вас на IP-адрес вредоносного веб-сайта, который злоумышленник вставил в записи DNS вашего компьютера. Или вы можете получить большое количество ошибок 404.
Очистка кеша DNS удаляет всю сохраненную информацию поиска DNS. Затем ваш компьютер получает обновленные данные с DNS-серверов при следующей отправке запроса на поиск.
Как очистить кэш DNS в Windows
Очистка кеша DNS - это простой и быстрый процесс. Процедура одинакова для почти всех систем Windows. Для примера ниже мы будем использовать Windows 10.
Чтобы очистить DNS на вашем компьютере с Windows:
Загрузите командную строку от имени администратора. Откройте меню «Пуск» и начните вводить "командная строка" или "cmd", пока не увидите ее в результатах.
Введите ipconfig/flushdns, когда командная строка загрузится, и нажмите Enter на клавиатуре.
Процесс должен занять всего несколько секунд. Вы должны увидеть подтверждающее сообщение DNS Resolver Cache, когда это будет сделано:
База данных кэша DNS на вашем компьютере теперь очищена. Вы должны получить правильное и обновленное сопоставление IP-адресов с DNS-серверов в следующий раз, когда ваш компьютер отправит DNS-запрос.
Очистить кэш DNS на Mac
Есть несколько разных команд для очистки кеша DNS в OS X и macOS в зависимости от используемой версии.
Поскольку процедура одинакова для всех версий, в этой статье подробно описано, как очистить DNS в macOS Mojave (10.14), а затем перечислены команды для других версий в таблице.
Сброс DNS на MacOS Mojave (версия 10.14)
Чтобы очистить кэш DNS на MacOS Mojave, используйте приложение Terminal:
Запустите Terminal.app, используя ваш предпочтительный метод. Вы можете запустить приложение из Приложения -> Утилиты или нажать Ctrl + Space, чтобы запустить Spotlight и выполнить поиск терминала.
Введите sudo killall -HUP mDNSResponder и нажмите Enter на клавиатуре.
Введите пароль администратора для рассматриваемой учетной записи и нажмите Enter.
После окончания процесса не будет никаких оповещений
Команды для очистки DNS-кэша в старых версиях macOS и Mac OS X
В таблице ниже перечислены команды для очистки кэша DNS в большинстве версий MacOS и Mac OS X. Вы можете скопировать и вставить их прямо из таблицы в свой терминал.
Mac OS X или macOS версияКоманда терминалаMojave (version 10.14)High Sierra (version 10.13)Sierra (version 10.12)Mountain Lion (version 10.8)Lion (version 10.7)sudo killall -HUP mDNSRespondeEl Capitan (version 10.11)Mavericks (version 10.9)sudo dscacheutil -flushcache sudo killall -HUP mDNSResponderYosemite (version 10.10)sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcachesSnow Leopard (version 10.6)Leopard (version 10.5)sudo dscacheutil -flushcacheTiger (version 10.4)lookupd -flushcache
Как очистить кэш DNS в Linux
Дистрибутивы Linux немного отличаются от компьютеров с Windows и Mac. Каждый дистрибутив Linux может использовать свою службу DNS. Некоторые дистрибутивы, такие как Ubuntu, вообще не имеют службы DNS по умолчанию.
Это зависит от того, какая служба используется в вашем дистрибутиве и включена ли она по умолчанию. Некоторые из них - NCSD (Name Service Caching Daemon), dnsmasq и BIND (Berkely Internet Name Domain).
Для каждого дистрибутива вам нужно запустить окно терминала. Нажмите Ctrl + Alt + T на клавиатуре и используйте соответствующую команду, чтобы очистить кэш DNS для службы, работающей в вашей системе Linux.
Очистить локальный DNS-кэш NCSD
Используйте эту команду для очистки DNS-кэша NCSD на вашем Linux-компьютере:
sudo /etc/init.d/nscd restart
Введите свой пароль, если это необходимо. Процесс останавливается, а затем запускает службу NCSD в течение нескольких секунд.
Очистить локальный DNS-кэш dnsmasq
Используйте эту команду для очистки DNS-кэша dnsmasq на вашем Linux-компьютере:
sudo /etc/init.d/dnsmasq restart
Введите пароль еще раз, если терминал попросит вас. Вы увидите ответ, когда служба останавится и запустится снова.
Очистить локальный DNS-кэш BIND
Если вы используете BIND для службы DNS, есть несколько команд, которые вы можете использовать для очистки его кеша DNS. Вам может потребоваться ввести пароль для завершения процесса.
sudo /etc/init.d/named restart
sudo rndc restart
sudo rndc exec
Примечание: BIND также позволяет указывать конкретные домены при выполнении сброса DNS. Просто добавьте flushname и имя домена в команду sudo rndc. Например:sudo rndc flushname wiki.merionet.ru
В прошлой статье мы рассмотрели, как создавать в амазоне инстансы с помощью Terraform. В данной статье мы рассмотрим, как изменять то, что мы создали в облаке.
Из прошлой статьи у нас есть работающий сервер в амазоне, теперь нам необходимо изменить его параметры.
Допустим мы решили, что нам одного сервера недостаточно и нам понадобился еще один сервер. Мы можем внести изменение. Вместо count 1, подставим значение 2.
Сохраняем изменение в файле. Пробуем запустить, команду которая покажет, что у нас произойдет - terraform plan.
Мы видим, что в результате наших действий, будет добавлен еще один сервер. Запускаем на выполнение terraform apply. Не забываем, что необходимо подтвердить наше действие напечатав yes.
Мы можем увидеть, что в результате наших действий изменилось количество бегущих серверов. Теперь их 2 штуки.
Следующий шаг. Давайте попробуем изменить, размер сервера. У нас был t2.micro, возьмем немного побольше сервер t3.micro и уберем один лишний сервер изменив параметр count c 2 на 1.
Вводим команду terraform plan и видим, что один сервер будет уничтожен, а второй будет изменен.
Ну и стандартное уже terraform apply с подтверждением своих действий. Перейдем в консоль амазон и посмотрим, что происходит.
Амазон, в соответствии с произведёнными изменениями меняет размер виртуального сервера и уничтожает лишний. Теперь, можно посмотреть в официальной документации resource aws_instance, те параметры, которые можно изменять таким нехитрым образом в амазон с помощью Terraform.
Давайте добавим так, чтобы обозначить, например, сервер. На старице в официальной документации, было показано, что внутрь ресурса надо добавить.
tags = {
Name = "Vasya"
}
И отправляем изменения в амазон terraform apply. На выходе мы получим.
Сервер с именем Vasya. По факту мы не сделали ничего нового, просто изменили пустые параметры, грубо говоря просто подписали, добавили tags. Tags имеет смысл добавлять к каждому развертываемому серверу, потому что в крупных проектах, когда серверов более 100, а то и пол тысячи, будет очень легко запутаться и в параметрах и в запущенных серверах. В этом случае tag или по-другому метки, нас выручат очень хорошо.
Обратите внимание, когда мы вносим, какое-либо изменение в код, то при выводе результата команды terraform plan, на против планируемых изменений мы видим знак + зеленый если добавляется что-то или знак - красный если мы, что-то убираем.
Еще не мало важный фактор. Нельзя вносить изменения в сервера, в ручном режиме через консоль, которые мы обслуживаем с помощью Terraform. Все, изменения, которые вы внесете в ручном режиме, будут удалены при синхронизации, потому что данных параметров нет в коде.
Следовательно, исходя из этого принципа, удалять ресурсы тоже необходимо через код. Делается это достаточно просто, просто необходимо удалить ресурс из кода или поставить параметр count = 0 внутри ресурса.
В нашем примере я изменил параметр count = 0. И можно видеть, что Terraform сообщил нам о том, что сервер будет уничтожен в облаке.
И действительно, если мы посмотрим в консоль, то мы увидим, что все сервера в облаке находятся в состоянии terminated, в течении полутора минут.
Это означает, что данные сервера выключены и готовятся к удалению. Если у нас несколько серверов предназначен для удаления, то Terraform будет производить выключение и последующее удаление данных серверов параллельно.