По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В производственной среде даже минимальное время простоя недопустимо. Это может привести к потере доходов и, что хуже всего, репутации. Чтобы отладить возможные сценарии, которые приводят к простою, развертываются разные системы регистрации событий и мониторинга. Это помогает экономить средства и своевременно выявлять проблемы, которые могут возникнуть в будущем. В настоящее время большинство организаций, вне зависимости от размера, так или иначе использует принципы и инструменты DevOps. Наиболее популярны контейнеры и Kubernetes. И мониторинг такой системы проводится очень эффективно с помощью Prometheus. Но там, где Prometheus отстает – узкая часть. Она не обеспечивает централизованную систему логирования, и именно здесь на сцену выходит Loki. Что такое Grafana Loki? Grafana Loki - система агрегации логов с нескольких источников, запущенная компанией Grafana в 2018 году и выпущенная под лицензией Apache 2.0. Разработки системы были вдохновлены Prometheus. Он широко используется с поставщиками облачных технологий и такими инструментами, как Prometheus и Grafana. Loki аналогичен стеку ELK/EFK, но его проще настроить и использовать, и предлагает лучшие функциональными возможностями. Loki не индексирует содержимое журнала, а индексирует метки времени и набор меток для потока журнала. Это делает индекс меньше, что упрощает операции и в конечном итоге снижает стоимость. Преимущества Loki Ниже приведены преимущества использования Loki в стеке: Благодаря индексации только метаданных, Loki очень экономичен. Выполнение индексов для полнотекстовой обработки требует большей оперативной памяти, которая стоит дорогой. Хранение журналов на объектах хранения, как S3, также уменьшает себестоимость. Он поддерживает использование нескольких источников с использованием tenantID, поэтому данные из каждого ресурса хранятся отдельно. Loki можно запускать локально для небольших операций или легко масштабировать по горизонтали для крупномасштабных операций. Он использует динамический стиль для обеспечения согласованности кворума для операций чтения и записи. По умолчанию он настроен на создание 3 реплик журналов для защиты от сбоев процессов и внезапных выходов с места потери журналов. Да, это повлечет за собой дополнительные расходы, но не такие высокие – целостность данных более критична. Легко интегрируется с такими популярными инструментам, как Kubernetes, Prometheus и визуализация в Grafana. Архитектура Loki Архитектура Loki состоит из трех компонентов - Promtail, Loki и Grafana. Promtail - это агент, который должен быть установлен на каждом узле, на котором выполняются приложения или службы. Основной обязанностью Promtail является обнаружение цели, прикрепление меток к потокам подов, и сохранение этих логов в экземпляры Loki. Агент promtail передает журналы из локальной файловой системы на центральный сервер Loki. После этого можно выполнить обратный запрос журналов с помощью Grafana. Сценарии использования Loki Ниже приведены популярные сценарии использования системы ведения журнала, подобных Loki. Бизнес-аналитика: Это, пожалуй, самый распространённый пример использования, создание действенного понимания на основе данных журнала всегда может быть очень полезным. Loki может помочь в понимании данных журнала и даст возможность создавать новые стратегии для роста бизнеса. Например, с помощью данных журнала организации можно узнать коэффициенты эффективности рекламного канала. Мониторинг: Prometheus часто используется для мониторинга в разных отраслях. Но вы можете многое идентифицировать, отслеживая свои журналы с помощью таких инструментов, как Loki. Она, просматривая журналы и отправляя предупреждения после превышения порога, поможет вам отслеживать частоту ошибок на вашем веб-сайте. Отладка и устранение неполадок: Loki может помочь команде DevOps быстро находить ответ на такие вопросы, как когда произошел сбой приложения, причина его сбоя, его последний статус перед сбоем и т.д. Кибербезопасность: За последние несколько лет число кибератак на порталы электронной коммерции увеличивается в геометрической прогрессии. С помощью Loki можно выполнить проверку журналов, чтобы выявить любые угрозы, проблемы или вредоносные действия, происходящие в системе вашей организации. Если взлом был успешным, Loki мог бы быть полезным для криминалистов, чтобы детально понять, что происходило в системе. Это поможет им отследить хакеров. Соблюдение норм: Для соблюдения отраслевых норм организации должны вести журналы аудита до 7 лет. Местные власти могут проверять журналы в любое время. Loki может безопасно хранить ваши журналы аудита. Установка Loki и Promtail Далее покажем, как установить и визуализировать журналы на Grafana. В этой демонстрации мы используем общую конфигурацию, которая будет собирать журналы из /var/log/* log. Перейдите на страницу релизов Loki на Github, прокрутите вниз до Assets. Здесь вы найдете несколько пакетов Loki и Promtail. Загрузите пакет Loki в соответствии с используемой системой. Не устанавливайте пакеты cli или canary Loki. Я загружаю loki-linux-amd64.zip и promtail-linux-amd64.zip для моей системы Ubuntu. После завершения загрузки разархивируйте файлы Loki и Promtail и поместите их в единый каталог. Теперь загрузите общий файл конфигурации Loki и Promtail. Чтобы запустить Loki, выполните приведенную ниже команду с файлом конфигурации Loki. Это приведет к запуску Loki и отображению журналов Loki в терминале. loki-linux-amd64 loki-local-config.yaml promtail-linux-amd64 promtail-local-config.yaml Чтобы запустить Promtail, выполните приведенную ниже команду с файлом конфигурации Promtail. Promtail должен получить журналы в Loki. ./loki-linux-amd64 -config.file=loki-local-config.yaml Визуализация логов с помощью Loki и Grafana Grafana обеспечивает встроенную поддержку Loki. Loki уже присутствует в источниках данных Графаны. Шаг 1. Перейдите к разделу Конфигурации Grafana и нажмите кнопку Data Sources (Источники данных). Шаг 2. В окне источников данных можно выполнить поиск источника по имени или типу. Шаг 3. Введите в строку поиска слово Loki. Этот источник данных уже присутствует в Grafana. Нажмите кнопку Select (Выбрать). Шаг 4. Введите имя, которое вы хотите дать источнику данных, и поместите http://localhost:3100 (измените его на IP-адрес сервера, если Loki работает на сервере, отличном от Grafana) в строку URL. Порт прописываем потому, что мы запустили Loki на порту 3100. Нажмите кнопку Save and Test внизу. Если настройка Loki выполнена правильно, появится следующее сообщение в зеленом поле. Шаг 5.Нажмите на вкладку Explore (Обзор) на левой части панели. Выберите Loki в раскрывающемся списке выбора источника данных. Теперь неплохо было бы визуализировать активность журналов Grafana. Для этого необходимо добавить запрос {filename = "/var/log/grafana/grafana.log "} в строку обозревателя журналов. Зеленые полосы ниже представляют собой записи событий в файле журнала. Можно выбрать временной диапазон, для которого визуализация должна отображаться на панели мониторинга, а также задать интервал обновления запроса. Чтобы просмотреть более подробную информацию о событии, прокрутите вниз и щелкните по одной из записей журнала, она выведет всю имеющуюся информацию, связанные с данным событием. Заключение Распределенная система состоит из множества приложений или микросервисов, каждый из которых генерирует тысячи событий. Нужен экономичный способ сбора журналов, их хранения и последующего использования. Loki - идеальное решение для таких случаев. Фактически, за счет интеграции Loki в производственную среду, затраты на ведение журналов и мониторинг можно сократить до 75%.
img
На данный момент Kubernetes является одной из самых интересных технологий в мире DevOps. В последнее время вокруг него образовалось очень много хайпа, по одной простой причине, и причина эта – всемогущие контейнеры. Компания Docker Inc. привлекла народное внимание к контейнерам с помощью маркетинговых компаний о своем прекрасном продукте (у нас есть статья о первоначальной настройке Docker). Но что интересно, Docker – не первопроходец в мире контейнеров, но они положили начало их победоносному походу по миру. Что же было в начале? А в начале были Linux контейнеры, внимание к которым также возросло после такого ажиотажа вокруг Docker контейнеров, при этом и повысив потребность к контейнерным оркестраторам. Давайте поближе познакомимся с Кормчим – он же Kubernetes. Первоначально это являлось разработкой Google, для управления их гигантской инфраструктурой, состоящей из миллионов контейнеров. В какой-то момент Google отдал Кормчего в люди, а именно - Cloud Native Computing Foundation. На данный момент, Docker добавил Kubernetes в свои сборки как один из вариантов оркестраторов наравне с Docker Swarm. Теперь Kubernetes также будет частью сборок Docker Community и Docker Enterprise Edition. Общий обзор Кормчего Пожалуй, тут нужно разъяснить: Kubernetes является греческим именем кормчего или управляющего кораблём В зарубежных коммьюнити Кормчий носит несколько названий – Kubernetes, k8s или kube и является платформой с открытым кодом. Данная платформа позволяет автоматизировать операции с контейнерами – запуск, масштабирование, управление контейнизированными приложениями и так далее. Kubernetes может помочь вам сохранить десятки часов жизни и бесценного времени. Kubernetes позволяет вам помещать в кластер группы хостов с контейнерами и управлять этими кластерами. Эти кластеры могут работать в публичных, частных и гибридных облаках – может, однажды, даже в Хогвартсе откажутся от сложных заклинаний в пользу Kubernetesа. Как я уже упомянул, Kubernetes изначально является разработкой Google, но будет также нелишним знать, что Kubernetes включен во многие облачные коммерческие предложения Корпорации Добра. Сам Google запускает более чем 2 миллиарда контейнеров в неделю. Это почти 300 миллионов контейнеров в день с помощью своей внутренней платформы Borg. Эта платформа – предшественник Kubernetes. Все ошибки Borg были учтены и исправлены в Кормчем./ Использование Kubernetes позволяет получать радость от управления и запуска контейнизированных приложений – он автоматизирует запуск и откаты сборок, мониторит запущенные сервисы – т.е вы можете узнать о том, что что-то пойдет не так еще до непосредственной инициации процесса. Кроме того, Kubernetes управляет ресурсами и может масштабировать необходимые ресурсы для приложений в зависимости от того, сколько им требуется, для того, чтобы избежать лишней траты ресурсов. Как работает Kubernetes? Посмотрите на схему с официального сайта (ссылка ниже): Как вы видите, Kubernetes это очень сложная система (особенно если сравнивать с нативным оркестратором Docker Swarm). Чтобы понять, как он работает, необходимо сначала понять его базовые принципы. Желаемое состояние Желаемое состоятие (Desired state) – это один из базовых концептов Kubernetes. Вы можете указать необходимое состояние для запуска контейнеров в т.н Подах. То есть, к примеру, если контейнер почему-то перестал работать, Kubernetes заново создаст Под основываясь на указанном желаемом состоянии. Kubernetes всегда проверяет состояние контейнеров в кластере, и этим занимается т.н Kubernetes Мастер, который является частью плоскости управления. Можно использовать объект kubectl – он напрямую взаимодействует с кластером для установки или изменения Desired State через Kubernetes API. Объекты Kubernetes Обратимся к официальной документации Kubernetes: объект в Kubernetes это «запись о намерениях» (record of intent) – после создания объекта, Kubernetes будет постоянно проверять наличие этого объекта. При создании объекта, вы сообщаете Кормчему как должна выглядеть загрузка вашего кластера, иначе говоря – каково его желаемое состояние. Состояние сущностей в системе в любой взятый момент времени представлено Kubernetes объектами. Кроме того, объекты также служат как дополнительный уровень абстракции над интерфейсом контейнеров. Вы можете напрямую взаимодействовать с сущностями объектов вместо взаимодействия с контейнерами. Ниже приведем список базовых объектов в Kubernetes. Под (Pod) – наименьшая запускаемая единица в ноде. Это группа контейнеров, которые должны работать вместе. Довольно часто (но не всегда) в поде находится только один контейнер; Сервис(Service) – данный объект используется для обозначения логической суммы подов и политик, используемых для доступа к подам; Раздел (Volume) – директория, которая доступна всем контейнерам внутри пода; Именные пространства (Namespaces) – виртуальные кластеры, поддерживаемые физическим кластером; Также в Kubernetes есть несколько контроллеров, которые построены на базовых объектах и они предоставляют дополнительные фичи. Ниже список данных контроллеров: ReplicaSet - проверяет что какое-то количество копий подов также все время запущено; Deployment - используется для смены текущего состояния на желаемое состояние; StatefulSet - используется для контроля над развертыванием и доступов к разделам; DaemonSet - используется для копирования пода на все ноды кластера или только на указанные ноды; Job - используется для реализации какой-то задачи и прекращения существования после завершения задачи или после указанного времени Плоскость управления в Kubernetes Плоскость управления в Kubernetes используется для установки кластера в желаемое состояние, и для этого Kubernetes выполняет множество задач автоматически – старт и перезагрузка контейнеров, изменение количества реплик приложения и так далее. Различные части плоскости управления, такие как Kubernetes Мастер и процесс kubelet задают тон тому, как Kubernetes взаимодействует с вашим кластером. Плоскость управления содержит записи о всех объектах Kubernetes в системе и запускает бесконечные петли управления для контроля состояния объектов. В каждый момент времени эти петли будут реагировать на изменения в кластере и будет приводить состояние всех объектов в системе из текущего состояния в желаемое. Представьте себе правительство страны, которое проверяет все ли работают и существуют в соответствии с законом. Kubernetes Мастер являются частью плоскости управления, и выполняет такую же задачу по сохранению желаемого состояния во всем вашем кластере. Команда kubectl является интерфейсом для взаимодействия с мастером в кластере через API. В документации написано: «мастер» - это группа процессов, управляющих состоянием кластера. Как правило, все эти процессы запущены одной ноде в кластере и эта нода также называется мастер-нодой. Мастер-нода также может быть реплицирована для избыточности и отказоустойчивости. Каждый мастер в кластере являет собой совокупность следующих процессов: kube-apiserver - единственная точка управления для целого кластера. Команда cubectl взаимодействует напрямую через API; kube-controller-manager - управляет состоянием кластера, управляя различными контроллерами; kube-scheduler - планирует задачи на всех доступных нодах в кластере; Ноды в Kubernetes Ноды в Kubernetes – это ваши «сервера» - виртуалки, физические и так далее, которые находятся в кластере и на которых запущены ваши приложения. Ноды также контролируются мастером и постоянно мониторятся для того, чтобы устанавливать желаемое состояние для приложений. Раньше они назывались «миньонами» - но не теми желтыми милахами из мультика. Каждая нода в кластере держит два процесса: kubelet– интерфейс между нодой и мастером; kube-proxy – сетевая прокси, через которую проходят сервисы, указанные в API на каждой ноде. Также эта прокси может совершать простой TCP и UDP проброс портов; Установка Kubernetes Теперь давайте посмотрим как это работает. Для этого необходимо установить Kubernetes у вас на сервере. Нужно скачать и установить Docker Community Edition версий 17.12.+ и затем для локального запуска нужно установить Minikube. Ссылка для скачивания Docker Community Edition - здесь; Ссылка для скачивания Minikube - тут (MiniKube) При использовании Minikube надо помнить, что создается локальная виртуальная машина и запускает кластер, состоящий из одной ноды. Но ни в коем случае не используйте его для продакшена – Minikube служит исключительно для тестирования и разработки. Для запуска однонодного кластера достаточно лишь выполнить команду minikube start. Бадумс, вы одновременно запустили виртуальную машину, кластер и сам Kubernetes. $minikube start Starting local Kubernetes v1.10.0 cluster... Starting VM... Getting VM IP address... Moving files into cluster... Setting up certs... Connecting to cluster... Setting up kubeconfig... Starting cluster components... Kubectl is now configured to use the cluster. Loading cached images from config file. Для проверки установки надо ввести команду kubectl version $ kubectl version Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.1", GitCommit:"3a1c9449a956b6026f075fa3134ff92f7d55f812", GitTreeState:"clean", BuildDate:"2018-01-04T20:00:41Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
img
Windows обладает невероятным графическим пользовательским интерфейсом, которого, однако, часто будет недостаточно для выполнения некоторых задач. Поэтому, если ваш внутренний Оливер Твист хочет большего, то вам следует получше изучить функционал командной строки. С помощью командной строки вы можете получить доступ к функциям, которые недоступны в графическом интерфейсе, и можете взаимодействовать с операционной системой Windows напрямую. В этой статье я собираюсь рассказать вам о 14 хитростях командной строки, которые помогут вам почувствовать себя суперчеловеком при работе с компьютером и которые, однозначно, впечатлят ваших друзей. Имейте в виду, что нужно быть очень осторожным при выполнении каких-либо команд в командной строке, потому что любая из них может иметь долгосрочные последствия для вашего компьютера. Оглавление Как открыть командную строку в любой папке Как создать защищенную папку с помощью командной строки Как запустить командную строку от имени администратора Как шифровать файлы с помощью командной строки Как скрыть папку с помощью командной строки Как изменить цвет фона и цвет шрифта командной строки Как изменить заголовок окна командной строки Как изменить текст командной строки Как изменить размер шрифта текстов командной строки Как сформировать отчет о состоянии аккумулятора с помощью командной строки Как перейти на веб-сайт из командной строки Как проверить IP-адрес веб-сайта с помощью командной строки Как показать все пароли Wi-Fi-сетей с помощью командной строки Как выключить компьютер с помощью командной строки 1. Как открыть командную строку в любой папке Не все любят использовать навигацию по папкам через командную строку. Однако, если вы один из тех, кому это нравится, то вы можете открыть папку прямо из командной строки, набрав cmd в адресной строке папки, а затем нажав ENTER. Вот видите! 2. Как создать защищенную папку с помощью командной строки Из соображений конфиденциальности вы можете создать папку, которую не сможет редактировать, перемещать, копировать или удалять любой случайный человек, получивший доступ к вашему компьютеру. Для этого вам необходимо перейти в каталог, в котором вы хотите создать папку, или откройте в нем командную строку, используя первый пункт. Затем выполните команду md aux. Это действие создаст папку с именем «aux». Ее нельзя будет удалить, отредактировать, переместить или скопировать. Если вдруг вы не можете найти папку, обновите каталог, в котором вы создали папку. Итак, что же делать, если вы хотите удалить эту папку? Вы не сможете это сделать через графический интерфейс, вам придется это делать через командную строку. Чтобы удалить папку, выполните команду rd aux. При этом убедитесь, что вы скопировали файлы в папке. 3. Как запустить командную строку от имени администратора Может возникнуть ситуация, когда вам потребуются права администратора, но у вас не будет доступа к графическому интерфейсу. Чтобы получить права администратора, введите powershell "start cmd -v runAs и нажмите ENTER. Выберите "Да" в следующем диалоговом окне, и откроется новое окно командной строки с правами администратора. 4. Как шифровать файлы с помощью командной строки Если вы не единственный пользователь компьютера с Windows 10 и хотите, чтобы некоторые файлы были недоступны для других пользователей, то вы можете зашифровать эти файлы, перейдя в папку с файлами и введя Cipher /E. Теперь ни один пользователь, кроме вас, не сможет открыть эти файлы. 5. Как скрыть папку с помощью командной строки Что делать, если вы хотите скрыть папку? Вы можете сделать это, набрав attrib +h +s +r имя_папки, затем нажав ENTER. Чтобы снова отобразить папку, выполните команду attrib -h -s -r имя_папки. 6. Как изменить цвет фона и цвет шрифта командной строки Если старомодные черно-белые цвета командной строки вам наскучили, то вы можете изменить их на желаемую цветовую гамму. Для этого запустите командную строку и введите color -help. Вам откроются доступные цвета, представленные с помощью цифр и букв. Вы можете поменять цвет фона и шрифта. Чтобы правильно изменить цвета, запустите color номер_цвета_фона номер_цвеат_шрифта. Например, при вводе color 02 цвет фона останется черным, а цвет шрифта изменяется на зеленый. 7. Как изменить заголовок окна командной строки Заголовок окна командной строки не обязательно должен оставаться таким, каким был по умолчанию. Вы можете его изменить. Для этого введите title заголовок_окна. 8. Как изменить текст командной строки Текст, появляющийся перед вводом команд, может показаться вам недостаточно привлекательным. Для меня это именно так, поэтому я его изменил. Чтобы изменить текст командной строки, введите команду prompt имя_команды $G и нажмите ENTER. «$G» рядом с указанным именем команды добавляет символ «больше» (>), чтобы можно было определить, где начинается команда – лучшая система отображения данных для вас вашими же руками! 9. Как изменить размер шрифта текстов командной строки Если шрифт командной строки вам кажется мелким, то вы можете его изменить. Для этого даже не нужно запускать команду. Шаг 1: щелкните правой кнопкой мыши окно командной строки и выберите «Properties» («Свойства»). Шаг 2: перейдите во вкладку «Font» («Шрифт») и выберите нужный размер шрифта, затем нажмите «Ок». 10. Как создать отчет о состоянии аккумулятора с помощью командной строки Благодаря этой команде вы можете узнать, в каком состоянии находится аккумулятор вашего ноутбука и что можно сделать, чтобы улучшить ее. На самом деле, это моя любимая команда. Чтобы сформировать отчет о состоянии аккумулятора, убедитесь, что вы запустили командную строку от имени администратора. Затем введите команду powercfg/energy и нажмите ENTER. HTML-файл, который вы можете открыть в браузере, будет создан за 60 секунд. Файл вы можете найти в C:Windowssystem32energy-report.html. 11. Как перейти на веб-сайт из командной строки Из командной строки можно открыть веб-сайт, введя start www.имя_веб-сайта.com и нажав ENTER. После этого сайт откроется в вашем браузере, установленном как браузер по умолчанию. Обратите внимание, что нужно обязательно добавить «www» перед доменным именем, иначе эта команда не сработает. 12. Как проверить IP-адрес веб-сайта с помощью командной строки Вы можете проверить IP-адрес любого веб-сайта, набрав www.имя_веб-сайта.com и нажав ENTER. Обратите внимание, что нужно обязательно добавить «www» перед доменным именем, иначе эта команда не сработает. 13. Как показать все пароли Wi-Fi-сетей с помощью командной строки У вас есть возможность проверить пароль вашего текущего Wi-Fi-соединения с помощью графического интерфейса. А командная строка может показать пароли всех Wi-Fi-сетей, которые когда-либо подключались к вашему компьютеру. Чтобы это сделать, выполните команду for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear и нажмите ENTER. Пароль (ключ) вы сможете найти после надписи «Key content». 14. Как выключить компьютер с помощью командной строки Теперь, когда вы узнали об 11 полезных командах, которые заставят вас почувствовать себя суперчеловеком, вот вам еще одна: с помощью командной строки можно выключить или перезагрузить компьютер. Чтобы выключить компьютер с помощью командной строки, введите команду shutdown -s. чтобы перезагрузить компьютер, введите shutdown -r и нажмите ENTER. Чтобы установить обратный отсчет до выключения компьютера, введите shutdown /s /t время_в_секундах и нажмите ENTER. Чтобы установить обратный отсчет, а также предупреждающее сообщение о том, что ваш компьютер выключится, введите shutdown /s /t время_в_секундах /c “предупреждающее_сообщение” и нажмите ENTER.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59