1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/blackeybaord-kingshard

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
kingshard_admin_api.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 18:42 b4fbb46

API-интерфейс для управления Kingshard

Интерфейсы и описание параметров

  • API разработан в стиле RESTful.
  • Предположим, что IP-адрес и порт сервера Web Server Kingshard: 127.0.0.1:9797, имя пользователя: admin, пароль: admin.

Навигация по API

Просмотр состояния узла

Действие: GET
URL: http://127.0.0.1:9797/api/v1/nodes/status
Параметры: нет
Возвращаемое значение: массив узлов, содержащий информацию о ведущем и ведомом устройствах,
смысл полей см. в описании конфигурации

Пример

curl -X GET \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  127.0.0.1:9797/api/v1/nodes/status
Возвращаемый результат:
[
    {
        "node": "node1",
        "address": "127.0.0.1:3307",
        "type": "master",
        "status": "up",
        "laste_ping": "2016-09-24 17:17:52 +0800 CST",
        "max_conn": 32,
        "idle_conn": 8
    },
    {
        "node": "node2",
        "address": "127.0.0.1:3309",
        "type": "master",
        "status": "up",
        "laste_ping": "2016-09-24 17:17:52 +0800 CST",
        "max_conn": 32,
        "idle_conn": 8
    }
]

Добавление ведомого устройства

Действие: POST
URL: http://127.0.0.1:9797/api/v1/nodes/slaves
Параметры:
- node: имя узла
- addr: IP и порт ведомого устройства
Возвращаемое значение: успех: «ok», неудача: «сообщение об ошибке»

Пример

 curl -X POST \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  -d '{"node":"node1","addr":"127.0.0.1:3309"}' \
  127.0.0.1:9797/api/v1/nodes/slaves
  Возвращаемый результат: «ok»

Удаление ведомого устройства

Действие: DELETE
URL: http://127.0.0.1:9797/api/v1/nodes/slaves
Параметры:
- node: имя узла
- addr: IP и порт ведомого устройства
Возвращаемое значение: успех: «ok», неудача: «сообщение об ошибке»

Пример

 curl -X DELETE \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  -d '{"node":"node1","addr":"127.0.0.1:3309"}' \
  127.0.0.1:9797/api/v1/nodes/slaves
  Возвращаемый результат: «ok»

Настройка состояния ведомого устройства

Действие: PUT
URL:http://127.0.0.1:9797/api/v1/nodes/slaves/status
Параметры:
- opt: «up» или «down», включить или выключить ведомое устройство
- node: имя узла
- addr: IP и порт ведомого устройства
Возвращаемое значение: успех: «ok», неудача: «сообщение об ошибке»

Пример

 curl -X PUT \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  -d '{"opt":"up","node":"node1","addr":"127.0.0.1:3309"}' \
  http://127.0.0.1:9797/api/v1/nodes/slaves/status
  Возвращаемый результат: «ok»

Настройка состояния ведущего устройства

Действие: PUT
URL:http://127.0.0.1:9797/api/v1/nodes/masters/status
Параметры:
- opt: «up» или «down», включить или выключить ведущее устройство
- node: имя узла
- addr: IP и порт ведущего устройства
Возвращаемое значение: успех: «ok», неудача: «сообщение об ошибке»

Пример

 curl -X PUT \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  -d '{"opt":"down","node":"node2","addr":"127.0.0.1:3309"}' \
  http://127.0.0.1:9797/api/v1/nodes/masters/status
  Возвращаемый результат: «ok»

Проверка состояния прокси

Действие:GET
URL:http://127.0.0.1:9797/api/v1/proxy/status
Параметры:нет
Возвращаемое значение: «online» или «offline»
Примечание: этот API в основном используется для плавного отключения LVS

Пример

curl -X GET \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  http://127.0.0.1:9797/api/v1/proxy/status
 Возвращаемый результат:«online»

Установка состояния прокси

Действие:PUT
URL:http://127.0.0.1:9797/api/v1/proxy/status
Параметры:opt: «online» или «offline»
Возвращаемое значение: успех: «ok», неудача: «сообщение об ошибке»
Примечание: этот API в основном используется для плавного отключения LVS

Пример

curl -X PUT \
  -H 'Content-Type: application/json' \
  -u admin:admin \
   -d '{"opt":"offline"}' \
  http://127.0.0.1:9797/api/v1/proxy/status
  Возвращаемый результат: «ok»

Проверка схемы прокси

Action:GET
http://127.0.0.1:9797/api/v1/proxy/schema
Параметры:нет
Возвращаемое значение: схема массива, но только один элемент. Смысл полей см. в файле конфигурации

Пример

curl -X GET \
  -H 'Content-Type: application/json' \
  -u admin:admin \
  127.0.0.1:9797/api/v1/proxy/schema
Возвращаемый результат:
[
    {
        "db": "kingshard",
        "Table": "",
        "Key": "",
        "Nodes": [

``` **Посмотреть белый список IP-адресов клиентов прокси:**

* Действие: GET.
* URL: http://127.0.0.1:9797/api/v1/proxy/allow_ips.
* Параметры: allow_ips, массив списка IP-адресов.
* Результат: список IP-адресов.  

**Пример:**

curl -X GET
-H 'Content-Type: application/json'
-u admin:admin
localhost:9797/api/v1/proxy/allow_ips

Результат: ["127.0.0.1", "192.168.0.14"]


**Добавить IP-адрес в белый список клиентов прокси:**

* Действие: POST.
* URL: http://127.0.0.1:9797/api/v1/proxy/allow_ips.
* Параметры: allow_ips, массив списка IP-адресов.
* Результат: «успех: „ok“», «неудача: „error message“».

**Пример:**

curl -X POST
-H 'Content-Type: application/json'
-u admin:admin
-d '{"allow_ips":["127.0.0.1","192.168.0.14","192.168.0.223"]}'
127.0.0.1:9797/api/v1/proxy/allow_ips

Результат: «ok»


**Удалить IP-адреса из белого списка клиентов прокси:**

* Действие: DELETE.
* URL: http://127.0.0.1:9797/api/v1/proxy/allow_ips.
* Параметры: allow_ips, массив списка IP-адресов.
* Результат: «успех: „ok“», «неудача: „error message“».

**Пример:**

curl -X DELETE
-H 'Content-Type: application/json'
-u admin:admin
-d '{"allow_ips":["192.168.0.14", "192.168.0.223"]}'
127.0.0.1:9797/api/v1/proxy/allow_ips

Результат: «ok»


**Посмотреть чёрный список SQL-запросов прокси:**

* Действие: GET.
* URL: http://127.0.0.1:9797/api/v1/proxy/black_sqls.
* Параметры: нет.
* Результат: список SQL-запросов.

**Пример:**

curl -X GET
-H 'Content-Type: application/json'
-u admin:admin
127.0.0.1:9797/api/v1/proxy/black_sqls

Результат: ["delete from test_shard_range", "delete from test_shard_hash"]


**Добавить SQL-запрос в чёрный список прокси:**

* Действие: POST.
* URL: http://127.0.0.1:9797/api/v1/proxy/black_sqls.
* Параметры: sql (можно добавить только один запрос за раз).
* Результат: «успех: „ok“», «неудача: „error message“».

**Пример:**

curl -X POST
-H 'Content-Type: application/json'
-u admin:admin
-d '{"sql":"delete from test_shard_range"}'
127.0.0.1:9797/api/v1/proxy/black_sqls

Результат: «ok»


**Удалить SQL-запросы из чёрного списка прокси:**

* Действие: DELETE.
* URL: http://127.0.0.1:9797/api/v1/proxy/black_sqls.
* Параметры: sql (можно удалить только один запрос за раз).
* Результат: «успех: „ok“», «неудача: „error message“».

**Пример:**

curl -X DELETE
-H 'Content-Type: application/json'
-u admin:admin
-d '{"sql": "delete from test_shard_range"}'
127.0.0.1:9797/api/v1/proxy/black_sqls

Результат: «ok»


**Включить или отключить режим медленных SQL-запросов:**

* Действие: PUT.
* URL: http://127.0.0.1:9797/api/v1/proxy/slow_sql/status.
* Параметры: opt (значение по умолчанию: off).
* Результат: «успех: „ok“», «неудача: „error message“».

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/blackeybaord-kingshard.git
git@api.gitlife.ru:oschina-mirror/blackeybaord-kingshard.git
oschina-mirror
blackeybaord-kingshard
blackeybaord-kingshard
master