Authored by @Ying Mo, @Disha Bhagat, @Paras Kampasi
In our last blog, we walked you through the process of contributing your custom dashboards and integration packages to the IBM Instana Observability as Code GitHub repository. You learned how easy it is to fork the repository, create packages, and submit pull requests to share your work with the Instana community.
However, what if you want to go beyond contributing to the shared repository? What if you need more flexibility, e.g.: to host your own integrations, or keep certain packages private, even with Instana self-hosted server in an air-gapped environment? That is where the true power of the Instana integration package working models come into play!
Instana integration package is designed to be flexible and adaptable, offering a variety of working models that empower you to manage your observability solutions in a way that fits your unique needs, including both Instana SaaS and self-hosted. Whether you want to contribute to the ecosystem, maintain custom integrations, or keep everything private in an air-gapped environment, Instana provides the tools and support to help you achieve it.
So, how does this all work? Let’s explore the different working models, including the working model in air-gapped environments.
IBM-hosted Integrations
If you are looking for seamless integrations that just work, the IBM-hosted working model is ideal. IBM handles the development and maintenance for official integrations based on customers' requirements, ensuring the integrations are always up to date. Every time a new change is made, it will be pushed to the IBM Instana Observability as Code GitHub repository and validated through pipeline, then published to the central registry, making them immediately available for use.
Imagine you want to monitor a Go application with Instana. You can download the integration package directly from the central registry using the following command:
stanctl-integration download --package @instana-integration/go
Then import the downloaded package into your Instana system:
stanctl-integration import --package @instana-integration/go \
--server $INSTANA_SERVER \
--token $API_TOKEN
The power of Instana integrations doesn't stop there. You can also contribute your own integrations to the Instana community by submitting to the IBM Instana Observability as Code GitHub repository. Here is how it works:
- Fork and submit: Develop your custom integrations, dashboards, and monitoring solutions in your own GitHub repository forked from upstream repository, then submit them via pull request.
- Review and merge: The project maintainers will review your submission with the help of validating pipeline to ensure it aligns with best practices and is ready for use.
- Publish: Once your submission is approved and merged, it'll be automatically published to the central registry, making it accessible to the broader community.
Please refer to our last blog for a detailed step-by-step guide about the above process.
Why choose IBM-hosted integrations?
Whether you prefer a hassle-free experience with official support or want to contribute to the growth of the Instana ecosystem, both options provide significant benefits. IBM-hosted integrations offer the easiest path forward, saving you time on integration setup. On the other hand, contributing allows you to enhance your own observability setup while helping the Instana community grow and improve, making your work available for everyone to benefit from.
User-hosted Integrations
Sometimes, you may need more control over your integrations. With user-hosted working model, you can maintain custom solutions tailored to your organization’s specific needs. In this working model, you can host your own integrations independently while still making them available in the central registry, allowing other Instana users to access your work through the central registry. You can also customize your monitoring and observability solutions to fit your exact needs, whether it's for specific configurations or unique requirements.
For organizations with strict privacy, security, or compliance requirements, Instana provides the ability to maintain a completely private observability setup. In such scenario, organizations may prefer to keep their integrations and observability data entirely within their internal infrastructure. How does it work?
- Private integrations: All your integration packages are kept within your own internal environment, meaning you never need to publish them publicly.
- Complete control: You have full control over what gets shared and with whom, ensuring that everything stays private and secure.
- Leverage Instana’s observability: Despite keeping your integrations private, you can still take full advantage of Instana’s powerful observability capabilities to monitor and manage your applications effectively.
This setup is ideal for Instana self-hosted, including air-gapped environments, where external connectivity is not an option.
Integrations in air-gapped environment
In some cases, organizations need to operate integrations with Instana self-hosted in air-gapped environments, isolated from external networks. While this setup may limit access to the public registry, Instana provides tooling support to manage integrations even in such restricted environments. Here are a couple of options:
- Using bastion server
- Using portable storage
Bastion Server
You can download the necessary integration packages from the internet using Instana CLI for Integration Package Management on a bastion server. Since the bastion server can access the internet and also connect to machines in the air-gapped environment, you can directly import the downloaded packages to Instana self-hosted server from the same bastion server. The steps would look like this:
Step 1: Download the integration package to the bastion server using the CLI. You can repeat this action for every package you need, e.g.: to download the integration packages for Go, Node.js, and Python:
stanctl-integration download --package @instana-integration/go --location ./my-packages
stanctl-integration download --package @instana-integration/nodejs --location ./my-packages
stanctl-integration download --package @instana-integration/python --location ./my-packages
Step 2: Import the downloaded packages directly from the bastion server into your Instana system using the following shell script:
# Define the location of the downloaded packages
PACKAGE_DIR="./my-packages"
# Loop through each package in the package directory
for package in $PACKAGE_DIR/*; do
if [ -f "$package" ]; then
echo "Importing package: $package"
# Import the package to the Instana system
stanctl-integration import --package "$package" \
--server "$INSTANA_SERVER" \
--token "$API_TOKEN"
# Check if the import was successful
if [ $? -eq 0 ]; then
echo "Successfully imported $package"
else
echo "Failed to import $package"
fi
fi
done
By executing both download and import actions on the bastion server, you eliminate the need for transferring files manually and streamline the process.
Portable Storage
Alternatively, you can download the integration packages from the internet using the CLI, store them in a portable storage, such as a USB drive, then transfer them securely to your air-gapped environment that runs the Instana self-hosted server.
Why choose user-hosted integrations?
If you have unique observability requirements and want to maintain your own integrations, or if your organization has stringent privacy, security, or compliance requirements, the user-hosted integrations give you the control you need, and ensure that your integration packages remain private while still benefiting from Instana’s observability platform.
Conclusion
The Instana integration package is built for flexibility, allowing you to choose the working model that best fits your needs. Whether you want to take advantage of IBM-hosted integrations, contribute to the community, host your own solutions, or keep everything private, Instana makes it possible.
By offering a variety of working models, Instana empowers you to create an observability solution that works for your organization, with the added benefit of contributing to and benefiting from a thriving community. So, whichever path you choose, you are not just optimizing your own operations, you are helping to evolve the Instana ecosystem for the future!
Ready to extend your Instana experience? Explore these flexible Instana integration package working models and find the right fit for you!
#CustomDashboards
#General
#OpenTelemetry
#Integration
#Tutorial