Преступность
Flask-State – это плагин легкого диаграммы, чтобы показать состояние машины. Государственный Github Flaks
- Индикаторы мониторинга: CPU, память, использование диска, LoadAvg, время загрузки.
- Расширяемый: он имеет богатые варианты расширенных функций, включая мониторинг Redis, аутентификацию пользователя, пользовательскую регистрацию, I18N и т. Д.
- Устойчивые: легкие зависимости, тем врежающиеся проблемы с несколькими прогрессами задач параллелизма (если вы используете Gunicorn ).
Быстрый старт
Установка зависимостей
- Установить через пипс
pip3 install flask-state
- Визуализация плагинов зависимости
Использовать jsdelivr CDN для импорта файла колба-состояния.
Инициализация
# app.py from flask import Flask from flask import render_template import flask_state # Create a Flask app app = Flask(__name__) # Just bind the correct,readable and writable sqlite database path app.config['SQLALCHEMY_BINDS'] = {flask_state.DEFAULT_BIND_SQLITE: 'sqlite:///path'} flask_state.init_app(app) # After setting up the route,you can display data! @app.route('/helloworld') def hello: return render_template('index.html') if __name__ == '__main__': app.run(debug=True)
Дисплей колб-состояние
Пример инициализации через Flask-State init
метод. Вы можете открыть окно Flask-State, нажав на элемент DOM, связанный с методом.
Ниже приведен полный код:
Бегать
now, Open ```http://127.0.0.1:5000/helloworld``` by using browser, Flask-State is already running! ![](https://cdn.jsdelivr.net/gh/yoobool/flask-state@1.0.3/examples/static/flask_state.png) ## Configuration ### Recording Frequency Records the state of the machine every 60 seconds by default. Custom time interval is allowed, **but please note that the minimum interval for collecting metrics also is 60 seconds**. ```python import flask_state app.config['SQLALCHEMY_BINDS'] = {flask_state.DEFAULT_BIND_SQLITE: 'sqlite:///path'} # Pass the custom time into the init method custom_interval = 120 flask_state.init(app, interval=custom_interval)
Redis Monitor.
Если вам нужно отслеживать Redis, просто введите конфигурацию подключения Redis, и Flask-State будет собирать показатели, связанные с Redis и отображать их на странице.
app.config['REDIS_CONF'] = { 'REDIS_STATUS': True, 'REDIS_HOST': '192.168.0.1', 'REDIS_PORT': 16000, 'REDIS_PASSWORD': 'fish' } # Initialize Flask-State after configuration
Локализация
Flask-State в настоящее время поддерживает три языка, в том числе Английский, упрощенный китайский и японский Отказ Язык по умолчанию – английский. Если вам нужны другие языки, пожалуйста, оставьте нам сообщение под Проблемы Отказ
ECharts
Trigger всплывающее окно событие Windows
Флэк-состояние поддерживает вас связать несколько
methods to different DOM elements, those elements can be clicked to open the Flask-State windows. Of course, you needn't bind the DOM element, Flask-State will create a floating button on the page to open the Flask-State windows. **(Through long press and drag to adjust the position of the floating button)** ```htmlFlask-State
Вопросы-Ответы
Резервное копирование данных
Записи, которые варьируются от 1, 3, 7 или 30 дней, запрос в нынешней версии колбу. Тем временем 30 дней назад данные будут автоматически удалять.
Если вам нужно просмотреть больше данных, пожалуйста, сделайте резервное копирование данных вовремя.
Многопроцессора
При запуске нескольких экземпляров колбы на одном сервере (например, с помощью Gunicorn). Чтобы избежать задачи параллелизма состояния записи в колбе, мы представили внешнюю настройку блокировки.
Только процесс, который получает ресурс блокировки, имеет разрешение на чтение и запись базы данных. В то же время процесс, который приобрел ресурс блокировки, распечатает его PID.
Контроль доступа
Для пользователей, которые беспокоятся о безопасности, мы рекомендуем вам представить Flask-login Отказ
После включения в каждой операции чтения и записи Flask-State будет выполнять аутентификацию пользователя на основе Flask-входа, и только пользователи, которые передают аутентификацию, могут прочитать и записывать данные локальных состояний.
Дорожная карта
- Сделайте Flask-State Mobile-Frimary.
- Настройка сбора частоты через выражение Cron.
- Добавьте больше расширенного мониторинга услуг.
Оригинал: “https://dev.to/aaronli/flask-plugin-with-python-5an6”