pattoo
stores timeseries data in a database and makes it available for users
via a GraphQL API.
It is flexible enough to chart a wide variety of data that changes over time by creating custom agents. There are guides to help you your own data collection agents to gather more generic time dependent information, like market prices, if you know where to obtain the data. Data can be collected from a number of sources.
The pattoo-agents
repository provides a number of standard data collection
agents for IT systems. These include:
- Linux
- SNMP
- Modbus TCP
- BACnet/IP
- OPC UA
pattoo
was originally created to assist DevOps and building facilities
management teams to monitor the performance of servers, applications and
electro-mechanical systems.
pattoo
is flexible enough to chart a wide variety of data that changes over
time by creating custom agents. Test your Python coding skills. Documentation on how to do this can be found here.
pattoo
currently only runs on Linux systems.
pattoo
is currently in alpha testing. Coders are welcome to add new features
and fix bugs. Each pattoo
GitHub repository has its own issues section for
reporting bugs and making feature requests.
pattoo
requires Python 3.6 or greater
The Pattoo demo site runs the current stable version of code.
This video provides a short overview of what pattoo
does.
Now let's get started.
Here's what you need to know about pattoo
.
There are four primary components to pattoo
. These are:
- pattoo: The central API and database system that receives data from
pattoo-agents
and makes it available over the network via a web API. - pattoo-agents: Data collection agents that report data to the
pattoo
server. - pattoo-web: A web UI that allows you to view the data stored on the
pattoo
server. - pattoo-shared: A shared set of software libraries used by all
pattoo
applications.
Let's discuss how to install each of them.
Each component has detailed documentation which is listed below. The recommended order of installation is:
- pattoo
- pattoo-agents
- pattoo-web
The next section has links to sites that explain the installation of each.
The pattoo-shared
component is automatically installed whenever any of the
other three are installed.
There are a number of sets of documents that cover the pattoo
portfolio.
The data collection server that acts as the central repository of data
provided by the pattoo
agents.
pattoo
agents collect data from a variety of sources and send them to
the central pattoo
server over HTTP. We provide a few standard agents,
but you can create your own. (See Pattoo-Shared for details)
The web user interface to use to get access to the pattoo
data.
All other pattoo
components use this shared python library. This must be
pre-installed using pip3
for them to work. Fortunately the each component's
installation scripts automatically does this for you.
You can use the pattoo-shared
documentation to learn the basics of
creating your own custom pattoo-agents
to feed data to the pattoo
server
pattoo
is based on the original infoset
code created by the
Palisadoes Foundation as part of its annual
Calico Challenge program. Calico provides paid summer internships for
Jamaican university students to work on selected open source projects.
They are mentored by software professionals and receive stipends based
on the completion of predefined milestones. Calico was started in 2015.