- Регистрация
- 10.12.2015
- Сообщения
- 595
- Благодарностей
- 281
- Баллы
- 63
Статья рассчитана на пользователей ZennoPoster среднего уровня и вряд ли выйдет на первые места, но возможно кому-то будет интересно достаточно простое техническое решение, которое позволяет с 1 телефона контролировать работу нескольких серверов в режиме реального времени.
Предположим, у нас ситуация, когда аккаунты регистрируются одновременно на 4 серверах.
Как нам в таком случае понимать, какие сервера работают, какие отвалились? Какая сейчас скорость регистрации, возможно надо на какой-то сервер зайти и подправить положение?
В таком случае реализация шаблонов «на файлах» не очень подходит. Надо открывать, переключать окна в каждом из 4 дедиков, относительно удобно делать это с ПК, где много мониторов, но даже если отдельный человек этим занимается, то бегать всю смену по дедикам и заглядывать в лог вряд ли возможно.
Зато, когда мы всегда можем держать открытой подобную табличку, где сразу чисто визуально видна вся «температура по больнице» слежение за постоянной работоспособностью системы не является настолько уж и затруднительной задачей.
Чтобы реализовать данный замысел, нам нужно реализовать эти подзадачи:
Установка базы данных MySQL
Для меня работа с базами данных какое-то время казалось какой-то неведомой и непонятно зачем нужной вещью, и я всегда предпочитал все результаты записывать в файлы. Но жизнь заставила все-таки познакомиться с таким инструментом как базы данных (далее БД).
Так как у меня уже есть сервера с windows server, то почему бы просто не поставить все на один из них, они всегда подняты, работают практически круглосуточно и редко сбоят.
Качаем официальный MySQL Installer for Windows, устанавливаем его, проходим стандартно все шаги, выбираем пароль администратора БД (сохраняем его).
Затем скачиваем и устанавливаем DBeaver – софт, который поможет нам работать с базой данных. Это как phpMyAdmin -на максималках.
Жмем новое соединение - MySql – видим локалхост, вводим пароль, соглашаемся со всем. Создаем нужную базу данных, создаем таблицы, создаем поля.
Не буду тут расписывать детали этого процесса, тут все либо очевидно, если не так очевидна любая нейронка без ошибок поможет вам создать все что нужно.
Я лишь приведу пару подводных камней, которые встретил, чтобы вы не тратили время.
Порт в файрволле открывается как правило автоматически после установки MySql. Но внешнее подключение запрещено для пользователя с админ правами, поэтому вам надо будет выполнить SQL запрос, который создает дополнительного пользователя.
Делается все примерно так:
Чтобы проверить все ли работает - на своем локальном компьютере в DBeaver попробуйте создать новое подключение, используя IP-адрес вашего сервера, порт 3306, и логин/пароль нового пользователя zenno_user.
Если подключение прошло успешно — всё замечательно, можем переходить к следующему шагу.
Public Key Retrieval is not allowed – если вы получаете такую ошибку, предлагается следующий вариант решения:
Подключитесь к базе на сервере через root (например, в DBeaver на самом сервере) и выполните следующую SQL-команду:
SQL
Настраиваем шаблон на работу с базой данных.
В базе данных у вас должны быть следующие колонки id (идентификатор, тип int) и время записи (тип timestamp). Остальные поля в зависимости от того, что делает ваш шаблон, например логин, пароль, поиск. Рекомендую обратиться в любую нейросеть которой опишите выше два параметра и что вы хотите вставить, и оно создаст вам 2 запроса – первый который создаст все эти колонки в вашей базе данных, второй – который будет вставлять это все через зенно.
Можете использовать как стандартный кубик для подключения mysql, так и c#.
Не расписываю подробно этот момент, так как сам пользуюсь нейросетями для составления MySQL команд.
Так выглядят данные для подключения на c# (ниже идет код вставки нужных полей):
Так выглядит обычный кубик:
Кому как удобно. У вас уже должны иметься переменные в шаблоне, которые нужно будет вставлять в БД. Некоторые переменные (типа временной метки) могут генерироваться автоматически.
Настроить в live режиме выдачу данных в визуальном отображении, используя Metabase
Metabase - бесплатный софт для визуализации запросов к базе данных. Собственно, через него мы и будем создавать такой график, как на скринах в начале статьи.
Он бывает в 2 вариантах в облачном либо jar (java-приложение). Будем использовать jar вариант.
Чтобы не захламлять статью – пишем в нейросеть «Как установить Metabase jar» и делаем все по инструкции, там проблем особых нет. Устанавливать надо в конкретную папку. По результатам советую создать bat файл, которым вы будете сразу запускать программу, если вдруг дедик потребовалось перезагрузить.
Мой бат файл выглядит так. XXX – это внешний айпи (порт надо так же открыть в защитнике) и обратите внимание -Xmx4g – этот ключ выделяет 4 гигабайта оперативной памяти, больше не надо, но и сервер должен позволять.
По результатам у вас будет на http://localhost:3000 (на том дедике где вы установили софт) открываться поле с предложением войти в metabase.
Логинимся, добавляем новую базу данных (все те реквизиты пользователя что мы и создавали в начале)
Далее выбираем новый, выбираем нашу базу и в конструкторе выбираем представление которое мы хотим видеть. Можно не пользоваться конструктором, а выбрать SQL запрос (который сгенерили в нейросети словами) и выбрать создать новый SQL запрос.
Затем выбираете визуализацию и добавляете представление. Настройте все метрики так как душе угодно, тут очень мощный инструмент отображения и куча кнопок. Переписывать сюда документацию нет смысла, все понятно либо визуально, либо можно уточнить в документации (нейросети). Выводите все нужные метрики себе в представления.
Кнопка поделиться дает внешнюю ссылку. В итоге мы имеем ссылку, которую можно открыть где угодно, дабы наблюдать за активностью своей работы
Собственно, рассказать о наличии данных инструментов и была цель данной статьи.
Если какие-то вопросы по сути статьи, готов ответить в рамках данной темы.
Предположим, у нас ситуация, когда аккаунты регистрируются одновременно на 4 серверах.
Как нам в таком случае понимать, какие сервера работают, какие отвалились? Какая сейчас скорость регистрации, возможно надо на какой-то сервер зайти и подправить положение?
В таком случае реализация шаблонов «на файлах» не очень подходит. Надо открывать, переключать окна в каждом из 4 дедиков, относительно удобно делать это с ПК, где много мониторов, но даже если отдельный человек этим занимается, то бегать всю смену по дедикам и заглядывать в лог вряд ли возможно.
Зато, когда мы всегда можем держать открытой подобную табличку, где сразу чисто визуально видна вся «температура по больнице» слежение за постоянной работоспособностью системы не является настолько уж и затруднительной задачей.
Чтобы реализовать данный замысел, нам нужно реализовать эти подзадачи:
- Установить базу данных MySQL
- Настроить шаблоны на запись результатов именно в базу данных, а не в файлы (можно дублировать и то и то)
- Настроить в live режиме выдачу данных в визуальном отображении, используя Metabase.
Установка базы данных MySQL
Для меня работа с базами данных какое-то время казалось какой-то неведомой и непонятно зачем нужной вещью, и я всегда предпочитал все результаты записывать в файлы. Но жизнь заставила все-таки познакомиться с таким инструментом как базы данных (далее БД).
Так как у меня уже есть сервера с windows server, то почему бы просто не поставить все на один из них, они всегда подняты, работают практически круглосуточно и редко сбоят.
Качаем официальный MySQL Installer for Windows, устанавливаем его, проходим стандартно все шаги, выбираем пароль администратора БД (сохраняем его).
Затем скачиваем и устанавливаем DBeaver – софт, который поможет нам работать с базой данных. Это как phpMyAdmin -на максималках.
Жмем новое соединение - MySql – видим локалхост, вводим пароль, соглашаемся со всем. Создаем нужную базу данных, создаем таблицы, создаем поля.
Не буду тут расписывать детали этого процесса, тут все либо очевидно, если не так очевидна любая нейронка без ошибок поможет вам создать все что нужно.
Я лишь приведу пару подводных камней, которые встретил, чтобы вы не тратили время.
Порт в файрволле открывается как правило автоматически после установки MySql. Но внешнее подключение запрещено для пользователя с админ правами, поэтому вам надо будет выполнить SQL запрос, который создает дополнительного пользователя.
SQL:
-- Создаем пользователя 'zenno_user' с надежным паролем, который может подключаться с любого IP ('%')
CREATE USER 'zenno_user'@'%' IDENTIFIED BY 'Ваш_Очень_Надежный_Пароль';
-- Даем этому пользователю полные права ТОЛЬКО на базу [ВАША БАЗА]
GRANT ALL PRIVILEGES ON myip_data.* TO 'zenno_user'@'%';
-- Применяем права
FLUSH PRIVILEGES;
Чтобы проверить все ли работает - на своем локальном компьютере в DBeaver попробуйте создать новое подключение, используя IP-адрес вашего сервера, порт 3306, и логин/пароль нового пользователя zenno_user.
Если подключение прошло успешно — всё замечательно, можем переходить к следующему шагу.
Public Key Retrieval is not allowed – если вы получаете такую ошибку, предлагается следующий вариант решения:
Подключитесь к базе на сервере через root (например, в DBeaver на самом сервере) и выполните следующую SQL-команду:
SQL
SQL:
-- Меняем плагин аутентификации для вашего пользователя
ALTER USER 'zenno_user'@'%' IDENTIFIED WITH mysql_native_password BY 'Ваш_Очень_Надежный_Пароль';
-- Применяем изменения
FLUSH PRIVILEGES;
В базе данных у вас должны быть следующие колонки id (идентификатор, тип int) и время записи (тип timestamp). Остальные поля в зависимости от того, что делает ваш шаблон, например логин, пароль, поиск. Рекомендую обратиться в любую нейросеть которой опишите выше два параметра и что вы хотите вставить, и оно создаст вам 2 запроса – первый который создаст все эти колонки в вашей базе данных, второй – который будет вставлять это все через зенно.
Можете использовать как стандартный кубик для подключения mysql, так и c#.
Не расписываю подробно этот момент, так как сам пользуюсь нейросетями для составления MySQL команд.
Так выглядят данные для подключения на c# (ниже идет код вставки нужных полей):
Так выглядит обычный кубик:
Кому как удобно. У вас уже должны иметься переменные в шаблоне, которые нужно будет вставлять в БД. Некоторые переменные (типа временной метки) могут генерироваться автоматически.
Настроить в live режиме выдачу данных в визуальном отображении, используя Metabase
Metabase - бесплатный софт для визуализации запросов к базе данных. Собственно, через него мы и будем создавать такой график, как на скринах в начале статьи.
Он бывает в 2 вариантах в облачном либо jar (java-приложение). Будем использовать jar вариант.
Чтобы не захламлять статью – пишем в нейросеть «Как установить Metabase jar» и делаем все по инструкции, там проблем особых нет. Устанавливать надо в конкретную папку. По результатам советую создать bat файл, которым вы будете сразу запускать программу, если вдруг дедик потребовалось перезагрузить.
Код:
"C:\Program Files\Java\jdk-24\bin\java.exe" -Xmx4g -DMB_JETTY_HOST=0.0.0.0 -DMB_SITE_URL="http://ХХХ.ХХХ.XX.XX:3000" -jar metabase.jar
По результатам у вас будет на http://localhost:3000 (на том дедике где вы установили софт) открываться поле с предложением войти в metabase.
Логинимся, добавляем новую базу данных (все те реквизиты пользователя что мы и создавали в начале)
Далее выбираем новый, выбираем нашу базу и в конструкторе выбираем представление которое мы хотим видеть. Можно не пользоваться конструктором, а выбрать SQL запрос (который сгенерили в нейросети словами) и выбрать создать новый SQL запрос.
Затем выбираете визуализацию и добавляете представление. Настройте все метрики так как душе угодно, тут очень мощный инструмент отображения и куча кнопок. Переписывать сюда документацию нет смысла, все понятно либо визуально, либо можно уточнить в документации (нейросети). Выводите все нужные метрики себе в представления.
Кнопка поделиться дает внешнюю ссылку. В итоге мы имеем ссылку, которую можно открыть где угодно, дабы наблюдать за активностью своей работы
Собственно, рассказать о наличии данных инструментов и была цель данной статьи.
Если какие-то вопросы по сути статьи, готов ответить в рамках данной темы.
Вложения
-
77,9 КБ Просмотры: 2
-
50,1 КБ Просмотры: 2