openMIC   Hosting Requirements

The openMIC system collects event and configuration data from Digital Fault Recorders (DFRs) and other substation devices. It polls field-devices using FTP and other vendor proprietary protocols on user-defined schedules and organizes the returned data files into a user-customizable folder hierarchy.

openMIC is capable of interrogating multiple substation devices simultaneously via IP or Modem (RAS & FTP). Administrators define schedules (including as-fast-as-possible) and specify the output location and format for the data files, e.g., year-month-day, with customizations available for groups of devices or on a per-device basis. openMIC is designed for deployment on critical operational networks.

openMIC is implemented as a Windows service. The system includes a WPF-based configuration application; an optional web-based configuration application; a console application to monitor and issue commands to the windows service; a relational data base to hold configuration information; and optionally, a performance historian to frequently log information on each active connection.

 

openMIC Version 1.3+

open Meter Information Collector (c) Grid Protection Alliance 2010-2021 Note: openMIC EE is not open source and requires a license 1
GitHub Repository: https://github.com/GridProtectionAlliance/openMIC
License: MIT

Hosting Hardware Requirements

  • System Memory: Min: 8 GB; Recommended: 32 GB
  • Processing Resources: Minimum: 2 cores, 2 GHz; Recommended: 4+ cores, 3 GHz
  • Local Storage Space: Typically less than 1 GB. This includes the space required for openMIC logs.

Hosting Systems Requirements

  • Minimum OS: Windows Server 2012 R2 – newer versions are recommended, latest tested version Windows Server 2019. openMIC requires a 64-bit OS.
  • Minimum Relational Database2: Microsoft SQL Server 2012 – newer versions recommended, latest tested version SQL Server 2019. PostgreSQL, MySQL, Oracle and SQLite databases are also supported. Note that SQLite is useful for initial or test installation since it requires no externally installed software. However, SQLlite is not recommended for large test installations or for production deployment at any scale.
  • Prerequisite Software: .NET 4.6+
  • Supported Browsers (for the optional browser-based administration tool): Google Chrome or Microsoft Edge (Chromium-based version)

Multi-node openMIC Requirements

  • Each system in multi-node deployment, i.e., a pool, will need to meet the specified hosting hardware and system requirements.
  • It is recommended that enough nodes be deployed in the multi-node pool such that even with a loss of two nodes, the remaining nodes can carry the data collection load without falling behind.
  • One system in a multi-node pool will be configured to be the primary scheduler, which includes scheduling downloads to itself. The primary scheduler system should be configured in a fail-over cluster configuration of at least two machines. All remaining machines in the multi-node pool can be standalone systems.

Service Account

Default Service Account: NT SERVICE\openMIC

The “NT SERVICE\openMIC” is a managed local account, also known as a “virtual account”. The openMIC virtual account has only the rights assigned to it by the installer, at a minimum, read-write access to the openMIC install folder. If the openMIC needs more specific domain-level access, e.g., an account for database access, it is recommended to use a Group Managed Service Account or gMSA. A gMSA will provide similar security and password-free administrative features as a virtual account, but operates at a domain level.

The openMIC virtual account provides the following features:

  • It is automatically managed
  • It can be setup to access the network in a domain environment as “<domain-name>\<computer-name>$”
  • It requires no password management (password is not known nor accessible to users)

Default Ports

Service Protocol Port
Primary Web Interface http 8089
Service Console Access tsf-ssr3 8530
Alarm Data Webservice http 5018
STAT Grafana API http 6364
STTP sttp 7195
STTPS sttp 7197
GEP (Internal) gep 6195
GEP (External) gep 6196
GEP (TLS) gep 6197

Embedded Third-Party Code Components

The components listed below are embedded within GPA's installation package and do not need to be installed separately. They are shown here to provide transparency and to facilitate integration, interoperability, and security assessments.

  • AjaxMin - Microsoft-provided utility to reduce size of JS and CSS files
  • Antlr - A generalized parser
  • DotNetZip - Zip file manipulation libraries
  • DotRas - RAS (dialing) services for .NET
  • ExpressionEvaluator - Mathmatical expression evaluator
  • EzDnaApi - eDNA Historian API
  • FLEE - Fast expression evaluator
  • Json.NET - Json framework for use within .NET
  • Misakai.Kafka - High-performance C# client for Apache Kafka
  • MongoDB - Supported, but optional, no-SQL database
  • NAudio - .NET library to play back audio files (used for product demonstrations)
  • NModbus4 - C# Modbus Protocol tools
  • Npgsql - Provides .NET access to PostrgeSQL database systems
  • OSIsoft.AFSDK - OSIsoft PI Asset Framework API
  • Owin - Interface between .NET web servers and applications
  • Protobuf - Libraries for using Google's mechanism for serializing structured data
  • RazorEngine - Microsoft's Razor parsing engine
  • Report.NET - Ritchie Carroll's fork of Otto Mayer's Report.NET that is used to create PDF reports
  • System.Data.SQLite - Supported, but optional, relational database
  • ZeroMQ - Supported, but optional, light weight message bus

1. openMIC Enterprise Edition requires a license and a maintenance agreement with GPA.
2. The relational database is only used to hold configuration and metadata, it is not used to archive any received streaming time-series data or event data. As a result, database size is directly correlated to number of configured devices and will ususally be relatively small.
3. Time-series Framework Secure Service Remoting.