# The following list give you the different possibilities to gather power consuption on servers # see "type" field: # ilo: for Gen9 HP server using OEM API (prefer redfish is supported) # ilo-gui: for Gen8 HP Server, web gui scrapping (prefer redfish is supported) # redfish: for server support Redfish REST API # ipmi: using impitool. See "grammar" dicionary in ipmicolector.py for supported manufacturer # idrac8-gui: for DELL iDrac V8 iBMC, web gui scrapping (prefer redfish is supported) # intel-gui: for Intel servers, web gui scrapping (prefer redfish is supported) # ibmc-gui: for Huawei servers, web gui scrapping (prefer redfish is supported) PODS: - environment: YOUR-SERVER-GROUP-NAME # polling internval in seconds polling_interval: 10 # Following parameter is optional (default is True) #active: False|True servers: # HP ILO Server (Gen9) - host: server-ip-or-name[:port] # At your choice id: server-id type: ilo user: ilo-user pass: ilo-user-password # Following parameter is optional (default is True) # active: False|True # HP ILO Server (GUI Hacking, Gen8)) - host: server-ip-or-name[:port] # At your choice id: server-id type: ilo-gui user: ilo-user pass: ilo-user-password # Following parameter is optional (default is True) # active: False|True # DELL IDRAC8 Server (GUI Hacking)) - host: server-ip-or-name[:port] # At your choice id: server-id type: idrac8-gui user: idrac-user pass: idrac-user-password # Following parameter is optional (default is True) # active: False|True # INTEL Server (GUI Hacking)) - host: server-ip-or-name[:port] # At your choice id: server-id type: intel-gui user: web-console-user pass: web-console-user-password # Following parameter is optional (default is True) # active: False|True # HUAWEI iBMC Server (GUI Hacking)) - host: server-ip-or-name[:port] # At your choice id: server-id type: ibmc-gui user: web-console-user pass: web-console-user-password # Following parameter is optional (default is True) # active: False|True #redfish server - host: server-ip-or-name[:port] # At your choice id: server-id type: redfish user: redfish-user pass: redfish-user-password # Following parameter is optional (default is True) # active: False|True # Following parameter is optional (default is True): get power # power: False|True # Following parameter is optional (default is True) get temperature sensors # temperatures: False|True #Generic IPMI (see ipmicollector.py to see supported hardware) - host: server-ip-or-name[:bidged-address] # ex 192.168.0.1 or if bidging required 192.168.0.1:0x82 # At your choice id: server-id type: ipmi user: ipmi-user pass: ipmi-user-password # Following parameter is optional (default is True) # active: False|True # Assume that collected CSV files have the following structure: # 1st column: datetime of measurement with format: # YYYY/MM/DD HH:MI:SS[.sss] # Note: date may also use the form YYYY-MM-DD # 2nd column: TIMEZONE for measurement datetime with format # HHMI offset from UTC Ex. +0200, -0500 # or # +HH:MI offset from UTC Ex. +02:00, -05:00 # or # Z for UTC # or # Valid full timezone name (ex Europe/Paris) # or # With any other value, will use host TZ (or TZ defined bellow) # 1st line: Sensors name and unit in format: # sensor name (Unit) # Ex: "Timestamp","TZ","U_bat_1 (V)","I_load_1 (A)","I_bat_1 (A)" # Following lines: data as float or integer # Ex: 2017/07/17 09:04:00.000,n,56.370628,0.106086,22.658 - host: 127.0.0.1 id: server-id type: csvftp user: user pass: path root_dir: /data/dir/on/server active: True # optional parameters # default file_filter: * # file_filter: "*.CSV" # default encoding: utf8 # encoding: "utf8" # default purge: False remove file from FTP server when data are send # purge: True # Optional, overide TZ for CSV (or host TZ if no TZ in CSV) with a # specific TZ Ex:. Europe/Paris, +02:00, UTC # tz: Europe/Paris # Optional: Maximum number of file to proceed in 1 step/collect # Note: if maximum is reached and if old files are not purged, newer files # will never be proceed: take care # max_files: 10 - host: server-ip-or-name[:port] id: server-id type: modbus #Optional framer to use to collect data on remote device (default for regular TCP is SOCKET, use RTU for TCP/Serial) #framer: RTU sensors: - name: power unit: W # Optional device unit when chainning ModBUS device (Serial) #device_unit: 255 register_category: holding # default=holding, values=holding|input register_address: reg-number # Data type stored in register # MBI: signed 16b integer (ModBus Integer) # MBU: unsigned 16b integer (ModBus Unsigned) # MBL: signed 32 integer (ModBus Long) require register_order: right for datataker # MBF: 32b float, (ModBux Float) require register_order: left for datataker register_type: MBI # 16b WORDs order for MBL and MBF # lowest weight WORD at right (default) #register_order: right # lowest weight WORD at left #register_order: left #Optional: Scal factor to apply to register value register_scaling: 0.1 active: True # Collect data taged as dynamic # from rpimonitor https://github.com/XavierBerger/RPi-Monitor - host: server-ip-or-name[:port] id: server-id type: rpimon active: False #Collect data with SNMPv3 # ------------------------------------- # Note about Authentication protocols: # ------------------------------------- # Valid values are: # "NONE" -> No Authentication Protocol # "HMAC-MD5-96" -> The HMAC-MD5-96 Digest Authentication Protocol (:RFC:`3414#section-6`) # "HMAC-SHA-96 (or "SHA", "SHA1", "SHA-1") -> The HMAC-SHA-96 Digest Authentication Protocol AKA SHA-1 (:RFC:`3414#section-7`) # "HMAC-SHA-2-128" -> The HMAC-SHA-2 Digest Authentication Protocols (:RFC:`7860`) # "HMAC-SHA-2-256" -> The HMAC-SHA-2 Digest Authentication Protocols (:RFC:`7860`) # "HMAC-SHA-2-384" -> The HMAC-SHA-2 Digest Authentication Protocols (:RFC:`7860`) # "HMAC-SHA-2-512" -> The HMAC-SHA-2 Digest Authentication Protocols (:RFC:`7860`) # "NO-PRIVACY" -> No Privacy Protocol # "CBC-DES" -> The CBC-DES Symmetric Encryption Protocol (:RFC:`3414#section-8`) # "3DES-EDE" -> The 3DES-EDE Symmetric Encryption Protocol (`draft-reeder-snmpv3-usm-3desede-00 `_) # "CFB128-AES-128" (or "AES") -> The CFB128-AES-128 Symmetric Encryption Protocol (:RFC:`3826#section-3`) # "CFB128-AES-192" -> The CFB128-AES-192 Symmetric Encryption Protocol (`draft-blumenthal-aes-usm-04 `_) with Reeder key localization # "CFB128-AES-256" -> The CFB128-AES-256 Symmetric Encryption Protocol (`draft-blumenthal-aes-usm-04 `_) with Reeder key localization # "CFB192-AES-BLU" -> The CFB192-AES-BLUMENTAL Symmetric Encryption Protocol (`draft-blumenthal-aes-usm-04 `_) # "CFB256-AES-BLU" -> The CFB128-AES-256 Symmetric Encryption Protocol (`draft-blumenthal-aes-usm-04 `_) # "PASS-PHRASE" -> USM key material type - plain-text pass phrase (:RFC:`3414#section-2.6`) # "MASTER-KEY" -> USM key material type - hashed pass-phrase AKA master key (:RFC:`3414#section-2.6`) # "HASHED-PASS-PHRASE" -> USM key material type - hashed pass-phrase hashed with Context SNMP Engine ID (:RFC:`3414#section-2.6`) - host: server-ip-or-name port: server-port (standard for snmpv3 is 161) username: "user-name-to-connect" auth_protocole: "SHA" auth_secret: "auth-secret-to-connect" privacy_protocole: "AES" privacy_secret: "privacy-secret-to-connect" id: simulator type: snmp version: v3 # or v2 for snmpv2 community: "snmp-community" # snmpv2 parameter sensors: - name: Sensor Name oid: "snmp sensor ID (oid)" unit: Sensor Unit - name: Niveau ventilation oid: "1.3.6.1.4.1.476.1.42.3.9.20.1.20.1.2.1.5077" unit: deg C etc, etc #shelly plug # See https://shelly.cloud/ - host: http[s]://plug-ip-or-name[:port] # At your choice id: server-id type: shelly user: shelly-user pass: shelly-user-password # Following parameter is optional (default is True) # active: False|True # Following parameter is optional (default is True): get power # power: False|True # Following parameter is optional (default is True) get temperature sensor # temperatures: False|True RECORDER_API_SERVER: base_url: https://recordingapi.myserver.com pass: '' user: '' # Uncomment following line to bypass SSL certifcate check (NOT RECOMMANDED) # verify_cert: True # Uncomment the following line to overide default timeout (2s) to send data # timeout: 5 # uncomment the folowwing line to use a proxy (same for http & https) to connect recordinf API #proxy: http://my-proxy:3128