hosts_info
Команда возвращает информацию о состоянии ресурсов северов - CPU, память, дисковая подсистема, сетевые интерфейсы.
Аналог команды в CoCon:
node/hosts-info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/hosts_info
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- HostInfoType--> <xs:complexType name="HostInfoType"> <xs:all> <xs:element name="cpu" type="ItemsListType"/> <xs:element name="memory" type="ItemsListType"/> <xs:element name="memoryTotal" type="ItemsListType"/> <xs:element name="disk" type="DiskInfoType"/> <xs:element name="iface" type="IfaceInfoType"/> <xs:element name="node" type="NodeInfoType"/> </xs:all> <xs:attribute name="node" type="xs:string" use="required"/> </xs:complexType> <!-- ItemsListType--> <xs:complexType name="ItemsListType"> <xs:sequence> <xs:element name="item" type="ItemType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- ItemType--> <xs:complexType name="ItemType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- DiskInfoType--> <xs:complexType name="DiskInfoType"> <xs:sequence> <xs:element name="item" type="DiskItemType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- DiskItemType--> <xs:complexType name="DiskItemType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> <xs:attribute name="used" type="xs:string" use="required"/> <!-- 0-100% usage --> </xs:complexType> <!-- IfaceInfoType--> <xs:complexType name="IfaceInfoType"> <xs:sequence> <xs:element name="item" type="IfaceItemType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- IfaceItemType--> <xs:complexType name="IfaceItemType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="macaddr" type="xs:string" use="required"/> <xs:attribute name="addr" type="xs:string" use="required"/> <xs:attribute name="netmask" type="xs:string" use="required"/> <xs:attribute name="dstaddr" type="xs:string" use="required"/> </xs:complexType> <!-- NodeInfoType--> <xs:complexType name="NodeInfoType"> <xs:sequence> <xs:element name="item" type="NodeItemType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- NodeItemType--> <xs:complexType name="NodeItemType"> <xs:attribute name="node" type="xs:string" use="required"/> </xs:complexType> <!-- in--> <xs:element name="in"> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:sequence> <xs:element name="host" type="HostInfoType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/hosts_info
<in/>
Ответ:200
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_hosts_info.xsd"> <host node="core1@ecss1"> <cpu> <item name="Total" value="20.59"/> <item name="CPU #1" value="18.75"/> <item name="CPU #2" value="11.76"/> </cpu> <memory> <item name="total" value="372827688"/> <item name="processes" value="130079880"/> <item name="processes_used" value="130078488"/> <item name="system" value="242747808"/> <item name="atom" value="3223825"/> <item name="atom_used" value="3211956"/> <item name="binary" value="31969736"/> <item name="code" value="71185090"/> <item name="ets" value="30218280"/> </memory> <memoryTotal> <item name="system_total_memory" value="4096815104"/> <item name="free_swap" value="0"/> <item name="total_swap" value="0"/> <item name="cached_memory" value="342142976"/> <item name="buffered_memory" value="168120320"/> <item name="free_memory" value="214089728"/> <item name="total_memory" value="4096815104"/> </memoryTotal> <disk> <item name="/" value="52576092160" used="26"/> <item name="/dev" value="2012602368" used="0"/> <item name="/dev/shm" value="2048405504" used="0"/> <item name="/run" value="409681920" used="1"/> <item name="/run/lock" value="5242880" used="0"/> <item name="/sys/fs/cgroup" value="2048405504" used="0"/> <item name="/snap/stress-ng/924" value="3407872" used="100"/> <item name="/snap/core/7917" value="93454336" used="100"/> <item name="/snap/keepalived/514" value="18743296" used="100"/> <item name="/snap/keepalived/618" value="18874368" used="100"/> <item name="/var/log" value="21003583488" used="13"/> <item name="/var/log/ecss" value="31572529152" used="6"/> <item name="/var/lib/ecss" value="31572529152" used="2"/> <item name="/var/lib/ecss/glusterfs" value="31572529152" used="1"/> <item name="/var/lib/ecss-mysql" value="52576092160" used="2"/> <item name="/snap/stress-ng/1046" value="3407872" used="100"/> <item name="/snap/core/8039" value="93454336" used="100"/> </disk> <iface> <item name="lo" macaddr="00:00:00:00:00:00" addr="127.0.0.1" netmask="255.0.0.0" dstaddr="-"/> <item name="enp1s0" macaddr="82:17:A8:3B:DC:FD" addr="-" netmask="-" dstaddr="-"/> <item name="enp2s0" macaddr="82:17:A8:3B:DC:FD" addr="-" netmask="-" dstaddr="-"/> <item name="bond1" macaddr="82:17:A8:3B:DC:FD" addr="fe80::8017:a8ff:fe3b:dcfd" netmask="ffff:ffff:ffff:ffff::" dstaddr="-"/> <item name="bond1.3" macaddr="82:17:A8:3B:DC:FD" addr="192.168.1.21" netmask="255.255.255.0" dstaddr="-"/> <item name="bond1.476" macaddr="82:17:A8:3B:DC:FD" addr="10.16.33.5" netmask="255.255.255.0" dstaddr="-"/> <item name="bond1.2" macaddr="82:17:A8:3B:DC:FD" addr="192.168.2.21" netmask="255.255.255.0" dstaddr="-"/> <item name="bond1.3:MYSQL" macaddr="" addr="192.168.1.71" netmask="255.255.255.0" dstaddr="-"/> <item name="bond1.2:SIP62" macaddr="" addr="192.168.2.62" netmask="255.255.255.0" dstaddr="-"/> <item name="bond1.2:SIP61" macaddr="" addr="192.168.2.61" netmask="255.255.255.0" dstaddr="-"/> </iface> <node> <item node="megaco1@ecss1"/> <item node="sip1@ecss1"/> <item node="md1@ecss1"/> <item node="core1@ecss1"/> <item node="ds1@ecss1"/> <item node="mycelium1@ecss1"/> <item node="subscriber-portal@ecss1"/> </node> </host> </out>
0 Комментариев