Creative IT practitioner's blog - take your thought and give it idea acceleration! My IT-goals: GenAI, Networks, Security, Virtualization and Multimedia.
Wednesday, 26 August 2020
Chrome с пустой белой страницей.
Friday, 21 August 2020
Метрики мониторинга.
Вкратце шпаргалка какие метрики мониторяться и как в инфраструктуре предприятия.
Метрики хоста:
- CPU
- Memory
- Processes
- Disk
- Network
- Агенты мониторинга системы мониторинга:
- Zabbix-Agent
- Более универсальные инструменты с плагинами:
- сollectd
- telegraf
- NetData
- Сервисы cloud-платформы:
- Stackdriver (GCP)
- CloudWatch (AWS)
- CPU
- RAM
- Disk
- Network
- Security
- zabbix-agent на сервере + штатные шаблоны Zabbix
- Prometheus Node exporter
- Статус сервиса веб-сервера
- Доступность портов
- RPS (Requests Per Second)
- HTTP коды завершения
- Ошибки веб-сервера
- SSL сертификаты
- Время отклика
- zabbix-agent на сервере + штатные шаблоны Zabbix
- Simply check с сервера Zabbix
- Web сценарии с одного из хостов в мониторинге
- Кастомные пользовательские параметры (UserParameter)
- Сообщения в логах
- Статусы сервисов
- RPS (php, redis, rabbitMQ, прочие)
- Использование буфера
- Использование очереди
- Количество и статус процессов
- Ошибки сервисов в логах
- zabbix-agent на сервере + штатные шаблоны Zabbix
- Simply check с сервера Zabbix
- Кастомные пользовательские параметры
- Сообщения в логах
- Cтатус сервиса базы
- Статус репликации
- Seconds behind master
- RPS
- Объем операций
- Размеры буферов
- Аналитика запросов
- zabbix-agent на сервере + штатные шаблоны Zabbix
- Кастомные пользовательские параметры
- Сообщения в логах
- CPU
- Memory
- Network
- Block I/O
- Docker Daemon
- Docker stats
- cAdvisor
- Heapster
- collectd
- БД, очереди
- Load balancer
- Сервер приложения
- Сторонние сервисы
- Все, от чего зависит стабильность работы вашего продукта
USE-Method от Brendan Gregg. Больше подходит для выбора инфраструктурных метрик:
- Utilization (использование), например загрузка диска
- Saturation (насыщение), например очередь диска
- Errors (ошибки), например ошибки I/O диска
- Rate - запросы в секунду
- Errors - ошибок в секунду
- Duration - время на каждый запрос
книге Site Reliability Engineering от Google):
- Latency - время ответа
- Traffic - частота запросов
- Errors (ошибки) - частота ошибок
- Saturation (насыщение) - насколько утилизирован ресурс
- посещения
- конверсия
- продажи
- скачивания приложения
- Кастомные пользовательские параметры
- Вычисляемые элементы данных.
Thursday, 20 August 2020
Эффективный пользователь в Blogger.
Wednesday, 19 August 2020
WebUI для управления Docker.
Всем привет.
Ностальгия по красивому GUI не отпускает даже при работе с Docker. Но оказывается что благодаря инструменту Portainer можно легко управлять и контейнерами (образами, сетями, сервисами и пр.) на локальном или удаленном docker-хосте (в том числе Swarm-кластере).
Еще одна крайне полезная особенность Portainer‘а - поддержка шаблонов приложений (Application Templates), с помощью которых можно в один клик мышью развернуть все необходимые сервисы для WordPress или MySQL.
Эти и другие возможности инструмента Portainer можно получить без каких-либо настроек с помощью однострочной команды:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
После проделанных действий можно перейти в браузере по адресу http://ip_address:9000, установить пароль администратора и выбрать docker-хост (в нашем примере - локальный), которым будет управлять Portainer.
Tuesday, 18 August 2020
Оптимизация размеров образов Docker.
Образы Docker могуть быть очень большими. Многие легко превышают 1 Гб в размере. Как они становятся такими? Должны ли они быть такими? Можем ли мы сделать их меньше, не жертвуя функциональностью?
Все дело в слоях. Образ Docker похож на супер бигмак, где каждый инградиент этажности увеличивает его массу в килобайтах. Концепция слоев затрагивает различные низкоуровневые технические детали о вещах вроде корневой файловой системы (rootfs), механизма копирования при записи (copy-on-write) и каскадно-объединенного монтирования (union mount). Эта азбука достаточно хорошо раскрыта в другом месте, поэтому я не буду пересказывать ее здесь. Для Важным является понимание того, что каждая инструкция в Dockerfile приводит к созданию нового слоя образа. Бутерброд одним словом!
Зная, что образ - это не что иное, как коллекция других образов, можно прийти к очевидному выводу: размер образа равен сумме размеров образов, его составляющих.
Посмотрим на вывод команды docker history imagename:
$ docker history aformat
IMAGE CREATED CREATED BY SIZE COMMENT
d1ea947a9058 6 days ago 119MB merge sha256:f1fe0e102e804d28b6ae83ba4a3d1beb730eaea48aefc5b4510a3e03e5fe1c76 to sha256:a24bb4013296f61e89ba57005a7b3e52274d8edd3ae2077d04395f806b63d83e
<missing> 6 days ago /bin/sh -c tree -L 1 0B
<missing> 6 days ago /bin/sh -c echo "******************* Hello w… 0B
<missing> 6 days ago /bin/sh -c rm -rf /var/cache/apk/* 0B
<missing> 6 days ago /bin/sh -c apk add tree 0B
<missing> 6 days ago /bin/sh -c apk add git && apk add npm && apk… 0B
<missing> 10 days ago /bin/sh -c apk --no-cache add --update bash 0B
<missing> 10 days ago /bin/sh -c #(nop) MAINTAINER Nyukers <nyuke… 0B
<missing> 2 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 2 months ago /bin/sh -c #(nop) ADD file:c92c248239f8c7b9b… 5.57MB
Мы можем увидеть все слои образа aformat вместе с командами, которые привели к их созданию, и их размером.
Что же следует учесть для уменьшения размера образа Docker?
Thursday, 13 August 2020
Клиент командной строки Tower-cli для AWX.
Как запустить задание, используя только программный интерфейс AWX?
Конечно, можно было бы ограничиться лишь инструментом cURL для выполнения этих и других операций из командной строки по протоколу НТТР, но в Апsible имеется намного более удобный инструмент: Tower-cli.
В отличие от приложения Апsible Тower, клиент командной строки Tower-cli является открытым программным обеспечением и доступен в репозитории GitHub на условиях лицензии АрасНе 2.0 и совместим с AWX.
Чтобы установить Tower-cli, воспользуемся диспетчером пакетов для Руthоп рiр3.
Клиента tower-cli можно установить на уровне системы, если имеются привилегии гооt, или, как в данном случае, для локального пользователя:
sudo pip3 install ansible-tower-cli
Если установка выполняется с привилегиями обычного пользователя, клиент будет установлен в каталог ~/.lосаl/bin/.
Не забудьте добавить путь ~/.lосаl/bin в переменную окружения РАТН.
Прежде чем взаимодействовать с АРI, нужно настроить параметры учетной записи доступа к AWX:
# tower-cli config host http://192.168.3.151
# tower-cli config username admin
# tower-cli config password pAssw0rd
# tower-cli config verify_ssl False
Проверка конфигурации:
# tower-cli config
Первое, что нам наверняка понадобится автоматизировать, это запуск задания из шаблона после успешной сборки на сервере непрерывной интеграции.
Клиент tower-cli существенно упрощает эту задачу. Достаточно лишь знать идентификатор или имя шаблона задания, которое требуется запустить.
Tuesday, 11 August 2020
Защита resolv.conf.
Я использую Ubuntu 20.04 и вручную прописал свои DNS сервера в /etc/resolv.conf.
Но он наглым образом перезаписывается после перезагрузки Ubuntu. Причины этого легко находятся в сети, но самый быстрый способ решить эту проблему это добавить resolvconf:
sudo apt install resolvconf
Итак, resolv.conf перезаписывается, но если вы хотите сохранить конфигурацию resolv.conf после перезагрузки, вам нужно отредактировать теперь кое-что в /etc/resolvconf/resolv.conf.d/*:
Заносим в head ваши данные:
search mydomain.com
domain mydomain.com
nameserver 192.168.1.83
nameserver 192.168.1.84
options edns0
Заносим в base: пока оставляю пустым.
Заносим в tail:
nameserver 8.8.8.8
Т.е. в итоге получаем resolv.conf = head + base + tail.
Затем регенерируем новый resolv.conf с помощью resolvconf:
sudo resolvconf -u
sudo dpkg-reconfigure resolvconf
dynamic update - no
systemctl disable systemd-resolved
Перегружаемся и проверяем наш resolv.conf.
Получилось!
Friday, 7 August 2020
Синхронизация любой папки между OneDrive и Windows.
Wednesday, 5 August 2020
AWX - первый старт.
- Интеграция с системами контроля версий (git/mercurial/subversion).
- Отслеживание статуса выполнения плейбуков в реальном времени.
- Настройка расписания для автоматического запуска плейбуков.
- Выполнение нескольких плейбуков в рамках одного workflow.
- Удаленное выполнение команд без плейбуков (Ansible ad hoc).
- Поддержка механизма callbackов, позволяющих новым серверам запрашивать конфигурации со своей стороны.
- Управление Inventory для Ansible, в том числе с возможностью интеграции с платформами AWS/Azure/OpenStack и т.д., а также поддержка собственных скриптов для генерации Dynamic Inventory.
- Гибкая система разграничения прав доступа. Интеграция с LDAP/SAML/Active Directory и т.д.
- Встроенная поддержка уведомлений для Email/Slack/PagerDuty/HipChat/MatterMost/IRC.
- Интеграция с внешними системами агрегации логов: Logstash/Splunk/Loggly/Sumologic.
Популярное
-
Всем привет. В прошлом году я вам показывал фокус с защитой листа в MS Excel 2010. Но как оказалось в великом и могучем MS Excel сюр...
-
Всем привет. Такую ситуацию я наблюдал на виртуальных машинах VmWare , которые имеют IP-адрес реальной машины, а именно - Windows после зап...
-
Всем привет. Синхронизация времени - важный и во многом достаточно критичный аспект работы Active Directory, особенно сегодня, когда широко...
-
Всем привет. Рано или поздно в любой кампании поднимается вопрос о эффективности работы подразделения ИТ. Вопрос может подниматься к...
-
Всем привет. Листая журнал "Системный администратор" я обнаружил неожиданно (для себя), что Игорь Савчук во многом прав относи...