npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rabbitmq-healthcheck

v0.1.4

Published

Healthcheck for rabbitmq

Downloads

3

Readme

Rabbitmq healthcheck

Информация

Сервис для проверки здоровья rabbitmq.

Оглавление

Установка и использование

пример установки: npm install rabbitmq-healthcheck -g

пример запуска: rabbitmq-healthcheck -c config.toml

Таблица ключей запуска

Ключ | Описание ------------ | ------------- --version, -v | вывести номер версии приложения --help, -h | вызвать справку по ключам запуска --config, -c | путь к файлу конфигурации в формате toml или json, (переменная среды: RABBITMQ_HEALTHCHECK_CONFIG_PATH)

Конфигурация

Программа настраивается через файл конфигурации двух форматов TOML или JSON. Так же можно настраивать через переменные среды, которые будут считаться первичными.

Секции файла конфигурации

  • logger - настрока логгера (переменная среды: RABBITMQ_HEALTHCHECK_LOGGER)
  • api - настройка API (переменная среды: RABBITMQ_HEALTHCHECK_API)
  • rabbitmq - настройки подключения к rabbitmq (переменная среды: RABBITMQ_HEALTHCHECK_RABBITMQ)

Пример файла конфигурации config.toml

[logger]                # настройка логгера
    mode = "prod"       # режим (prod или dev или debug)
    enable = true       # активация логгера
    timestamp = "none"  # выводить время лога (none, time или full)
    type = true         # выводить тип лога (true или false)

[api]                                   # настройка API
    enable = true                       # активация API
    listening = "*:3001"                # настройка слушателя
    prefix = "/"                        # префикс
    proxy = false                       # когда поле заголовка true proxy будут доверенным
    subdomain_offset = 2                # смещение от поддомена для игнорирования
    proxy_header = "X-Forwarded-For"    # заголовок IP прокси
    ips_count = 0                       # максимальное количество IP прочитанное из заголовка прокси, по умолчанию 0 (означает бесконечность)
    env = "development"                 # среда для сервера koa
    #keys = []                          # массив подписанных ключей cookie

[rabbitmq]                              # настройки подключения к rabbitmq
    reconnect_interval = 10             # интервал переподключения в секундах
    ping_interval = 5                   # интервал опроса
    host = "guest:guest@host:5672"      # адрес сервера
    v_host = "/"                        # виртуальный хост rabbitmq
    heartbeat = 30                      # сердцебиение
    queue = "_ping"                     # имя очереди

Настройка через переменные среды

Ключи конфигурации можно задать через переменные среды ОС. Имя переменной среды формируется из двух частей, префикса RABBITMQ_HEALTHCHECK_ и имени переменной в верхнем реестре. Если переменная вложена, то это обозначается символом _. Переменные среды имеют высший приоритет.

пример для переменной logger.mode: RABBITMQ_HEALTHCHECK_LOGGER_MODE

Таблица параметров конфигурации

| Параметр | Тип | Значение | Описание | | ----- | ----- | ----- | ----- | | logger.mode | строка | prod | режим отображения prod, dev или debug | | logger.enable | логический | true | активация логгера | | logger.timestamp | логический | false | выводить время лога (true или false) | | logger.type | логический | true | выводить тип лога (true или false) | | api.enable | логический | false | активация API (true или false) | | api.auth | логический | false | активация авторизации (true или false) | | api.listening | строка | *:3001 | настройка слушателя, формат <хост>:<порт> | | api.prefix | строка | /api | префикс | | api.proxy | логический | false | когда поле заголовка true proxy будут доверенным | | api.subdomain_offset | число | 2 | смещение от поддомена для игнорирования | | api.proxy_header | строка | X-Forwarded-For | заголовок IP прокси | | api.ips_count | число | 0 | максимальное количество IP прочитанное из заголовка прокси, по умолчанию 0 (означает бесконечность) | | api.env | строка | development | среда для сервера koa | | api.keys | строка[] | | массив подписанных ключей cookie | | rabbitmq.reconnect_interval | число | 10 | интервал переподключения в секундах | | rabbitmq.ping_interval | число | 5 | интервал опроса | | rabbitmq.host | строка | guest:guest@host:5672 | адрес сервера | | rabbitmq.v_host | строка | / | виртуальный хост rabbitmq | | rabbitmq.heartbeat | число | 30 | сердцебиение | | rabbitmq.queue | строка | _ping | имя очереди |

API

Сервис предоставляет API, который настраивается в секции файла настройки api. API доступно по протоколу HTTP.

Примеры применения

проверить здоровье сервиса: curl http://localhost:3001/healthcheck получить статус здоровья: curl http://localhost:3001/healthcheck/status

| URL | Метод | Код | Описание | Пример ответа | | ----- | ----- | ----- | ----- | ----- | | / | GET | 200 | проверить здоровье сервиса | OK | | /healthcheck | GET | 200 | проверить здоровье сервиса | OK | | /healthcheck/status | GET | 200 | получить статус здоровья | пример | | /_ping | GET | 200 | проверить доступность сервера | OK |

Пример ответа запроса: /healthcheck/status

{
    "healthy": true,
    "work_time": 121331231
    "human_work_time": "1d3s"
}