Skip to main content

· 3 min read
Rudy Argüello

Voltmetrix - Morris & Opazo

Photo by Medienstürmer on Unsplash

San Francisco, CA, September 28, 2023

Introduction

We are excited to share some fantastic news that marks a significant step forward in our journey to empower businesses with cutting-edge data solutions. Voltmetrix is proud to announce our strategic partnership with Morris & Opazo, a dynamic and forward-thinking technology consultancy based in Chile.

A Fusion of Expertise and Innovation

Morris & Opazo boasts an impressive track record in delivering comprehensive technology solutions, particularly in the domains of Data & Analytics, Cloud Migration, AI and Machine Learning, and Modernization and Application Development. Their deep expertise and experience in these areas have earned them a well-deserved reputation as a leader in the Chilean technology landscape.

Fueling Data Transformation

At Voltmetrix, we are on a mission to revolutionize the way organizations harness the power of data to drive informed decisions and achieve business success. This partnership with Morris & Opazo aligns perfectly with our goals, as it allows us to combine our advanced data analytics and observability platform with their proven proficiency in delivering transformative technology solutions.

Unlocking Synergies

The synergy between Voltmetrix and Morris & Opazo is rooted in shared values of innovation, customer-centricity, and a commitment to delivering exceptional results. By joining forces, we aim to provide Chilean businesses with unparalleled capabilities to leverage data for strategic decision-making, growth, and innovation.

What This Partnership Means for You

This collaboration opens doors to a new realm of possibilities for businesses seeking to harness the power of data. With Morris & Opazo's specialized expertise and Voltmetrix's cutting-edge platform, we can empower organizations to embark on transformative journeys that drive efficiency, enhance customer experiences, and propel their competitive advantage. Looking Ahead

As we embark on this exciting journey together, we are eager to witness the positive impact our partnership will bring to businesses across Chile. Together, we will navigate the ever-evolving technology landscape and empower organizations to thrive in a data-driven world.

Stay tuned for more updates as we delve into exciting projects and initiatives that result from this partnership. We're thrilled to embark on this journey with Morris & Opazo, and we look forward to the positive outcomes it will bring for our valued customers and the broader technology community.

For inquiries or more information about how our partnership with Morris & Opazo can benefit your organization, feel free to contact us.

About Voltmetrix

Voltmetrix is a leading provider of advanced Observability and Analytics tools that empower organizations to gain deep insights into their business, systems, applications, and infrastructure. With a focus on enhancing performance, streamlining troubleshooting, and enabling proactive anomaly detection, Voltmetrix is committed to helping businesses optimize their operations and drive innovation.

For more information, visit www.voltmetrix.com.

About Morris & Opazo

Morris & Opazo is a dynamic and forward-thinking technology consultancy based in Chile. With a proven track record in delivering comprehensive technology solutions, Morris & Opazo has earned a well-deserved reputation as a leader in the Chilean technology landscape. Their expertise spans Data & Analytics, Cloud Migration, AI and Machine Learning, and Modernization and Application Development.

For more information, visit www.morrisopazo.com

· 3 min read
Rudy Argüello

partnership

Photo by Medienstürmer on Unsplash

San Francisco, CA, September 28, 2023

Introduction

We are thrilled to share some exciting news that marks a significant stride in our journey to empower businesses with transformative technology solutions. Voltmetrix is delighted to announce our strategic alliance with Software.com.br, a renowned software reseller with a strong presence in Brazil and Mexico.

A Gateway to Comprehensive Software Solutions

Software.com.br holds a reputable position in the software industry, reselling technology solutions from more than 10,000 vendors. Their commitment to offering software that meets diverse customer needs at competitive prices has solidified their reputation as a go-to source for a wide range of software applications, in addition to their role as a technology service provider.

Fusing Expertise for Business Advancement

At Voltmetrix, our mission is to revolutionize the way organizations leverage data for decision-making and growth. This strategic alliance with Software.com.br perfectly aligns with our mission, as it enables us to combine our advanced data analytics and observability platform with their extensive reach in the software market.

Enabling Business Transformation

The synergy between Voltmetrix and Software.com.br is built upon shared values of innovation, customer focus, and a dedication to delivering outstanding solutions. This partnership opens doors for businesses seeking to unlock the power of data and software to drive efficiency, customer experiences, and business competitiveness. Unleashing the Potential

Our collaboration with Software.com.br translates into a wealth of opportunities for businesses eager to harness technology for strategic advantage. By leveraging Software.com.br's extensive software offerings and Voltmetrix's cutting-edge platform, organizations can embark on transformative journeys that fuel growth and innovation.

A Glimpse into the Future

As we embark on this exciting venture together, we anticipate positive outcomes for businesses across Brazil, Mexico, and beyond. We are committed to exploring joint initiatives and projects that empower organizations to navigate the digital landscape and excel in their respective markets.

Stay tuned for more updates as we venture into new projects and opportunities through this partnership. We are thrilled to align our efforts with Software.com.br and look forward to the positive impacts it will bring to our valued customers and the broader technology ecosystem.

For inquiries or more information about how our alliance with Software.com.br can elevate your business, please reach out.

About Voltmetrix

Voltmetrix is a leading provider of advanced Observability and Analytics tools that empower organizations to gain deep insights into their business, systems, applications, and infrastructure. With a focus on enhancing performance, streamlining troubleshooting, and enabling proactive anomaly detection, Voltmetrix is committed to helping businesses optimize their operations and drive innovation.

For more information, visit www.voltmetrix.com.

About Software.com.br

Software.com.br is a renowned software reseller with a strong presence in Brazil and Mexico. With a commitment to offering software that meets diverse customer needs at competitive prices, Software.com.br has solidified its reputation as a go-to source for a wide range of software applications, in addition to its role as a technology service provider.

For more information, visit www.software.com.br

· 6 min read

Alt text

Photo by Osman Rana on Unsplash

Introduction:

I love data, and I find it very interesting to consume data from different sources that allow me to understand what's happening around me. Whether it's tracking flights and ships, as I showed you in this blog post Tracking ships with InfluxDB or weather data, as I will demonstrate in this blog post.

In this blog post, I will show you how to collect weather data using OpenWeatherMap, Python, and InfluxDB as a database.

Are you ready to dive into this storm? Let's go!

What is InfluxDB?

InfluxDB is a time-series database that allows you to store time-series data. It's a very powerful database that depends on the version you are using; you can manage it using InfluxQL or Flux. In this case, we are going to deploy InfluxDB v2.7 on the Voltmetrix platform.

Deploy InfluxDB

Deploying InfluxDB on the Voltmetrix platform is straightforward. You can have it up and running in a few minutes with SSL enabled and ready to use. As you know, there are three different ways to deploy InfluxDB on the Voltmetrix platform:

Using the Voltmetrix CLI Using the Voltmetrix API Using Voltmetrix Launchpad

For brevity, we will use the Voltmetrix CLI. The command for doing that is:

voltmetrix deploy \
--cloud gcp \
--database influxdbv2 \
--org_id your-org_id \
--token your-awesome-token \
--size e2-small \
--region us-east1

This command will deploy InfluxDB v2.7 on Google Cloud, in the us-east1 region, with an e2-small instance size. You can adjust the instance size according to your requirements. You can review the available sizes in the options. Voltmetrix CLI documentation.

Once we have that deployed and changed our password we can start to use it.

Create a bucket

The first thing that we need to do is create a bucket. A bucket is a container for time series data. You can create a bucket using the UI or using the CLI. In this case, we are going to use the CLI. The command for doing that is:

influx bucket create \
--name weather \
--org my-org \
--retention 1y

If you prefer the UI, you can follow this steps.

Create a token

The next step is create a token. A token is a string that you can use to authenticate with the InfluxDB API. Is important to create an API token with the correct permissions to write data to the bucket that you created in the previous step. You can create a token using the UI or using the CLI. In this case, we are going to use the CLI. The command for doing that is:

influx auth create \
--org my-org \
--read-bucket 03a2bbf46309a000 \
--read-bucket 3a87c03ace269000

Once you have that, you can start to write data to your bucket.

Collecting weather data

For collecting weather data we are going to use OpenWeatherMap. OpenWeatherMap is a service that allows you to get weather data from different cities around the world. You can check the documentation here.

You will need a token, you can get one for free from them.

The code

For this example, we are going to use Python. You can use any language that you want. The first thing that we need to do is install the library for interacting with OpenWeatherMap. You can do that using pip:

pip install pyowm

Also, we need to install the library for interacting with InfluxDB. You can do that using pip:

pip install influxdb-client

We will have two files: one for the code, which can be saved as "main.py," and the other for "values.py," where we will store the values for the InfluxDB connection and the OpenWeatherMap token. This step is not exclusive; you can use environment variables or any other method to manage these values.

The code is quite straightforward. We will retrieve weather data from Villa Rosa, Argentina, which is my hometown, and then write that data to InfluxDB. The data points will include temperature, humidity, weather condition, wind speed, wind direction, and atmospheric pressure. Additionally, we will record the latitude and longitude of the city.

from pyowm.owm import OWM
import influxdb_client
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS
from values import *

def temp():
owm = OWM(api_key)
get = owm.weather_manager()

villa_rosa = get.weather_at_place('Villa Rosa,AR').weather
temp_villa_rosa = villa_rosa.temperature(unit='celsius')['temp']
hum_villa_rosa = villa_rosa.humidity
condition_villa_rosa = villa_rosa.detailed_status
wind_speed_villa_rosa = float(villa_rosa.wind()['speed'])
wind_orientation_villa_rosa = villa_rosa.wind()['deg']
pressure_villa_rosa = villa_rosa.pressure['press']

client = InfluxDBClient(url, token, org)

write_api = client.write_api(write_options=SYNCHRONOUS)

data = [
Point('weather').tag('location', 'Villa Rosa').field('temperature', temp_villa_rosa).field('humidity', hum_villa_rosa).field('condition', condition_villa_rosa).field('wind_speed', wind_speed_villa_rosa).field('wind_orientation', wind_orientation_villa_rosa).field('pressure', pressure_villa_rosa).field("lat", -34.4345459).field("lon", -58.889472),
]

write_api.write(bucket, org, data)

temp()

The values.py config file looks like this:

# InfluxDB Cloud data https://cloud2.influxdata.com/signup

bucket = 'weather'
org = 'myorg'
token = '$YOUR_TOKEN'
url = "https://gcpb0cec328b.customers.voltmetrix.io:8086"

# Openmapweather data
api_key = '$YOUR_API_KEY'

Once everything is together, you can run the code using:

python3 main.py

If everything is ok, you will see something like this...

>>> Request: 'POST https://gcpb0cec328b.customers.voltmetrix.io:8086/api/v2/write?org=myorg&bucket=weather&precision=ns'
>>> Content-Encoding: identity
>>> Content-Type: text/plain
>>> Accept: application/json
>>> Authorization: ***
>>> User-Agent: influxdb-client-python/1.36.1
>>> Body: b'weather,location=Villa\\ Rosa condition="overcast clouds",humidity=66i,lat=-34.4345459,lon=-58.889472,pressure=1021i,temperature=11.15,wind_orientation=203i,wind_speed=1.85'
<<< Response: 204
<<< X-Influxdb-Build: OSS
<<< X-Influxdb-Version: v2.7.0
<<< Date: Tue, 12 Sep 2023 12:12:27 GMT
<<< Body:

Querying the data

Let's verify if the data is present. To do that, we will utilize the UI. You can refer to the documentation for detailed instructions on how to perform this check. here.

Alt text

Indeed, 11.15 degrees is quite chilly at home! Time to bundle up and stay warm! 😄

Conclusion

In this blog post, we learned how to gather weather data using OpenWeatherMap and Python, utilizing InfluxDB as our database. Additionally, we explored the deployment process of InfluxDB on the Voltmetrix platform and how to write data to it.

As demonstrated, deploying your preferred database is a straightforward process, allowing you to begin collecting data from various sources in just a matter of minutes. I trust you found this blog post enjoyable and informative. I'd like to extend an invitation for you to sign up for Voltmetrix, where you can easily deploy the tools of your choice and start collecting data in a managed and hosted environment.

· 3 min read

Voltmetrix WaveStream

Introduction:

Today, we're thrilled to unveil a groundbreaking addition to the Voltmetrix platform, set to transform how you interact with your data. Introducing Voltmetrix WaveStream – a powerful, easy-to-use, and cost-effective solution for storing data from any source.

We're building more than just a database. Our vision is a database tailored for data from any source, capable of scaling effortlessly, and offered at a fraction of the cost of other solutions. A database primed for the future of data streaming.

This will lay the foundation for future products and services. It's not just the bedrock of our platform but of our vision for the future.

What is Voltmetrix WaveStream?

WaveStream is a state-of-the-art NoSQL database. Constructed atop Apache Arrow, a columnar in-memory analytics layer built to supercharge analytical processing and interchange, WaveStream uniquely enables data querying using SQL, even as it stores data in the highly efficient parquet file format. This fusion bridges the best of SQL and NoSQL, marking it a preferred choice for diverse applications.

Key Features so far...

Here are some pivotal features of WaveStream that we've integrated so far:

  • Line Protocol Compatibility: WaveStream supports InfluxDB's line protocol, simplifying data migration and integration with existing InfluxDB tools.

  • OpenTelemetry Compatibility: WaveStream embraces OpenTelemetry, a universal standard for gathering telemetry data from cloud-native software.

  • SQL Querying: Our solution seamlessly merges SQL querying, marrying the strengths of both SQL and NoSQL databases.

  • Efficient Storage: WaveStream entrusts all data to parquet files, a columnar storage format fine-tuned for analytics.

  • High Performance: With an amalgam of in-memory and disk storage, WaveStream stands out as a high-performance database. There's no need to load all data into memory anymore.

  • Storage Engine: WaveStream capitalizes on Apache Arrow, a columnar in-memory analytics layer aimed at amplifying analytical processing and interchange.

  • Storage Tiering: WaveStream's storage tiering allows for differentiated data storage based on requirements. Instead of universally relying on hot storage, data can be delegated to cold storage, thereby trimming costs.

  • Data Retention: WaveStream incorporates data retention, enabling automatic data deletion post a stipulated duration.

Availability

Our journey with WaveStream is just beginning. Preliminary tests hint at performance outpacing other databases, but we acknowledge the extensive road ahead, laden with triumphs, setbacks, and myriad learning opportunities. We envision WaveStream becoming your go-to platform for analytics and data streaming use cases.

Curious about a launch date? We anticipate roughly six months of development before a version becomes available for testing. That positions our trial release around late Q1 of 2024.

Stay in the loop

Our journey is just kicking off. While WaveStream has miles to cover, we're eager to share this expedition with you. To this end, we've initiated a Google Group for updates on our progress. Feel free to join us here.

Conclusion

As we continue to evolve and innovate, WaveStream marks a significant milestone in our commitment to delivering exceptional solutions to our valued users. We aim to be a significant player in the data streaming and analytics space, and WaveStream is the first step in that direction.

· 2 min read

Voltmetrix Launchpad

Introduction:

Today, is a big day, we're thrilled to unveil an exciting addition to the Voltmetrix platform that is set to revolutionize the way you interact with our services. Introducing Voltmetrix Launchpad – your gateway to a more streamlined, efficient, and powerful user experience.

What is Voltmetrix Launchpad?

Four months ago when we announced Voltmetrix, we promised to deliver a platform that is intuitive, powerful, and easy to use. With Voltmetrix Launchpad, we're taking that promise to the next level as we announced in the roadmap of Q3. Voltmetrix Launchpad is a web-based interface that allows you to manage your Voltmetrix account and services. You can use Voltmetrix Launchpad to create services, add balance to your account, running resizes, terminate services, and more.

Voltmetrix Launchpad is designed to empower you with enhanced control, visibility, and convenience, making your journey through our platform more intuitive and productive. Whether you're a seasoned user or just getting started, Voltmetrix Launchpad is here to elevate your experience.

Availability

We're excited to announce that Voltmetrix Launchpad is now available to all our users. Simply log in to your Voltmetrix account and experience the future of platform interaction. You don't need to create a new account, you can use the same credentials that you use to login to the CLI or the API. If you don't have an account yet, you can create one here.

Experience the Next Level of Platform Interaction

With Voltmetrix Launchpad, we're redefining how you engage with our platform, putting more power and control at your fingertips. Elevate your experience, streamline your tasks, and unlock the full potential of your data-driven initiatives.

What's Next?

We're just getting started. Voltmetrix Launchpad is the first of many exciting additions to our platform. We're working on a number of new features and enhancements that will be released in the coming months. Stay tuned for more updates.

Conclusion

As we continue to evolve and innovate, Voltmetrix Launchpad marks a significant milestone in our commitment to delivering exceptional solutions to our valued users. Join us on this exciting journey and discover the limitless possibilities that Voltmetrix Launchpad brings to your fingertips.

Ready to experience the future of platform interaction? Log in to your Voltmetrix account and explore Voltmetrix Launchpad today!

· 3 min read

Observability-Voltmetrix

Photo by Luke Chesser on Unsplash

Introduction

In today's interconnected world, the reliance on data insights for optimizing operations and delivering exceptional user experiences is more critical than ever. Observability, a practice centered around monitoring and analyzing system behavior and performance, has risen as a pivotal tool for ensuring seamless operations across industries. As complexities grow, hosted and managed observability services are emerging as game-changers, offering comprehensive solutions for handling intricate data analysis.

Modern systems are intricately woven, with countless interdependencies that can make it exceptionally challenging to detect performance issues in a timely manner. Observability addresses this complexity by providing organizations with comprehensive insights into system behavior. By doing so, it becomes easier to identify bottlenecks, pinpoint areas for improvement, and ensure the overall health of complex systems.

The Power of Managed Observability

While observability itself is invaluable, the power of managed observability services truly shines. These services take the burden of complexity off organizations by providing specialized tools and the expertise necessary to handle intricate data flows and analyses. This, in turn, empowers businesses to focus on their core activities and strategic initiatives, knowing that the intricacies of data management are in capable hands.

Streamlined Resource Utilization

Among the many benefits of managed observability is the optimization of resource utilization. In-house management of observability data can be resource-intensive and detract from other vital tasks. With managed services, a team of experts handles data collection, storage, and analysis, allowing businesses to direct their attention and resources toward mission-critical activities.

Instant Insights and Swift Responses

In today's fast-paced digital landscape, real-time insights are paramount. Managed observability services offer continuous monitoring, which enables prompt responses to anomalies and potential issues. This minimizes downtime, maximizes system efficiency, and helps businesses maintain a high level of operational readiness.

Seamless Scalability

As businesses grow and evolve, so do their observability needs. Managed observability services offer the advantage of seamless scalability. This means that as your requirements change, whether due to increased demands or shifting priorities, the service can easily adapt to accommodate those changes without the need for extensive reconfigurations or disruptions.

Round-the-Clock Expert Support

Technical challenges can arise at any hour, and having access to expert support is crucial. Managed observability services provide 24/7 support, ensuring that assistance is readily available whenever it's needed. This not only adds a layer of reassurance but also helps businesses navigate unexpected challenges effectively.

Cost-Efficient Solution

Building and maintaining in-house observability solutions can be cost-prohibitive. Managed services offer a cost-efficient alternative, often following a subscription-based model. This allows businesses to accurately forecast costs, eliminate surprise expenses, and allocate resources more strategically.

Security and Compliance Assurance

Observability involves the handling of sensitive data, which underscores the importance of robust security measures. Managed observability services prioritize security and compliance, adhering to industry standards and implementing best practices to safeguard data from potential breaches or unauthorized access.

Conclusion

In conclusion, managed observability services play a pivotal role in helping businesses navigate the complexities of data analysis and system performance. These services offer a streamlined, expert-driven approach that empowers organizations to optimize resource utilization, gain instant insights, ensure scalability, and foster innovation. At Voltmetrix, we recognize the paramount importance of observability, and our managed services are designed to deliver meaningful insights without the burdens of complex infrastructure management. Contact us today to learn how Voltmetrix can enhance your observability strategy and drive operational excellence.

Elevate your observability strategy with Voltmetrix. Reach out to us today.

· 3 min read
Rudy Argüello

Alt text

Photo by Austin Distel on Unsplash

San Francisco, CA, August 10, 2023

Announcing a Strategic Partnership Between Voltmetrix and Fusion

Voltmetrix, a leading provider of advanced observability tools, is thrilled to announce a strategic partnership with Fusion, a pioneering technology solutions provider. This partnership, effective as of August 8, 2023, marks a significant step forward in delivering cutting-edge observability solutions to businesses across industries.

Voltmetrix's innovative platform empowers organizations to gain real-time insights into their systems, applications, and infrastructure. With a focus on enhancing system performance, streamlining troubleshooting, and enabling proactive anomaly detection, Voltmetrix has become a trusted partner for businesses seeking to optimize their operations. Fusion, known for its expertise in delivering transformative technology solutions, brings a wealth of experience in implementing and integrating state-of-the-art tools to drive business success. By collaborating with Voltmetrix, Fusion aims to provide its clients with a comprehensive observability solution that ensures operational excellence, improved reliability, and enhanced customer experiences.

"This partnership with Fusion represents a strategic alignment of our shared vision to empower businesses with the best open source tools they need to achieve unparalleled observability," said Sherman Urrutia, CEO of Voltmetrix. "Together, we are dedicated to equipping organizations with the insights necessary to make informed decisions, resolve issues proactively, and drive innovation." "We are excited to join forces with Voltmetrix in this strategic partnership," commented Rodrigo Yañez, CRO of Fusion. "By integrating Voltmetrix's advanced observability capabilities with our expertise in delivering technology solutions, we are poised to deliver unmatched value to our clients, enabling them to thrive in today's dynamic business landscape." Through this collaboration, Voltmetrix and Fusion are set to provide a holistic observability solution that empowers businesses to stay ahead of the curve, enhance operational efficiency, and achieve long-term success. Clients can expect seamless integration, tailored support, and a commitment to innovation that addresses their unique observability needs.

For more information about this partnership and the observability solutions offered by Voltmetrix and Fusion, please visit https://voltmetrix.com and https://fusion.com.ar

About Voltmetrix

Voltmetrix is a leading provider of advanced observability tools that empower organizations to gain deep insights into their systems, applications, and infrastructure. With a focus on enhancing performance, streamlining troubleshooting, and enabling proactive anomaly detection, Voltmetrix is committed to helping businesses optimize their operations and drive innovation.

For more information, visit www.voltmetrix.com.

About Fusion

Fusion is a pioneering technology solutions provider that specializes in delivering transformative technology solutions to businesses across industries. With a commitment to innovation and a focus on driving operational excellence, Fusion partners with organizations to implement and integrate cutting-edge tools that enhance efficiency, reliability, and customer experiences. For more information, visit www.fusion.com.ar

· 7 min read

Alt text

Photo by Ian Taylor on Unsplash

Introduction

Tracking vessels is a crucial aspect of the maritime industry as it provides information about a vessel's position, speed, heading, and more. In this article, we will explore how to track vessels using Voltmetrix.

As someone who is passionate about tracking and fascinated by movement, I decided to track vessels using a public API, store the data in a TimescaleDB database, and visualize it on a map using Grafana.

The API

For this project, I discovered the [AisStream.io](https:// aisstream.io) API, which offers free access to information about specific Geoboxes or individual vessels. The API is user-friendly; you only need an API Key, which can be generated on their website.

Tracking Choices

I chose to track vessels in two distinct locations: the port of Buenos Aires, Argentina, and the port of San Francisco, United States. These ports were selected due to their high activity levels and my personal experience visiting them.

The database

For this project, I opted for TimescaleDB. My familiarity with the database and its integration with PostgreSQL drove this choice. TimescaleDB is a time-series database that builds upon PostgreSQL's capabilities, making it a powerful choice.

To deploy TimescaleDB on Voltmetrix, I followed these steps:

voltmetrix deploy \
--cloud gcp \
--database timescaledb \
--org_id your-org_id \
--token your-awesome-token \
--size e2-small \
--region us-east1

Data visualization

I selected Grafana for data visualization due to its user-friendly interface and powerful capabilities. To deploy Grafana on Voltmetrix, I executed the following command:

voltmetrix deploy \
--cloud gcp \
--database grafana \
--org_id your-org_id \
--token your-awesome-token \
--size e2-small \
--region us-east1

Once the database and visualization tool are deployed, they need to be connected. To achieve this, create a datasource in Grafana by navigating to the settings, clicking on "Data Sources," selecting PostgreSQL as the database type, and completing the form with the necessary details.

The code

The code responsible for this project is written in Python and is relatively simple. The code performs two primary tasks: establishing a WebSocket connection to the API and inserting the retrieved data into the TimescaleDB database.

Create a requirements.txt file with the following contents:

asyncio
websockets
json
datetime
psycopg

Then you should have a file called main.py with the following content:

note

Remember to change the values of the variables PASSWORD, and AISAPIKEY with your own values.

import asyncio
import websockets
import json
from datetime import datetime, timezone
import psycopg as pg
import os

conn_str = f'user=postgres password={os.environ.get("PASSWORD")} host=gcp72ff3b9c2.customers.voltmetrix.io port=5432 dbname=tsdb'

conn = pg.connect(conn_str)

# Create table

create_table_query = '''CREATE TABLE IF NOT EXISTS ais_data (
ts timestamp with time zone NOT NULL,
ship_id INTEGER,
latitude REAL,
longitude REAL,
speed REAL,
heading REAL,
nav_status TEXT
);'''

conn.cursor().execute(create_table_query)
conn.commit()

# Create hypertable

create_hypertable_query = "SELECT create_hypertable('ais_data', 'ts', create_default_indexes => FALSE);"
conn.cursor().execute(create_hypertable_query)
conn.commit()

# Connect to AIS stream and insert data into timescaledb
async def connect_ais_stream():

async with websockets.connect("wss://stream.aisstream.io/v0/stream") as websocket:
subscribe_message = {
"APIKey": os.environ.get("AISAPIKEY"), # Required !
"BoundingBoxes": [
# Buenos Aires, Argentina
[[-34.811548,-58.537903], [-34.284453,-57.749634]],
# San Francisco, USA
[[36.989391,-123.832397], [38.449287,-121.744995]],
],
"FilterMessageTypes": ["PositionReport"],
}

subscribe_message_json = json.dumps(subscribe_message)
await websocket.send(subscribe_message_json)

async for message_json in websocket:
message = json.loads(message_json)
message_type = message["MessageType"]

if message_type == "PositionReport":
# the message parameter contains a key of the message type which contains the message itself
ais_message = message["Message"]["PositionReport"]
print(f"[{datetime.now(timezone.utc)}] ShipId: {ais_message['UserID']} Latitude: {ais_message['Latitude']} Longitude: {ais_message['Longitude']} Speed: {ais_message['Sog']} Heading: {ais_message['Cog']} NavStatus: {ais_message['NavigationalStatus']}")
# Insert data into timescaledb
insert_query = '''INSERT INTO ais_data (ts, ship_id, latitude, longitude, speed, heading, nav_status) VALUES (%s, %s, %s, %s, %s, %s, %s);'''
conn.cursor().execute(insert_query, (datetime.now(timezone.utc), ais_message['UserID'], ais_message['Latitude'], ais_message['Longitude'], ais_message['Sog'], ais_message['Cog'], ais_message['NavigationalStatus']))
conn.commit()

if __name__ == "__main__":
asyncio.run(connect_ais_stream())

Before running the code, you need to convert the table into a hypertable. For doing that you need to run the following command:

psql -h gcp72ff3b9c2.customers.voltmetrix.io -p 5432 -U postgres -d tsdb -c "SELECT create_hypertable('ais_data', 'ts', create_default_indexes => FALSE);"

Now, you can run the code with the following command:

python3 main.py

If everything goes well, you can see the data in the database. First connect to the database with the following command:

psql -h gcp72ff3b9c2.customers.voltmetrix.io -p 5432 -U postgres -d tsdb -c "Select * from ais_data;"

The result should be something like this:

              ts               |  ship_id  |  latitude  |  longitude  | speed | heading | nav_status
-------------------------------+-----------+------------+-------------+-------+---------+------------
2023-08-05 14:24:26.800649+00 | 367425230 | 37.781433 | -122.38651 | 0 | 14.9 | 0
2023-08-05 14:24:29.347571+00 | 563001700 | 37.39222 | -123.14578 | 9.5 | 352.4 | 0
2023-08-05 14:24:29.838122+00 | 538004682 | 37.75017 | -122.344345 | 0 | 201.4 | 1
2023-08-05 14:24:30.550313+00 | 538009135 | 37.770645 | -122.35081 | 0 | 23.3 | 1
2023-08-05 14:24:32.866905+00 | 367085940 | 37.870697 | -122.494446 | 5.9 | 145.4 | 15
2023-08-05 14:24:33.326184+00 | 366862670 | 37.775505 | -122.39174 | 0.3 | 50.4 | 0

Now, we can create a dashboard in Grafana to visualize the data. For doing that we need to go to the settings of Grafana and then click on the option "Dashboards" and then click on the button "Manage". Once we are there we need to click on the button "New Dashboard" and then click on the button "Add new panel". Once we are there we need to click on the button "Add query" and then we need to select the database that we created before. Then we need to write the following query:

SELECT ship_id, latitude, longitude, heading, speed, nav_status, ts 
FROM ais_data
WHERE ts >= NOW() - INTERVAL '5 minutes'
GROUP BY ship_id, latitude, longitude, heading, speed, nav_status, ts;

This is sample query that is going to graph in a Map the position of the ships that are in the database. The result should be something like this:

Alt text

Have in mind that I'm taking the data from the last 5 minutes. That's why you can see the "breadcrumbs" of the ships in the map. If you don't want to see that, you can reduce the time to one minute or less.

The dashboard

In my case, I created a dashboard with two panels, one watching the data from San Francisco and the other one watching the data from Buenos Aires. The result is the following:

Alt text

You can notice that I'm using two types of maps, this is only for showing you the two types of maps that you can use. The first one is a map that is using the "Worldmap Panel" plugin and the second one is a map that is using the "OpenStreetMap" plugin that draw maritime routes. You can use the one that you like the most.

tip

If you select a ship you can see the ship id, if you select that and do a right click and do a search in google, you can find more information about that vessel.

Conclusion

This article provided a comprehensive guide on using Voltmetrix for real-time AIS data analysis. You learned how to create a database, connect to an AIS stream, and insert data into the database using Python. Additionally, you discovered how to create an informative Grafana dashboard for data visualization. I hope this article inspires you to explore the possibilities of Voltmetrix further. If you have any questions, feel free to contact me through social media or our contact form.

· 2 min read

Voltmetrix Engine v2.2 Photo by Marek Piwnicki on Unsplash

Introduction

One of Voltmetrix's main goals is to continuously evolve its platform and improve its services to provide the best experience for its customers. In this article, we will cover the new features and improvements introduced in Voltmetrix Engine v2.2.

The Voltmetrix Engine serves as the heart of our platform. It manages the lifecycle of services deployed within the platform, including provisioning, scaling, and deprovisioning. Additionally, it handles the billing system and access control for the platform.

New Features

New Cloud Provider: Google Cloud

As announced a few days ago, Voltmetrix now supports Google Cloud as a new cloud provider. This means you can deploy your services on Google Cloud. For more information about this new feature, refer to this blog post.

Adding Balance to Your Account

You can now add balance to your account using the CLI. We have partnered with Stripe to provide a secure and straightforward way to add balance to your account. How does it work? It's simple! Just run the following command:

voltmetrix add-balance \
--org_id <your-org-id> \
--token <your-access-token>

This command will return a URL that you can use to add balance to your account. Please ensure you use the email address that you have registered on the platform when adding balance. If you use a different email address, the balance will not be added automatically. In that case, please reach out to [email protected] to have the balance added to your account.

Improvements

Simplified Login

We have simplified the login process. You can now log in using your email address and password, without the need to provide the organization ID anymore. The new login command looks like this:

voltmetrix login \
--email <your-email-address> \
--password <your-password>

Upon successful login, you will receive the org_id and the token, which you can use to interact with the platform.

tip

Please note that the session is valid for one hour. After that, you will need to log in again to activate your token.

Conclusion

At Voltmetrix, we are committed to working hard to enhance our platform and provide the best possible experience to our customers. We hope you enjoy the new features and improvements introduced in this release. If you have any questions or comments, feel free to reach out to [email protected].

· 5 min read

Voltmetrix for IoT Photo by Kirill Tonkikh on Unsplash

Introduction

The Internet of Things (IoT) has transformed the way we interact with technology, enabling a vast network of interconnected devices that collect, exchange, and analyze data. As IoT adoption continues to grow across industries, businesses are seeking efficient ways to harness the power of IoT without the complexities of managing infrastructure. Hosted and managed services have emerged as a game-changer in the IoT landscape, offering businesses the opportunity to focus on innovation while leaving the complexities of infrastructure management to experts.

In this blog post, we will delve into the importance of hosted and managed services for IoT deployments. We will explore the benefits, challenges, and real-world applications that showcase the value of embracing such services. Let's dive in!

Simplified Deployment and Scalability

Hosted and managed services for IoT provide businesses with a simplified deployment process. Instead of investing in building and maintaining their infrastructure, organizations can leverage these services to quickly and easily set up IoT solutions. Moreover, these services offer scalability, allowing businesses to expand their IoT deployments as their needs grow, without worrying about infrastructure limitations.

Reduced IT Burden

By opting for hosted and managed services, businesses can offload the burden of maintaining and managing complex IoT infrastructure. This shift enables organizations to focus on their core competencies and strategic initiatives, leaving the technical aspects to specialized service providers. This reduction in the IT burden allows businesses to optimize resource allocation and better allocate their expertise.

Enhanced Security and Compliance

Security is a critical concern in the IoT landscape, as interconnected devices create a vast attack surface for potential threats. Hosted and managed services often come with robust security measures and protocols to safeguard data, devices, and applications. Additionally, service providers stay up-to-date with the latest security standards and compliance requirements, ensuring that businesses adhere to regulatory frameworks.

Cost-Efficiency and Predictable Expenses

By choosing hosted and managed services, businesses can benefit from cost-efficiency. Instead of large upfront investments, they can adopt a pay-as-you-go model, which enables predictable expenses and better cost control. This approach empowers organizations to manage their budgets more effectively and allocate resources strategically.

Continuous Monitoring and Support

With hosted and managed services, businesses receive round-the-clock monitoring and support. Service providers proactively monitor the IoT infrastructure, identifying potential issues and resolving them before they escalate. This ensures the continuous availability and optimal performance of IoT applications.

Real-World Applications

To illustrate the significance of hosted and managed services for IoT, let's explore real-world applications where businesses have experienced tangible benefits:

Smart Manufacturing

In the manufacturing industry, IoT plays a vital role in optimizing production processes and ensuring operational efficiency. With hosted and managed services, manufacturers can seamlessly deploy IoT devices across their facilities, collect real-time data, and analyze it for predictive maintenance and process optimization. This approach enables manufacturers to minimize downtime, reduce maintenance costs, and increase overall productivity.

Smart Cities

The concept of smart cities relies heavily on IoT technology to improve urban living conditions and enhance public services. Hosted and managed services facilitate the deployment of IoT sensors and devices across a city's infrastructure, such as traffic management, waste management, and public safety systems. This approach enables city authorities to make data-driven decisions, reduce traffic congestion, and improve overall livability for citizens.

Healthcare

In the healthcare sector, IoT has the potential to transform patient care and medical operations. Hosted and managed services allow healthcare providers to deploy IoT-enabled devices for remote patient monitoring, asset tracking, and medication management. This not only enhances patient outcomes but also streamlines medical workflows and improves the overall efficiency of healthcare facilities.

Conclusion

Hosted and managed services have emerged as a critical enabler for successful IoT deployments. By simplifying deployment, reducing the IT burden, enhancing security, and providing continuous support, these services empower businesses to unlock the full potential of IoT without the complexities of infrastructure management. From manufacturing to smart cities and healthcare, the real-world applications of hosted and managed services showcase their transformative impact on various industries.

As businesses continue to embrace IoT to drive innovation and gain a competitive edge, the importance of hosted and managed services becomes even more evident. By partnering with experienced service providers, organizations can embark on a seamless IoT journey, focusing on leveraging the data-driven insights and strategic advantages that IoT offers.

At Voltmetrix, we understand the unique challenges that businesses face when implementing IoT, Observability, and Analytics solutions. That's why we offer a comprehensive hosted and managed platform, specifically designed to cater to your IoT needs. Our platform not only provides the infrastructure required for IoT deployments but also ensures continuous monitoring, top-notch security, and expert support.

With Voltmetrix's hosted and managed platform, businesses can accelerate their IoT projects, improve operational efficiency, and unlock valuable insights from their data. Whether you're looking to streamline manufacturing processes, build smart cities, or enhance patient care in healthcare, Voltmetrix is here to support you every step of the way.

In conclusion, hosted and managed services for IoT are not just a convenience; they are a strategic imperative for organizations seeking to harness the true power of the Internet of Things. With Voltmetrix's platform, businesses can confidently navigate the complexities of IoT, Observability, and Analytics, and pave the way for a connected and data-driven future. Let us partner with you on your IoT journey and bring your vision to life.

Subscribe for product updates

By subscribing, you agree with our Terms and Privacy Policy.