Для одного из веб проектов появилась возможность выделить отдельный гипервизор под регулярное автоматическое тестирование бэкапов - исходники + mysql база. До этого бэкапы просто делались и мониторилось их наличие.
Встала задача воссоздать прод. Так как до этого никому это не нужно было, никакой автоматизации не было. Достаточно было скопировать виртуалку. Но не получалось это сделать по двум причинам. На самом гипервизоре не было достаточно свободного места. Диск виртуалки был очень жирным для этого сервера (300 Гб). Из-за этого её нельзя было остановить и скопировать. Процесс продлился бы несколько часов.
Я не нашел ничего проще и быстрее, чем наживую скопировать диск работающей виртуалки. Процесс длился 1.5 часа. Сайт нормально работал. Я понимал, что может ничего не получиться, но хотелось поэкспериментировать. По факту никаких особых проблем не возникло.
После копирования диска на другой гипервизор, виртуалка ожидаемо не запустилась. Но решилось всё очень просто. Была всего лишь повреждена файловая система xfs. Починил ее простыми командами и всё завелось. Туда же успешно накатил бэкапы.
Более подробно всё описал в статье.
https://serveradmin.ru/metadata-corruption-detected-unmount-and-run-xfs_repair/
Если у кого-то есть идеи, как еще можно было бы выкрутиться, готов выслушать. Была мысль, подцепить внешнее хранилище по nfs и сделать бэкап на него. Но мне кажется, что когда-то давно я проводил такие эксперименты и всё равно на исходном гипервизоре должно быть достаточно свободного места, чтобы proxmox смог сделать бэкап на nfs storage.
#proxmox #статья
Встала задача воссоздать прод. Так как до этого никому это не нужно было, никакой автоматизации не было. Достаточно было скопировать виртуалку. Но не получалось это сделать по двум причинам. На самом гипервизоре не было достаточно свободного места. Диск виртуалки был очень жирным для этого сервера (300 Гб). Из-за этого её нельзя было остановить и скопировать. Процесс продлился бы несколько часов.
Я не нашел ничего проще и быстрее, чем наживую скопировать диск работающей виртуалки. Процесс длился 1.5 часа. Сайт нормально работал. Я понимал, что может ничего не получиться, но хотелось поэкспериментировать. По факту никаких особых проблем не возникло.
После копирования диска на другой гипервизор, виртуалка ожидаемо не запустилась. Но решилось всё очень просто. Была всего лишь повреждена файловая система xfs. Починил ее простыми командами и всё завелось. Туда же успешно накатил бэкапы.
Более подробно всё описал в статье.
https://serveradmin.ru/metadata-corruption-detected-unmount-and-run-xfs_repair/
Если у кого-то есть идеи, как еще можно было бы выкрутиться, готов выслушать. Была мысль, подцепить внешнее хранилище по nfs и сделать бэкап на него. Но мне кажется, что когда-то давно я проводил такие эксперименты и всё равно на исходном гипервизоре должно быть достаточно свободного места, чтобы proxmox смог сделать бэкап на nfs storage.
#proxmox #статья
Server Admin
Metadata corruption detected, unmount and run xfs_repair |...
# qemu-img check vm-102-disk-0.qcow2 # qemu-img check -r all vm-102-disk-0.qcow2 Ошибок на этом этапе не было. Но виртуалка всё равно не стартовала, так как судя по ошибке на скрине, была...
Я полностью обновил и переработал свою старую статью по установке и настройке Сервера 1С вместе с базой PostgreSQL на Debian. Постарался собрать в одном месте весь свой опыт по этой теме.
В статье показано:
1️⃣ Установка и настройка сервера 1С и PosgtreSQL.
2️⃣ Привожу пример создания баз данных на этом сервере и подключение к ним.
3️⃣ Бэкап и обслуживание postgresql баз утилитами сервера бд. Рассказываю про свой подход к этому процессу и привожу скрипты автоматизации.
4️⃣ Рассказываю, как тестирую восстановление из дампов и делаю контрольную проверку в виде выгрузки баз в .dt файлы с помощью клиента Linux. Причём последний запускается в консоли без графического окружения. Всё это автоматизируется скриптами.
5️⃣ Рассказываю про свои подходы к мониторингу этих бэкапов и выгрузок, чтобы всегда быть уверенным в том, что у тебя есть гарантированно рабочие бэкапы.
Всё описанное основано на личном опыте настройки и эксплуатации подобных систем. Ни у кого ничего не смотрел, лучших практик не знаю. Придумал всё сам и сделал, как посчитал нужным. Так что не нужно это воспринимать как оптимальное решение.
Статью постарался написать более менее законченной и не слишком большой, так как и такую писал в течении нескольких недель урывками. Не хватает времени на написание полноценных объемных статей. Так что опущены многие моменты настройки postgresql, мониторинга всей системы, а не только бэкапов. Возможно когда-нибудь появятся отдельные статьи по этим темам.
https://serveradmin.ru/ustanovka-i-nastrojka-1s-na-debian-s-postgresql/
#статья #1с #postgresql
В статье показано:
1️⃣ Установка и настройка сервера 1С и PosgtreSQL.
2️⃣ Привожу пример создания баз данных на этом сервере и подключение к ним.
3️⃣ Бэкап и обслуживание postgresql баз утилитами сервера бд. Рассказываю про свой подход к этому процессу и привожу скрипты автоматизации.
4️⃣ Рассказываю, как тестирую восстановление из дампов и делаю контрольную проверку в виде выгрузки баз в .dt файлы с помощью клиента Linux. Причём последний запускается в консоли без графического окружения. Всё это автоматизируется скриптами.
5️⃣ Рассказываю про свои подходы к мониторингу этих бэкапов и выгрузок, чтобы всегда быть уверенным в том, что у тебя есть гарантированно рабочие бэкапы.
Всё описанное основано на личном опыте настройки и эксплуатации подобных систем. Ни у кого ничего не смотрел, лучших практик не знаю. Придумал всё сам и сделал, как посчитал нужным. Так что не нужно это воспринимать как оптимальное решение.
Статью постарался написать более менее законченной и не слишком большой, так как и такую писал в течении нескольких недель урывками. Не хватает времени на написание полноценных объемных статей. Так что опущены многие моменты настройки postgresql, мониторинга всей системы, а не только бэкапов. Возможно когда-нибудь появятся отдельные статьи по этим темам.
https://serveradmin.ru/ustanovka-i-nastrojka-1s-na-debian-s-postgresql/
#статья #1с #postgresql
Server Admin
Установка 1С на Linux (Debian) + PostgreSQL
Пошаговое руководство по настройке Сервера 1С на Debian + PostgreSQL с примерами эксплуатации: мониторинг, бэкапы и т.д.
Вчера на хабре в одной из статей увидел мониторинг, который меня сразу заинтересовал. Называется Monitoror - https://monitoror.com. Привлек он меня в первую очередь простым и лаконичным плиточным дашбордом. Мне он показался идеальным для вывода текстовых метрик. Стал разбираться.
Сам по себе он очень простой и состоит всего лишь из одного бинарника и конфигурационного файла к нему. Отдельным конфигом настраивается web интерфейс. Используется формат json.
Настраивать проверки быстро и просто. Мне так понравился этот мониторинг, что решил немного разобраться в нём и оформил всё в статью, чтобы потом самому не забыть.
Меня привлекла простота парсинга и сбора текстовых данных по http с возможностью их вывести в плитках на дашбодр. Это отличный инструмент для всяких чисел, получаемых из API. На сайте в статье как раз разобрал такой вариант с примером сбора данных из api telegram. Получается быстро и удобно собрать дашборд с нужными данными. Можно обучить даже не специалистов это делать. Там достаточно конфиг менять, monitoror автоматом подхватит изменения.
https://serveradmin.ru/monitoring-monitoror-s-plitochnym-dashboard/
#мониторинг #статья
Сам по себе он очень простой и состоит всего лишь из одного бинарника и конфигурационного файла к нему. Отдельным конфигом настраивается web интерфейс. Используется формат json.
Настраивать проверки быстро и просто. Мне так понравился этот мониторинг, что решил немного разобраться в нём и оформил всё в статью, чтобы потом самому не забыть.
Меня привлекла простота парсинга и сбора текстовых данных по http с возможностью их вывести в плитках на дашбодр. Это отличный инструмент для всяких чисел, получаемых из API. На сайте в статье как раз разобрал такой вариант с примером сбора данных из api telegram. Получается быстро и удобно собрать дашборд с нужными данными. Можно обучить даже не специалистов это делать. Там достаточно конфиг менять, monitoror автоматом подхватит изменения.
https://serveradmin.ru/monitoring-monitoror-s-plitochnym-dashboard/
#мониторинг #статья
На днях создавал виртуальную машину с Windows в гипервизоре Proxmox. По ошибке добавил диск не VirtIO SCSI, как рекомендуется для лучшего быстродействия, а IDE. Заметил, когда уже некоторые настройки сделал.
Подумал, что проблем не будет с изменением диска. Подключил iso образ с virtio драйверами, установил их. Погасил виртуальную машину, отцепил диск, поменял Bus/Device с ide на virtio scsi и запустил виртуалку. Она пару раз не загрузилась, сославшись на проблемы с загрузочным диском.
Полез гуглить проблему и нашел подсказку. Перед тем, как менять тип основного диска, стоит подключить к этой виртуальной машине диск любого размера типа virtio scsi и загрузиться в системе, убедиться, что диск виден. После этого завершаем работу виртуалки. Временный диск отключаем, а у основного меняем тип на virtio scsi.
После этих манипуляций система успешно загрузилась на новом типе диска. Для того, чтобы больше не ошибаться, решил перевести и оформить в виде статьи Windows_10_guest_best_practices из официальной wiki проекта proxmox.
https://serveradmin.ru/rekomendaczii-best-practices-po-ustanovke-windows-10-i-11-na-proxmox/
#proxmox #статья
Подумал, что проблем не будет с изменением диска. Подключил iso образ с virtio драйверами, установил их. Погасил виртуальную машину, отцепил диск, поменял Bus/Device с ide на virtio scsi и запустил виртуалку. Она пару раз не загрузилась, сославшись на проблемы с загрузочным диском.
Полез гуглить проблему и нашел подсказку. Перед тем, как менять тип основного диска, стоит подключить к этой виртуальной машине диск любого размера типа virtio scsi и загрузиться в системе, убедиться, что диск виден. После этого завершаем работу виртуалки. Временный диск отключаем, а у основного меняем тип на virtio scsi.
После этих манипуляций система успешно загрузилась на новом типе диска. Для того, чтобы больше не ошибаться, решил перевести и оформить в виде статьи Windows_10_guest_best_practices из официальной wiki проекта proxmox.
https://serveradmin.ru/rekomendaczii-best-practices-po-ustanovke-windows-10-i-11-na-proxmox/
#proxmox #статья
Server Admin
Рекомендации (best practices) по установке Windows 10 и 11 на...
Я решил перевести заметку из proxmox wiki на тему рекомендаций по установке в качестве гостевой системы Windows 10. Там нет каких-то особых и критичных замечаний. Просто последовательно изложен...
Написал статью про настройку мониторинга Docker с помощью Zabbix и его нового агента. Всё делается штатными средствами с помощью готового шаблона. Вообще ничего колхозить не надо. Все контейнеры определяются автоматически с помощью правил автообнаружения.
В шаблоне присутствуют триггеры:
▪ Нет информации о статусе службы Docker.
▪ Служба Docker не запущена.
▪ Изменилась версия Docker.
▪ В контейнере зафиксирована ошибка в статусе.
▪ Контейнер остановлен с ошибкой в exitcode.
А так же готовые графики:
◽ Количество контейнеров с различным статусом.
◽ Размер дискового пространства, занимаемое различными сущностями (images, layers, conteiners, volumes).
◽ Docker goroutines (не знаю, что это такое).
◽ Количество Images.
◽ Суммарное потребление оперативной памяти докером.
◽ CPU, Memory usage, сетевая статистика отдельно по каждому контейнеру.
Вот только я не понял, как вычисляется метрика по CPU. Она представлена в миллисекундах. Это вычисляемое значение, которое берётся из докеровского json со статами, далее выделяется jsonpath $.cpu_stats.cpu_usage.total_usage для конкретного контейнера, переводится в изменения в секунду и в завершении используется арифметический множитель 1.0E-9. Если кто-то знает, подскажите, что это за метрика. Если я правильно понял, то это та же самая метрика, что используется в Kubernetes для лимитов CPU. 1/1000 от процессоронго ядра.
Всего собирается внушительное количество метрик. Для хоста с двумя запущенными контейнерами у меня получилось 132 метрики после отработки правил автообнаружения.
Сама статья:
https://serveradmin.ru/monitoring-docker-s-pomoshhyu-zabbix-agent-2/
#zabbix #docker #мониторинг #статья
В шаблоне присутствуют триггеры:
▪ Нет информации о статусе службы Docker.
▪ Служба Docker не запущена.
▪ Изменилась версия Docker.
▪ В контейнере зафиксирована ошибка в статусе.
▪ Контейнер остановлен с ошибкой в exitcode.
А так же готовые графики:
◽ Количество контейнеров с различным статусом.
◽ Размер дискового пространства, занимаемое различными сущностями (images, layers, conteiners, volumes).
◽ Docker goroutines (не знаю, что это такое).
◽ Количество Images.
◽ Суммарное потребление оперативной памяти докером.
◽ CPU, Memory usage, сетевая статистика отдельно по каждому контейнеру.
Вот только я не понял, как вычисляется метрика по CPU. Она представлена в миллисекундах. Это вычисляемое значение, которое берётся из докеровского json со статами, далее выделяется jsonpath $.cpu_stats.cpu_usage.total_usage для конкретного контейнера, переводится в изменения в секунду и в завершении используется арифметический множитель 1.0E-9. Если кто-то знает, подскажите, что это за метрика. Если я правильно понял, то это та же самая метрика, что используется в Kubernetes для лимитов CPU. 1/1000 от процессоронго ядра.
Всего собирается внушительное количество метрик. Для хоста с двумя запущенными контейнерами у меня получилось 132 метрики после отработки правил автообнаружения.
Сама статья:
https://serveradmin.ru/monitoring-docker-s-pomoshhyu-zabbix-agent-2/
#zabbix #docker #мониторинг #статья
Server Admin
Мониторинг Docker с помощью Zabbix Agent 2 | serveradmin.ru
Настройка мониторинга Docker и всех его контейнеров с помощью штатного функционала Zabbix в автоматическом режиме.
В прошлую пятницу захотелось поэкспериментировать и установить себе систему macOS. Зачем мне это нужно - не знаю. Просто любопытство. Хотелось посмотреть на современную систему от Apple. Я ей немного пользовался несколько лет назад, но вообще не понравилось. Windows в качестве рабочей и личной системы полностью устраивает.
Тем не менее, я установил macOS на виртуальную машину Proxmox. Пришлось немного повозиться и разобраться, так как готовой рабочей инструкции не нашлось. Так как информация на текущий момент получилась уникальной и полезной, решил сразу оформить в статью, чтобы можно было повторить простым копипастом.
В общем, вот статья - https://serveradmin.ru/ustanovka-macos-v-proxmox/, пользуйтесь. Может кто-то найдет практическое применение подобной установки. Поделитесь в комментариях, если видите какую-то практическую пользу от этой системы в VM. Так как нет видеокарты, сам интерфейс очень тормозит и пользоваться некомфортно. Чтобы было нормально, надо пробрасывать в виртуалку видеокарту, но я уже не стал так заморачиваться.
#proxmox #статья #macos
Тем не менее, я установил macOS на виртуальную машину Proxmox. Пришлось немного повозиться и разобраться, так как готовой рабочей инструкции не нашлось. Так как информация на текущий момент получилась уникальной и полезной, решил сразу оформить в статью, чтобы можно было повторить простым копипастом.
В общем, вот статья - https://serveradmin.ru/ustanovka-macos-v-proxmox/, пользуйтесь. Может кто-то найдет практическое применение подобной установки. Поделитесь в комментариях, если видите какую-то практическую пользу от этой системы в VM. Так как нет видеокарты, сам интерфейс очень тормозит и пользоваться некомфортно. Чтобы было нормально, надо пробрасывать в виртуалку видеокарту, но я уже не стал так заморачиваться.
#proxmox #статья #macos
Server Admin
Установка macOS в Proxmox | serveradmin.ru
Пошаговое руководство с видео на тему установки системы macOS на виртуальную машину системы виртуализации Proxmox.
Написал статью по настройке Elastic Enterprise Search. Это отдельная служба, которая работает на базе ELK Stack и может быть установлена и интегрирована в указанную инфраструктуру. Но при этом остается независимым, отдельным компонентом.
Если я не ошибаюсь, то когда-то этот продукт был только в платной версии. Почему-то отложилась информация, но нигде не нашёл подтверждения. На текущий момент денег не просит, ставится свободно. Enterprise Search часто используют для настройки продвинутого поиска на большом сайте.
Так как для подключения Enterprise Search необходимо настроить авторизацию через xpack.security, а так же TLS, вынес эти настройки в отдельные подразделы статьи. Они могут быть полезны сами по себе. Я в простых случаях закрываю доступ к ELK через Firewall, а к Kibana на nginx proxy с помощью basic_auth. Это более простое решение, но понятно, что не такое гибкое, как встроенные средства ELK. Но EES хочет видеть настроенными встроенные инструменты, так что пришлось сделать.
https://serveradmin.ru/ustanovka-elastic-enterprise-search/
#elk #devops #статья
Если я не ошибаюсь, то когда-то этот продукт был только в платной версии. Почему-то отложилась информация, но нигде не нашёл подтверждения. На текущий момент денег не просит, ставится свободно. Enterprise Search часто используют для настройки продвинутого поиска на большом сайте.
Так как для подключения Enterprise Search необходимо настроить авторизацию через xpack.security, а так же TLS, вынес эти настройки в отдельные подразделы статьи. Они могут быть полезны сами по себе. Я в простых случаях закрываю доступ к ELK через Firewall, а к Kibana на nginx proxy с помощью basic_auth. Это более простое решение, но понятно, что не такое гибкое, как встроенные средства ELK. Но EES хочет видеть настроенными встроенные инструменты, так что пришлось сделать.
https://serveradmin.ru/ustanovka-elastic-enterprise-search/
#elk #devops #статья
Server Admin
Установка Elastic Enterprise Search | serveradmin.ru
xpack.security.enabled: true После этого перезапустите службу elasticsearch: # systemctl restart elasticsearch Теперь сгенерируем пароли к встроенным учётным записям (built-in users) elastic. Для...
Предлагаю к просмотру обзор программы для анализа и мониторинга сетевого трафика - Noction Flow Analyzer. Она принимает, обрабатывает данные NetFlow, sFlow, IPFIX, NetStream и BGP и визуализирует их.
Я настроил анализ трафика в своей тестовой лаборатории и разобрал основной функционал программы. Знаю, что мониторинг того, что происходит в сети - востребованный функционал. Периодически вижу вопросы на тему того, как лучше и удобнее решать эту задачу. NFA как раз делает это быстро и просто.
Для тех, кто не понимает полностью, о чем идёт речь, поясню. С помощью указанной программы можно с точностью до пакета узнать, кто, куда и что именно отправлял по сети. То есть берём какой-то конкретный ip адрес и смотрим куда и что он отправлял, какую пропускную полосу занимал. Всё это можно агрегировать по разным признакам, визуализировать, настраивать предупреждения о превышении каких-то заданных сетевых метрик.
Noction Flow Analyzer устанавливается локально с помощью deb или rpm пакетов из репозитория разработчиков. Никакой хипстоты, контейнеров, кубернетисов, облаков и saas. Программа платная с ежемесячной подпиской. Есть триал на 30 дней. Под капотом - Yandex ClickHouse.
https://serveradmin.ru/analiz-setevogo-trafika-v-noction-flow-analyzer/
#gateway #статья #netflow
Я настроил анализ трафика в своей тестовой лаборатории и разобрал основной функционал программы. Знаю, что мониторинг того, что происходит в сети - востребованный функционал. Периодически вижу вопросы на тему того, как лучше и удобнее решать эту задачу. NFA как раз делает это быстро и просто.
Для тех, кто не понимает полностью, о чем идёт речь, поясню. С помощью указанной программы можно с точностью до пакета узнать, кто, куда и что именно отправлял по сети. То есть берём какой-то конкретный ip адрес и смотрим куда и что он отправлял, какую пропускную полосу занимал. Всё это можно агрегировать по разным признакам, визуализировать, настраивать предупреждения о превышении каких-то заданных сетевых метрик.
Noction Flow Analyzer устанавливается локально с помощью deb или rpm пакетов из репозитория разработчиков. Никакой хипстоты, контейнеров, кубернетисов, облаков и saas. Программа платная с ежемесячной подпиской. Есть триал на 30 дней. Под капотом - Yandex ClickHouse.
https://serveradmin.ru/analiz-setevogo-trafika-v-noction-flow-analyzer/
#gateway #статья #netflow
Server Admin
Анализ сетевого трафика в Noction Flow Analyzer | serveradmin.ru
Подробная статья с установкой и настройкой программы для мониторинга и анализа сетевого трафика Noction Flow Analyzer.
Проверил и актуализировал свою статью про настройку ELK Stack. Добавил информацию про автоматическую очистку индексов встроенными средствами стэка. А также про авторизацию с помощью паролей средствами X-Pack Security.
Статья получилась полным и законченным руководством по внедрению системы сбора логов на базе ELK Stack для одиночного инстанса. Без встроенной авторизации она была незавершённой. Исправил это.
На текущий момент всё можно настроить копипастом из статьи. Я проверил все конфиги. Так что если есть желание познакомиться и изучить, имеет смысл сделать это сейчас. Через некоторое время, как обычно, все изменится с выходом очередной новой версии.
https://serveradmin.ru/ustanovka-i-nastroyka-elasticsearch-logstash-kibana-elk-stack/
#elk #статья
Статья получилась полным и законченным руководством по внедрению системы сбора логов на базе ELK Stack для одиночного инстанса. Без встроенной авторизации она была незавершённой. Исправил это.
На текущий момент всё можно настроить копипастом из статьи. Я проверил все конфиги. Так что если есть желание познакомиться и изучить, имеет смысл сделать это сейчас. Через некоторое время, как обычно, все изменится с выходом очередной новой версии.
https://serveradmin.ru/ustanovka-i-nastroyka-elasticsearch-logstash-kibana-elk-stack/
#elk #статья
Server Admin
Установка и настройка Elasticsearch, Logstash, Kibana (ELK Stack)
Подробное описание установки ELK Stack - Elasticsearch, Logstash, Kibana для централизованного сбора логов.
Я регулярно обновляю статью с мониторингом времени делегирования домена с помощью Zabbix. Всё жду, когда это будет работать из коробки. Но пока никак.
В статье уже накопилась целая куча моих костылей с реализацией проверок доменов с помощью:
- linux утилиты whois и jwhois;
- модуля python-whois
- whois клиента для Node.js
- prometheus domain_exporter
Раньше автообнаружение доменов работало через парсинг текстового файла с помощью zabbix-agent. На днях я добавил еще один способ с помощью бесплатного тарифа сервиса Whois API. Список доменов задаётся через макрос в шаблоне. Там же и парсинг результатов. То есть агент вообще не нужен. Вся логика описана в шаблоне, а проверки идут напрямую с Zabbix Server.
Ссылка на шаблон дана в статье, как и описание работы и скрины айтемов и триггеров. Ранее я уже делал заметку по этому поводу, но до написания статьи только сейчас руки дошли.
https://serveradmin.ru/monitoring-vremeni-delegirovaniya-domena-v-zabbix/
#zabbix #статья
В статье уже накопилась целая куча моих костылей с реализацией проверок доменов с помощью:
- linux утилиты whois и jwhois;
- модуля python-whois
- whois клиента для Node.js
- prometheus domain_exporter
Раньше автообнаружение доменов работало через парсинг текстового файла с помощью zabbix-agent. На днях я добавил еще один способ с помощью бесплатного тарифа сервиса Whois API. Список доменов задаётся через макрос в шаблоне. Там же и парсинг результатов. То есть агент вообще не нужен. Вся логика описана в шаблоне, а проверки идут напрямую с Zabbix Server.
Ссылка на шаблон дана в статье, как и описание работы и скрины айтемов и триггеров. Ранее я уже делал заметку по этому поводу, но до написания статьи только сейчас руки дошли.
https://serveradmin.ru/monitoring-vremeni-delegirovaniya-domena-v-zabbix/
#zabbix #статья