Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PUE and DCEM integration #619

Closed
wants to merge 17 commits into from
Closed

Conversation

MorinPierre
Copy link
Contributor

In this version you will find:

-measure point management
-measure point group management
-a crontab editor
-a graph generator
-PUE calculation (including GEC, ERF and CUE)
-DCEM calculation
-mechanical devices management
-device import (from csv)

Here is a documentation on the new features:

---Measure Point---

A measure point can be placed anywhere in your data center to record various data. For now, there are 3 types of measure points:
-Electrical Measure Point-> they can measure the power(on 3 different phases) and energy.
-Cooling Measure Point-> they can measure the fan speed and the compressor usage.
-Air Measure Point-> they can measure the temperature and the humidity.

To create a measure point go in Measure Management and choose the kind of measure point you want.
Here is the detail of the form used to create measure points:
-Label, a name to indentify easily your measure point
-IP Address / Host Name, the IP address of the device that will be polled by the script(s)
-Connection type, type of connection used to communicate with the device (for now you can choose between SNMP and Modbus)

Next fields depend on the connection type.
For SNMP:
-SNMP Community, snmp community used for the connection
-SNMP Version, version of SNMP to use
-OIDS, ids to poll. Refere to the MIB of your device for more informations

For Modbus:
-Unit ID, ID of the device to poll in the bus
-Number of words, the number of words to read
-Registers, adresses to read

The electrical measure points are used in DCEM and PUE calculations. Therefore, they have some additional fields:
-DataCenter ID, DataCenter containing the measure point
-Category, defines the kind of device measured. It takes values: IT for IT devices, Cooling for cooling devices, Other mechanical for other non IT devices (like lighting), UPS Input or Output for UPSs, renewable energy for renwable energy production or energy reuse for reuse of the energy.
-UPS Powered, is this measure point powered by an UPS?
-Power Multiplier, multiplier to apply to the power measured
-Energy Multiplier, same as previous for the energy

Measure points can be gathered in groups (Measure Point Group). To do so, create a new measure point group and fill it with measure points by clicking on them in the list.
Those groups can generate scripts to poll the measure points they contain. You can manage those scripts in the polling script management page. The left column allows you to create or destroy your scripts. The right one displays existing scripts. The area on the right edits the crontab file, you can quickly add scripts to this file by clicking on them in the right column.

---Graph Generator---

This page generates graphs. Select the units of the ordinates and the measure points to display in the columns. Measure point groups can be used to make the selection faster. Some unit of measure have special options. For now, selecting the power will ask you if phases have to be combined (the graph will sum the three phases). Selecting the energy will allow you to choose the frequency of measures (hourly, daily, monthly or yearly).

---DCEM---

This page calculates the DCEM. There will be a column for each data center containing the energy consumed by the whole data center and by the IT detailed by device. Devices which are not powered by an UPS will be displayed in both category. You can add penalties to each device as described in DCEM specifications (see http://www.etsi.org/deliver/etsi_es/205200_205299/2052000201/01.02.01_60/es_2052000201v010201p.pdf and http://www.etsi.org/deliver/etsi_gs/OEU/001_099/001/01.02.03_60/gs_oeu001v010203p.pdf).

---PUE---

This page will display the energy consumption by category and the PUE (power usage effectiveness), GEC (green energy coefficient), ERF (energy reuse factor) and CUE (carbon usage effectiveness) on the defined period (see http://www.thegreengrid.org/~/media/Regulatory/HarmonizingGlobalMetricsforDataCenterEnergyEfficiency.pdf?lang=en for more information). You can change the category of the measure points on the right column. Note that the changes will not be saved until you hit "Save modifications".

You can configure the default interval to display measures in the configuration page. If you change this interval in the PUE or DCEM page, it will stay changed until the end of the session.

---Device import---

You can import devices with a csv file. Each column as to match an attribute. Only the "Label" column is imposed, others are optional.

@spezialist1
Copy link
Contributor

Hi all!

Personally, PUE and DCEM integration very much interested me! After all this fact is raised by the project openDCIM on qualitatively other_level is very much pleases. By the way, I already half a year bear idea to implement modbus polling in openDCIM: I in DCs have some such devices. But apparently I was already ahead :-).

I very much hope that the openDCIM main developers Scott Miliken and Wilbur Longwisch will show consideration for this pull request and surely it will apply.

Still I will tell that, if it will be still realized my issue #570 (name, status and departmental owner of LPARs on the IBM p-series AIX servers), openDCIM will be very interesting to the banking and enterprise sectors. I, for example, successfully implemented openDCIM in two DCs of one of banks of the middle level in Ukraine and I can tell that openDCIM is already enterprise level software.

Very thanks for the support.

@spezialist1
Copy link
Contributor

P.S...

For a long time I want to write that I am the developer of DDF-files for different third-party devices (not APC by Schneider Electric) for a monitoring system of engineering infrastructure of DCs from APC (APC struxureware data center expert). Therefore, if it is interesting to someone, I have information on SNMP and Modbus monitoring of almost all of APC devices (such as UPS, PDU, NetBotz and etc.), and also my personal development on monitoring of the following devices:
-- Emerson ASCO 5100 Series Connectivity Module (3ph ATS series - SNMP);
-- Emerson ASCO Group 5 Controller (3ph ATS series - SNMP);
-- Emerson ASCO Power Manager Xp (3ph ATS series - SNMP);
-- Carel pCO Sistema programmable electronic controller (HiRef series precision air conditioners - SNMP or Modbus);
-- Socomec DIRIS A10/A17/A20/A40/A41/A60/A80 (multifunction meter series - Modbus);
-- Woodward easYgen-2000 Series Genset Control (FG WILSON gas and diesel generator sets - Modbus);
-- Woodward easYgen-3000 Series Genset Control (FG WILSON gas and diesel generator sets - Modbus);
-- Woodward LS-5 Series Circuit Breaker Control (FG WILSON gas and diesel generator sets - Modbus).

For example, is higher the specified practices and information from DDF-files further I used for creation of a monitoring system of engineering infrastructure of DCs on the basis of Zabbix free software (free, flexible and open system unlike a software of APC struxureware data center expert :-).

Very thanks for the support.

@spezialist1
Copy link
Contributor

Hi all!

I implemented openDCIM with PUE and DCEM at myself in two DCs and found the first bug:

in case of creation of SNMP electrical measure point only the table fac_MeasurePoint is actually filled in. Two other mandatory tables fac_ElectricalMeasurePoint and fac_SNMPElectricalMeasurePoint remain empty. In case of execution of a script of elec_measure_point.php visible errors aren't present.
Besides, in the openDCIM folder it is necessary to create the 'poll_scripts' subfolder.

Apparently, in a script of elec_measure_point.php only one CreateMP() function is processed from the class MeasurePoint(). And the CreateMP() functions from ElectricalMeasurePoint() and SNMPElectricalMeasurePoint() subclasses aren't processed.

Any ideas?
Very thanks for the support.

@MorinPierre
Copy link
Contributor Author

Hi,

It works fine for me. I think there is a problem with an SQL query (ElectricalMeasurePoint creation). Maybe one of the attribute causes the problem. Can you send me the values of each fields when you create your measure point (or a screenshot)?
I'd like to see your database too to check if all tables have been correctly created. If it's not a problem for you, can you send me a copy (use mysqldump -u "username" -p dcim > copy.sql)?

Thank you for your interest.

Fix bug with add/update SNMP electrical measure point...
@spezialist1
Copy link
Contributor

See pool request #1: after this add/update SNMP electrical measure point executed successfully.

I study PUE and DCEM integration further...

Many thanks for the interesting project :-).

@MorinPierre
Copy link
Contributor Author

I fixed the same issue for the air and cooling measure points. To avoid errors you should update your database.

@spezialist1
Copy link
Contributor

Poll scripts php fatal error: in file db-4.1-to-PUE_DCEM.sql table fac_ElectricalMeasure is absent?..

MorinPierre and others added 8 commits July 8, 2015 15:30
Adding '0.01' multiplier for power and energy in electrical MP:
-- this energy multiplier need for Odin series UPS, for example, APC Symmetra PX 250/500kW;
-- this power multiplier need for Socomec DIRIS series multifunctional meter, for example, A20/A40 and etc.
Adding '0.01' multiplier for power and energy in electrical MP:
-- this energy multiplier need for Odin series UPS, for example, APC Symmetra PX 250/500kW;
-- this power multiplier need for Socomec DIRIS series multifunctional meter, for example, A20/A40 and etc.
Adding '0.01' multiplier for power and energy in electrical MP:
-- this energy multiplier need for Odin series UPS, for example, APC Symmetra PX 250/500kW;
-- this power multiplier need for Socomec DIRIS series multifunctional meter, for example, A20/A40 and etc.
@spezialist1
Copy link
Contributor

Hi all!

And how concerning multipliers for the measured variables for Air MP and Cooling MP? For example, for the various APC sensors and the HiRef air conditioners it very much aren't enough :-(.

Very thanks for the support.

@MorinPierre
Copy link
Contributor Author

I'm not sure to understand. You want multipliers for cooling and air measure points attributes?

@spezialist1
Copy link
Contributor

Yes, of course, for cooling and air measure points attributes.

@MorinPierre
Copy link
Contributor Author

Ok. If you think that is relevant i'll add it later (I'm not very familiar with data center equipments). For now, I have other priorities such as debugging and finishing some features.

@spezialist1
Copy link
Contributor

Ok, I understand you.

Very thanks for the support.

@wilpig
Copy link
Collaborator

wilpig commented Jul 9, 2015

Can you resubmit this pull request to the branch "pue-test" There is a great deal of code added here and we really don't want to just merge it into the master branch directly.

@wilpig wilpig closed this Jul 9, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants