DCImanager 5 Documentation

Database structure

DCImanager stores data inside a MySQL database. The name of the database is "dcimgr". To provide the database integrity the foreign keys with different connectivity type are used: deleting the entries connected to the object alongside the object, prohibition of linked entries deletion. Tables with v_* prefix are the views. Tables can be divided into several types:

  • servers;
  • inventory;
  • equipment;
  • server types;
  • networks;
  • statistics;
  • service records.

Some tables and fields aren't described in the article because they are only used for internal purposes. Database structure might be changed with further control panel functionality extension.

Basic Objects

location

  • id — location code;
  • name — location name;
  • mainip — main IP-address;
  • ip_block — IP-address type;
  • ssh_port — number of the SSH-port;
  • admusr — superuser name;
  • comment — location comment;
  • setup_problem — installation problem status;
  • serversearch_enabled — server search status;
  • serversearch_ip — IP-address of the DCImanager for server search;
  • serversearch_mask — server search network mask;
  • serversearch_iprange — range of IP-addresses for server search;
  • serversearch_gateway — server search getaway;
  • nameservers — separate name servers for location.

racks

  • id — rack code;
  • name — rack name;
  • owner — owner code. Link for users table;
  • type — rack type;
  • pos_left — the x-coordinate;
  • pos_top — the y-coordinate;
  • pos_angle — tilt angle;
  • placed — the device is located on the data center card or not;
  • location — location code. Link to the location table;
  • temperature — rack temperature;
  • humidity — rack humidity;
  • notes — notes for the rack;
  • srvsearch — server search access status;
  • racksize — size of the rack;
  • servicesize — service equipment size;
  • height — height of the rack in units.

sellers

  • id — seller code;
  • name — seller name.

users

  • id — user code;
  • name — user name;
  • password — user password;
  • level — access level:
    • 16 — user;
    • 17 — operator;
    • 29 — administrator.
  • enabled — enabled or not.

iso

ISO-images:

  • id — entry code;
  • name — image name;
  • user — owner code. Link to users table;
  • filename — path to images directory;
  • size — image size;
  • deletetime — time when the image will be deleted;
  • shared — status of availability for users;
  • description — description of the image;
  • status — image status:
    • 0 — image is being downloaded;
    • 1 — image is ready to work.

Servers

servers

  • id — entry code;
  • name — server name;
  • ip — IP-address;
  • hostname — domain name;
  • mac — MAC-address;
  • notes — server notes;
  • dmi_mem — RAM (random access memory);
  • dmi_proc — processor;
  • chassis_templ — platform type code. Link to chassis_templ table;
  • parent_chassis — parent chassis. Link to servers table;
  • gen_chassis_name — configuration name;
  • is_broken_srv — if server broken or not status;
  • sent_to_repair — if server sent for repair;
  • oper_fail_problem — are there problems during operations;
  • start_operation — name of the current operation;
  • cancel_operation — name of the canceled operation;
  • last_add_ip — latest added IP-address;
  • last_remove_ip — latest deleted IP-address;
  • last_power_action — latest action with power;
  • localspeed — local connection speed;
  • user_notes — any user notes;
  • rack — rack code.Link to the racks table;
  • owner — owner code. Link to the users table;
  • disabled — is server disabled or not status;
  • manual_dis — was server disabled manually;
  • cpu — processor;
  • cpucnt — processor count;
  • corecnt — number of processor cores;
  • cpuperf — processor perfomance;
  • type — server type code. Link to the typelist table;
  • ram — random access memory  (after the diagnostics);
  • chassis_ram — RAM (depending on platform type);
  • ramperf — RAM perfomance;
  • raid — is hardware RAID enabled or not status;
  • is_new — is server new or not status;
  • hwid — server id;
  • motherboard — server motherboard;
  • os — operating system;
  • search_state — server search state;
  • hwproblem — hardware problems status;
  • forcelock — server protection status;
  • srvsize — server size;
  • srvsize2 — server size (for old server types);
  • seller — seller code. Link to the sellers table;
  • purchasedate- date of purchase;
  • warranty — guaranty (months);
  • price — server price;
  • sellerserial — server serial number;
  • is_write_off — server broken or not status;
  • wwn — wwn server code. Link to the wwn table;
  • temperature — temperature;
  • humidity —server humidity;
  • tempdate — date of temperature measurement;
  • tempsource — temperature source;
  • vlan_net — VLAN code. Link to the vlans table;
  • unit — unit number;
  • unit2 — unit number (old server types);
  • ip_block — IP-adresses type;
  • allow_netflow — netflow allowed or not status;
  • hwerror — error information;
  • is_miltinode — is the chassis server or not;
  • parent — chassis;
  • idelivery — delivery code. Link to the idelivery table;
  • placement — server placement;
  • write_off_date — server breakdown date;
  • recipe_running — is recipe running status;
  • start_recipe — recipe start date
  • recipe — recipe name;
  • raid_error — are there any RAID errors.

server2server

Table for linking two servers:

  • src — first server code. Link to the servers table;
  • dst —second server code. Link to the servers table.

chassis_templ

Tamplates types:

  • id — entry code;
  • name — entry name;
  • hdd_count — number of HDD-slots;
  • pci_count — number of PCI-slots;
  • cpu_socket_count — number of CPU-sokkets;
  • max_ram — RAM maximum size;
  • chassis_type — type;
  • blade_count — number of server slots;
  • srvsize — server size.

connections

Server connections:

  • id — entry code
  • server — server code. Link to the servers table;
  • port — occupied port;
  • service — connection closed or not.

cpu_server_slot

Processors installed in servers:

  • id — entry code;
  • server — server code. Link to the servers table;
  • cpu_type — processor code. Link to the cpu_type table;
  • number — number of occupied slot.

cpu_to_types

Processors (Used for server types):

  • id — entry code;
  • type — server type code. Link to the typelist table;
  • cpu — entry name.

cpu_type

Processor (Used for new servers):

  • id — entry code;
  • name — full name;
  • corecnt — number of cores;
  • notes — any additional notes;
  • alias_name — shortend name.

cpulist

The list of processors (table is filled after the diagnosis):

  • id — entry code;
  • name — entry name;
  • corecnt — number of cores.

hddlist

The list of processors (table is filled after the diagnosis):

  • id — entry code;
  • hdd — entry name;
  • server — server code. Link to the servers table;
  • size — processor size;
  • perf — perfomance;
  • smart — SMART-parameteres.

hdd_server_slot

hard drives installed in servers:

  • id — entry code;
  • server — server code. Link to the servers table;
  • hdd_type — hard drive code. Link to the hdd_type table;
  • number — number of the occupied slot;
  • isdiag — was the dignostic held.

hdd_standart

Hard drive type:

  • id — entry code;
  • name — entry name;
  • perfomance — reading speed;
  • smart — SMART-parameters;
  • isdiag — was the dignostic held.

hdd_type

Hard drive:

  • id — entry code;
  • name — entry name;
  • size — hard drive size;
  • type — type code. Link to the hdd_standart;
  • standart — type code. Link to the hdd_standart.

hddperfom

Hard drives perfomance:

  • id — entry code;
  • server_slot — slot code. Link to the hdd_server_slot table;
  • perf — perfomance;
  • smart — SMART-parameters;
  • serial — serial number.

pci_server_slot

PCI-devicesinstalled in the servers:

  • id — entry code;
  • server — server code. Link to the servers table;
  • pci_type — pci-device type code. Link to the pci_type table;
  • number — number of the occupied slot.

pci_type

PCI-devices type:

  • id — entry code;
  • name — entry name;
  • type — type name.

wwn

wwn server code:

  • id — entry code;
  • name — wwn.

Inventory

icategory

Spare parts categories:

  • id — entry code;
  • name — entry name.

idelivery

Supplies:

  • id — entry code;
  • date — delivery date;
  • iseller — seller code. Link to the iseller table;
  • photo_path — waybill file path;
  • name — supply name;
  • overall_price — total price.

ifile

The table stores hash files specified in the package:

  • id — entry code;
  • hash — entry hash;
  • idelivery — supply code. Link to the idelivery table.

inventory

  • id — entry code;
  • name — entry name;
  • date — inventory date.

inventory_object

Inventory object

  • id — entery code;
  • name — entery name;
  • type — object type;
    • 0 — rack;
    • 1 — spare part.
  • status — inventory object status;
  • inventory — inventory code. Link to the inventory table;
  • inventorized — inventorized or not.

inventory_object_snapshot

Object inventory details:

  • id — entry code;
  • serial — serial number;
  • inventory_object — object code. Link to the inventory_object table;
  • fact — actual value (whether an object is found);
  • dbvalue — value from the database (whether the object is found);
  • notes — additional notes.

iseller

Sellers:

  • id — entry code;
  • name — entry name.

ispare

Spare parts:

  • id — entry code;
  • ispare_type — type code. Link to the ispare_type table;
  • idelivery — delivery code. Link to the idelivery table;
  • purchasedate — date of purchase;
  • serial — serial number;
  • status — part status:
    • 0 — new spare part;
    • 1 — confirmed spare parts;
  • placement — part placement:
    • 0 — in inventory;
    • 1 — in server;
    • 2 — in equipment;
    • 3 — destroyed;
    • 4 — broken;
    • 5 — under repair;
    • 6 — unknown.
  • price — spare part price;
  • servers — server code. Link to the servers table;
  • equipment — equipment code. Link to the equipment table;
  • broken — broken or not;
  • note — additional notes.

ispare_type

Spare parts type:

  • id — code;
  • name — entry name.

Equipment

equipment

  • id — entry code;
  • name — entry name;
  • ip — ip-address;
  • hostname — URL-address;
  • snmpuser — SNMP-user;
  • snmppass — SNMP-password;
  • snmppriv — SNMP-access level;
  • snmpversion — SNMP-version;
  • snmpcommunity — SNMP-community;
  • snmpauthlevel — SNMP-authorisation level;
  • telnetuser — Telnet-user;
  • telnetpass — Telnet-password;
  • sshuser — SSH-user;
  • sshpass — SSH-password;
  • rack — rack code. Link to the racks table;
  • owner — owner code. Link to the users table;
  • type — equipment type;
  • device — device;
  • notes — additional notes;
  • statdate — date of statistics collection;
  • eqsize — size inside a rack;
  • seller — seller code. Link to the sellers table;
  • purchasedate — purchase date;
  • warranty — warranty (in months);
  • price — equipment price;
  • is_service — service or not;
  • log_path — log path;
  • pos_left — x-coordinate;
  • pos_top — y-coordinates;
  • pos_angle — tilt angle;
  • width — equipment width;
  • depth — equipment depth;
  • height — equipment height;
  • placed — located on the data center card or not;
  • unit — number of the occupied unit;
  • sellerserial — serial number;
  • stat_poll_type — type of statistics collection;
  • status_poll_type — method of obtaining information about the current status;
  • web_url — web-interface URL;
  • con_fail_problem — are there any problems when installing a connection;;
  • wsman_user — wsman user;
  • wsman_pass — wsman password;
  • wsman_port — wsman port;
  • is_ip_alloc — occupies an IP address or not;
  • pseudourl — the name of the file used for proxying IPMI;
  • depr_snmppass, depr_telnetpass, depr_sshpass, depr_wsman_pass — temporary copies of encrypted passwords.

eq_params

Equipment sensors:

  • id — entry code;
  • device — equipment code. Link to the equipment table;
  • identity — equipment name;
  • strval — string value;
  • intval — integer value;
  • floatval — float value;
  • notes — additional notes.

eq_ports

Equipment ports:

  • id — entry code;
  • device — device code. Link to the equipment table;
  • identity — equipment name;
  • descr — description;
  • notes — additional notes;
  • adm_status — status set in DCImanager:
    • 0 — unknown;
    • 1 — enabled;
    • 2 — disabled.
  • oper_status — status on device:
    • 0 — unknown;
    • 1 — enabled;
    • 2 — disabled.
  • isservice — is this a service port or not.

equip2vlan

Table for linking equipment and VLAN tables:

  • equipment — equipment code. Link to the equipment table;
  • vlans — VLAN code. Link to the VLAN table;
  • e_pvlan_type — VLAN types:
    • 0 — standard VLAN;
    • 1 — set if this VLAN has different types on different switches, although it must be in the entire network of the same type;
    • 2 — primary VLAN;
    • 3 — isolated VLAN.

pdu_ports

PDU ports:

  • id — entry code;
  • port — port number;
  • powercounter — power counter;
  • powerload — power load;
  • statdate — date of last statistics collection.

port2port

Table for the connection of two ports:

  • link1 — code of the first port. The link to the switch_ports table;;
  • link2 — code of the second port. The link to the switch_ports table;.

port_agregate

Port aggregation:

  • id — entry code;
  • switch_ports — switch port code. The link to the switch_ports table;
  • name — entry name;
  • is_primary — is it primary or not.

router_iface

Router Interface:

  • id — entry code;
  • device — device code. Link to the equipment table;
  • iface — interface;
  • net — network;
  • notes — additional notes.

router_route

Routing table:

  • id — entry code;
  • device — device code. Link to the equipment table;
  • ip — IP-address;
  • dest — destination IP-address.

router_vlan

Network Routing:

  • id — entry code;
  • device — device code. Link to the equipment table;
  • vid — VLAN code;
  • vname — VLAN name.

switch_ports

Switch ports:

  • id — entry code;
  • port — port number;
  • speed — port speed;
  • duplex — port mode:
    • 0 — not set;
    • 1 — half duplex;
    • 2 — full duplex;
    • 3 — uncoordinated;
    • 4 — auto.
  • if_index — interface index;
  • dot_1d_base_port — port number containing information about the organization of the bridge;
  • vlan — VLAN code. Link to the VLAN; table
  • mapped_vlan — PVLAN code. Link to the vlans table;
  • isuplink — uplink or not;
  • istrunk — works in Trunk mode or not;
  • trunk_members — trunk members. Link to the vlans table.

ipmi_sessions

IPMI proxying sessions:

  • ipmi — PMI code. Link to the equipment table;
  • longtask — background task id;
  • user — the username on the proxy server generated for this session.

Server types

typelist

Server types:

  • id — entry code;
  • name — entry name;
  • corecnt — number of cores;
  • cpuperf — processor performance;
  • hddcnt — number of hard drives;
  • hddperf — hard drives performance;
  • hddsize — hard drives size;
  • ram — RAM size;
  • ramperf — RAM performance;
  • srvsize — size in the rack;
  • raid — whether hardware RAID is used;
  • notes — additional notes;
  • allow_netflow — allow netflow or not;
  • disable_ipmi_autoadd — do not automatically add IPMI;
  • chassis_type — shell type;
  • blade_count — the number of server slots;
  • localspeed — local connection speed;
  • smart_params — SMART-parameters;

srvtype_check

Correspondence table of servers and server types:

  • id — entry code;
  • server — server code. Link to the servers table;
  • startdate — date of OS testing for this type;
  • type — server type code. Link to bthe typelist table.

os_to_types

OS templates for server types:

  • id — entry code;
  • type — server code type. Link to nthe typelist table;
  • os — os name.

Networks 

ip

IP-addresses:

  • id — entry code;
  • ip — IP-address;
  • owner — owner code. Link to the users table;
  • domain — domain name;
  • gateway — getaway address
  • netmask — network mask

ip2vlan

VLAN IP-addresses:

  • ip — IP-address code. Link to the ip table;
  • vlans — VLAN code. Link to the vlans table.

vlans

VLAN:

  • id — entry code;
  • name — entry name;
  • notes — additional notes;
  • is_service — is network protected or not;
  • pvlan_type — VLAN type:
    • 0 — standard VLAN;
    • 1 — set if this VLAN has different types on different switches, although it must be in the entire network of the same type;
    • 2 — primary VLAN;
    • 3 — isolated VLAN.

net_vlans

VLAN networks:

  • id — entry code;
  • vlan — VLAN code. Link to the vlans table;
  • net — network;
  • type — IP-address types;
  • notes — additional notes;
  • was_used —identifies if the network is used or not.

lanlist

Network adapters table:

  • id — entry code;
  • adapter — adapter name;
  • server — server code. Link to the servers table;
  • mac — MAC-address;
  • ip — IP-address.

mac_list

MAC-addresses:

  • id — entry code;
  • port — port;
  • mac — MAC-address.

Statistics

Tables common fields:

  • begin — date of statistics collection;
  • processed — whether the data is processed;
  • count — number.

burstable_day

Traffic by day:

  • id — entry code;
  • server — server code. Link to the servers table;
  • date — date of statistics collection;
  • burst_in — the amount of incoming traffic;
  • burst_out — the amount of outgoing traffic.

bustable_stat

Traffic:

  • server — server code. Link to the servers table;
  • date — date of statistics collection;
  • burst — the amount of traffic.

srv_current_day

Current statistics for servers by day:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • current — current consumption.

srv_current_hour

Hourly current statistics for servers:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • current — current consumption.

srv_power_day

Power statistics for servers by day:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • current — current consumption.

srv_power_hour

Hourly power statistics for servers:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • current — current consumption.

srv_traff_day

Traffic statistics for servers by day:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • ip — IP-address;
  • rx — incoming traffic;
  • tx — outgoing traffic.

srv_traff_hour

Hourly traffic statistics for servers:

  • begin — date of statistics collection;
  • processed — were the data processed;
  • count — number;
  • server — server code. Link to the servers table;
  • ip — IP-address;
  • rx — incoming traffic;
  • tx — outgoing traffic.

switch_ports_stat

Statistics for switch ports:

  • id — entry code;
  • switch_port — port code. Link to the switch_ports table;
  • rxcounter — rx-counter;
  • txcounter — tx-counter;
  • rxpcounter — rxp-counter;
  • txpcounter — txp-counter;
  • bitload — network load (bps);
  • packload — network load (packet / s);
  • statdate — date of statistics collection.

temp_average_hour

Hourly statistics on average temperature:

  • begin —  the date of statistics collection;
  • processed —  whether the data was processed;
  • count —  the number;
  • thekey —  device code (for binding statistics to a specific device);
  • temperature —  temperature.

overall_power_hour

General statistics on food consumption per hour:

  • begin  — the date of statistics collection;
  • processed  — whether the data was processed;
  • count  — the number;
  • thekey  — device code (for binding statistics to a specific device);
  • in_power  — incoming;
  • out_power  — outgoing.

overall_traff_stat

General traffic statistics:

  • id — record code;
  • date — date;
  • traffload — network load;
  • state — state.

rack_temp_hour

Rack temperature statistics:

  • begin — the date of statistics collection;
  • processed — whether the data was processed;
  • count — the number;
  • rack — rack code. A reference to the racks table;
  • temperature — rack temperature.

oper_stat

Statistics on operations:

  • id — record code;
  • startdate — start date;
  • vendate — the end date;
  • status — status;
  • os — template;
  • type — server type code. The link to the typelist table.

Service records

Change history

The tables for saving history by DCImanager objects have a number of common fields and fields of the source table in two versions: without a suffix and with the suffix _new. In the first, the initial value of the field is stored, in the second - the new value:

  • reference — link to the entry in the source table;
  • username — the name of the user on whose behalf the changes were made;
  • request_ip — the IP address from which changes were made;
  • request_action — the function that made the changes;
  • fromdate — the date from which the previous values acted;
  • changedate — the date the data was changed;
  • changedfields — a list of fields in which data has changed;
  • xxx — field with the old data value;
  • xxx_new — field with new data value.

List of tables for saving history:

  • history_ispare;
  • history_servers.

tasks

  • id — record code;
  • date — date;
  • requester — the code of the user who made the request. Reference to the users table;
  • responsible — the code of the user who decided the request. Reference to the users table;
  • type — type;
  • state — state;
  • notes — additional notes;
  • data — data.

Notification tables

events_admin (for the administrator), events_owner (for the owner):

  • id — entry code;
  • id_problem — problem code.