openHistorian On Linux

I am looking to use openHistorian along side openPDC to store data as it comes into openPDC but I am not finding any information on how to install or run openHistorian on Linux.

I had found clear information for running openPDC on Linux and hoped someone could point me in the right direction for openHistorian.

I am running Ubuntu 22.04 with openPDC running nicely with Mono.

P.S. If anyone knows of documentation for storing data from openPDC to openHistorian I would appreciate that as well.

The “official” release of openHistorian on Linux is pending - right now the process is very manual. I’ll make this release very soon (will attempt to prioritize this work). The official release will have similar deployment steps that you find with the openPDC. See “openPDC POSIX Deployment Steps” in the latest openPDC release:

For now, if you have the Windows based openHistorian installed, you can connect it to your Linux openPDC using the openHistorian Manager UI tool and selecting Inputs > Subscription Based Inputs > Create Internal Subscription from the main menu.

From there select STTP for the protocol, use 7165 for the port and enter the IP or DNS name of the Linux machine. I typically “uncheck” the “Use source prefix” here as well so that the openHistorian metadata exactly matches that of the openPDC. Once the link is established, openHistorian information will automatically stay in-sync with the openPDC and it will be archiving data…

Hope that helps.


Hi Ritchie,

Thank you for such a quick response.

Its exciting to hear that you are possibly close to a Linux release, for the time being I will work with what we do have available to us.

Hello Ritchie,
Sorry to bring up a year old topic but I could not find an official release of openHistorian 2.8.157 in Linux (Ubuntu in my case).
Is it still in the pipe?

I have installed openPDC in Ubuntu 22.04 following the openPDC POSIX Deployment Steps and now I would like to do the same thing with openHistorian.
If you have the steps available, I would appreciate it (even if it’s not official).



Hi - sure - I just need to find some time to post a POSIX build.

Not sure how soon you need this, but was hoping to have a new official release of openHistorian this month - I could do a dual Windows/POSIX release for this like was done for openPDC.


Thanks Ritchie for your reply.
I was hoping to get it in the next week or so, but if a new official release of openHistorian is around the corner, then it might not be worth the effort to post a POSIX build for the current version.

I’m definitely interested in the dual Windows/POSIX release (like you did for openPDC), for the upcoming version of openHistorian.


Hello @ritchiecarroll

Could you please give me an update on having a POSIX build of the new version of openHistorian?

I’ve been using openPDC for a few weeks now but I have some issues with memory buildup with just 1 PMU device.

Knowing that I will have just 1 PMU device per project, the data already archived in a compressed format, also better displayed with 1 data point per column, offering export through the web UI, as well as the Grafana visualization tool, it seems to answer my needs and allows me to bypass openPDC.

Anyway, please let me know when you think you can get an openHistorian POSIX release?

Very much appreciated,



Sure thing - since I’m a little behind on my official build - I’ll post a beta build for POSIX openHistorian later today.

Release openHistorian v2.8.306 (POSIX) Beta · GridProtectionAlliance/openHistorian (

Thank you Ritchie, I appreciate it, I will install it later today or tomorrow.

Have a great 4th of July!!



I installed openHistorian on Ubuntu 20.04, everything went well, it’s recording PMU data and it’s using 400 MB of RAM. I do not see a memory increase (until crash) like I saw with openPDC.
One thing though, grafana is not working, do we need to do something with a certificate?

One more thing, we are planning on dockerizing openHistorian, for persistent data we are going to add a volume on the Archive folder (to not lose historical data) and the ConfigurationCache (to have the conf file up to date even though the container might restart, for some reasons) folders. Do you see any other folders/files that are needed upon restart, so we don’t restart with the base install files but with all files after we had a PMU conf file.



Grafana works for me - but the initial load takes a bit. Have you tried accessing the page again? You can always try restarting the Grafana instance by entering the following into a console session:


The Archive and ConfigurationCache folder will be important - note that the main reason the ConfigurationCache is important is simply because the openHistorian.db SQLite file configuration file is located there - you could move this to another folder, e.g., Archive (location configuration in openHistorian.exe.config). For diagnostics, the Statistics folder is a good folder to hold on to, but not a requirement. Also note that if you get Grafana working, your dashboards are stored in a SQLite file as well, by default /opt/openHistorian/Grafana/data/grafana.db. Here also, this file could also be relocated by changing its configured location in the opt/openHistorian/Grafana/conf/custom.ini file.

Tried install on a new system, figured out Grafana issue, try this:

chmod u+x /opt/openHistorian/Grafana/bin/grafana
chmod u+x /opt/openHistorian/Grafana/bin/grafana-server

Then restart Grafana instance from an openHistorian console, e.g.:

init 3

If needed, you can browse to this URL to force initial user synchronization:

Try accessing the sample dashboard:

Thanks Ritchie, I tried that but I am still having issues with Grafana.

I see this in the Status log :
[7/6/2023 5:40:27 PM] WARNING: Service started handler reported timeout awaiting Grafana initialization. Timeout configured as 180 milliseconds.
[7/6/2023 5:40:27 PM] [GRAFANA!AUTHPROXY] WARNING: Failed to synchronize Grafana users, cannot find Grafana Administrator “admin”: Connection refused

And when I click on Grafana Visialization in openHistorian, I get that:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
An error has occurred.

I’m attaching the Status and Error logs, maybe you can see something.

In the error log you will see some out of free space errors, but I found a 3 years old thread in the forum and you advice to update the connection string, which I did through a custom script:
update Historian set ConnectionString = ‘DesiredRemainingSpace=5; MaximumArchiveDays=5’ where Acronym = ‘PPA’;

So hopefully I do not get that error again (or not until I have less than 5 GB of disk available).I also added 5 days for max days of archives to not fill out the disk. If you know any other parameters that are important, let me know, I can add them to my script. (142.2 KB)



Looks like Grafana may not be running? What is the result if you enter the following in the console:

ls /a

This should list configured action adapters and their high-level status. In particular, what does GRAFANA!PROCESS show? In the default configuration, GRAFANA!PROCESS has ID 3, if it says Grafana is running, you can also send the following command:

ls 3

or the if the ID is not 3, you can get detailed adapter status with its full name:


It may be necessary to run prior chmod commands as sudo to mark Grafana executable file modes?

The other thing you can do is reinitialize Grafana instance while watching console output, e.g.:

init 3

Thanks Richie.

ls /a or ls 3 says that grafana-server exited with 255

I also reran the 2 chmod commands with sudo and did init 3 in the console, same thing.

Still seems to be a permission issue, don’t you think?


A couple of things to try, first, try running grafana-server manually:

cd /opt/openHistorian/Grafana/bin

See if this fails or what the response is.

Second, check if there is a Grafana log file being created, usually at:



I get a command not found, and I do not see a grafana folder under /var/log.

I ran the chmod command multiple times, with and without sudo.


Try this:


OK, getting closer, now I have cannot execute binary file.