Monitor in a Box

Monitor in a Box

Why Monitor in a Box?

At stacktile.io, we wanted a monitoring solution based on open-source
software to ensure that our application performance is acceptable to our
customers and our infrastructure is healthy. Our desired monitoring
solution needed to provide:

Orchestration for Dynamic Infrastructure

There should be one single, centralized, revision-controlled specification for which metrics to collect and from which vantage points to collect them.

The entire monitoring stack should come up with one command.
Updates should be applicable with one command and testable in a
virtualized staging environment.

The monitoring system should detect changes in a dynamic
infrastructure: Any change we make to our infrastructure should be
detected from the ground-truth of our application and system
infrastructure footprint. Any changes not made by us (e.g. a host
loses IP connectivity or a process dies) should be detected as
such, and not confused with an intentional change.

Metric Collection and Thresholds

Collect and maintain a history of both application performance and infrastructure health metrics.

A sensible collection of widely relevant metrics should be
collected by default. Warning and failure thresholds (for which
notifications are generated) should be defined over every metric,
where possible, by default.

A Useful Dashboard

Provide sensible default visualizations of both nominal and ordinal data.
Queries should be supported over the metrics and interactive plots generated for all
historical data, all in the browser.

As former networking researchers, we felt it imperative that all
visualizations, plots and figures yield insights as efficiently as
possible. One should be able to drill down in the browser to
understand what's going on, and it should look beautiful, be
responsive, and take advantage of modern web technologies.

Response Coordination

Support not only email alerts, but also modern team chat
software like Slack or RocketChat.

Sensible Security

Confidentiality and Authenticity: All communications, metrics
collection, notifications, must be authenticated and
encrypted by default.

Availability and Robustness: Ensure no silent failures as long as
any system is running. The monitoring solution should monitor itself
and components should fail gracefully and never fail silently.
Built-in support for out-of-band notifications.

Isolation: The code executed by each system under monitoring is
immutable to the monitoring system; The monitoring system can not
execute arbitrary code on the systems under monitor. Only the master
collection system exposes listening TCP socket to the network.

Easy-to-reason-about failure modes: When a metric fails to be
reported to the master within a regular interval, it is considered
failed.

Simplicity To Get Started

It should not be necessary to spend a full day
reading documentation before you have your first
working example setup.

We wanted to have a simple, yet meaningfully
illustrative running example monitoring
solution, which we could then study and adapt
to our specific needs.

The problem that we and others experienced is that
these goals are not simple to achieve. So we
created Monitor in a Box to bring us closer to this
ideal solution.

What's in the box?

Orchestration

Monitor in a Box uses Ansible to create a monitoring
infrastructure. Ansible is a configuration management
system that enables declarative and imperative
orchestration of computing infrastructure using playbooks
and roles. We provide you with playbooks and roles that we
created and also a staging environment that uses Vagrant in
which you can run everything on a set of virtual machines
to test it out.

Icinga Master

The Icinga2 Master monitoring server
collects the metrics from the
Satellites and issues notifications
so you can react to problems. The status of
your infrastructure is visualized in
Icingaweb2, while historical data
visualization is provided by
Grafana.

Icinga Satellite

A Satellite is a system that runs a
monitoring agent which reports all of its
metrics to an Icinga Master. In
production, each host of your
infrastructure will become a satellite.

This is the only part of our system that interacts with
your existing infrastructure and we specifically designed
it to be minimally invasive.

Frequently Asked Questions

Installer

Do I need to use Ansible?

Generally yes. Monitor in a Box requires
Ansible to setup each of the components.
However, we intentionally keep the icinga
satellite role - the only part of MIB that
touches your existing infrastructure - as
simple as possible so that it can easily
ported to another configuration management
system.

Do I need to use Docker?

No, you don't. We provide a Docker image as
a simple way to obtain all dependencies
required for the installer environment.

Do I need to use Vagrant?

No, you don't. We provide Vagrantfiles as a convenient to set up a Monitor in a Box in a staging environment.

Integration

How familiar do I need to be with Ansible, Icinga2 and/or Grafana?

We designed Monitor in a Box to provide a
useful and meaningfully illustrative
monitoring solution out-of-the-box, so that
you don't need any experience to get
started. That said, the more specific you
customize your monitoring, the more
detailed an understanding of these
components you will need.

How can I integrate Monitor in a Box with my existing production infrastructure?

First, you will need to set-up add a new,
dedicated host that will act as an Icinga
master. Secondly, you will need to apply
the Ansible satellite roles to your
production hosts. Detailed instructions are
provided in the included README.md

Do you have a sandbox for testing the set-up?

We provide you with Vagrant files that help you to quickly set-up a testing environment on your local machine. The tests directory of the Pro version contains Vagrantfiles for all supported operating systems.

General

How do I get updates?

For the Pro version, updates will be made
available to you via the download URL
provided to you at checkout.
Our open source components are maintained
on GitHub.

Were can I get support?

If your support need refers to an open
source component feel free to open an issue
on GitHub.
For Pro version support contact us via email from the email address you provided during checkout.

What is your refund policy?

We issue refunds for digital products within 30 days of the original purchase of the product. See our Terms & Conditions for more information.

Services

We are a team of experienced software engineers who have been working together in Berlin since 2013.

Terms & Conditions (“Terms”)

Please read these Terms and Conditions (“Terms”, “Terms and Conditions”) carefully before using the https://stacktile.io website (the “Service”) operated by stacktile GmbH (“us”, “we”, or “our”).

Your access to and use of the Service is conditioned upon your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who wish to access or use the Service.

By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you do not have permission to access the Service.

Purchases

If you wish to purchase any product or service made available through the Service (“Purchase”), you may be asked to supply certain information relevant to your Purchase including, without limitation, your credit card number, the expiration date of your credit card, your billing address, and your shipping information.

You represent and warrant that: (i) you have the legal right to use any credit card(s) or other payment method(s) in connection with any Purchase; and that (ii) the information you supply to us is true, correct and complete.

The service may employ the use of third party services for the purpose of facilitating payment and the completion of Purchases. By submitting your information, you grant us the right to provide the information to these third parties subject to our Privacy Policy.

We reserve the right to refuse or cancel your order at any time for reasons including but not limited to: product or service availability, errors in the description or price of the product or service, error in your order or other reasons.

We reserve the right to refuse or cancel your order if fraud or an unauthorized or illegal transaction is suspected.

Returns and Refunds Policy

We issue refunds for digital products within 30 days of the original purchase of the product.

We issue refunds for digital products only under the following conditions:

Product not delivered (if you haven’t received the delivery email from us)

Download issues (if you experience problems while downloading the product)

Major defects. All our products are tested properly, but unexpected errors may occur.

We recommend contacting us for assistance if you experience any issues receiving or downloading our products.

We do not guarantee that our products are fully compatible with any third-party software. We do not issue refunds if our products are incompatible with any third-party software, except for those that are specified on the page of each product.

If you have any questions about our Returns and Refunds Policy, please contact us:

By email: info@stacktile.io
By visiting this page on our website: https://solutions.stacktile.io/#contact

Availability, Errors and Inaccuracies

We are constantly updating product and service offerings on the Service. We may experience delays in updating information on the Service and in our advertising on other web sites. The information found on the Service may contain errors or inaccuracies and may not be complete or current. Products or services may be mispriced, described inaccurately, or unavailable on the Service and we cannot guarantee the accuracy or completeness of any information found on the Service.

We therefore reserve the right to change or update information and to correct errors, inaccuracies, or omissions at any time without prior notice.

Contests, Sweepstakes and Promotions

Any contests, sweepstakes or other promotions (collectively, “Promotions”) made available through the Service may be governed by rules that are separate from these Terms & Conditions. If you participate in any Promotions, please review the applicable rules as well as our Privacy Policy. If the rules for a Promotion conflict with these Terms and Conditions, the Promotion rules will apply.

Content

Our Service allows you to post, link, store, share and otherwise make available certain information, text, graphics, videos, or other material (“Content”). You are responsible for the Content that you post on or through the Service, including its legality, reliability, and appropriateness.

By posting Content on or through the Service, You represent and warrant that: (i) the Content is yours (you own it) and/or you have the right to use it and the right to grant us the rights and license as provided in these Terms, and (ii) that the posting of your Content on or through the Service does not violate the privacy rights, publicity rights, copyrights, contract rights or any other rights of any person or entity. We reserve the right to terminate the account of anyone found to be infringing on a copyright.

You retain any and all of your rights to any Content you submit, post or display on or through the Service and you are responsible for protecting those rights. We take no responsibility and assume no liability for Content you or any third party posts on or through the Service. However, by posting Content using the Service you grant us the right and license to use, modify, publicly perform, publicly display, reproduce, and distribute such Content on and through the Service. You agree that this license includes the right for us to make your Content available to other users of the Service, who may also use your Content subject to these Terms.

stacktile GmbH has the right but not the obligation to monitor and edit all Content provided by users.

In addition, Content found on or through this Service are the property of stacktile GmbH or used with permission. You may not distribute, modify, transmit, reuse, download, repost, copy, or use said Content, whether in whole or in part, for commercial purposes or for personal gain, without express advance written permission from us.

Accounts

When you create an account with us, you guarantee that you are above the age of 18, and that the information you provide us is accurate, complete, and current at all times. Inaccurate, incomplete, or obsolete information may result in the immediate termination of your account on the Service.

You are responsible for maintaining the confidentiality of your account and password, including but not limited to the restriction of access to your computer and/or account. You agree to accept responsibility for any and all activities or actions that occur under your account and/or password, whether your password is with our Service or a third-party service. You must notify us immediately upon becoming aware of any breach of security or unauthorized use of your account.

You may not use as a username the name of another person or entity or that is not lawfully available for use, a name or trademark that is subject to any rights of another person or entity other than you, without appropriate authorization. You may not use as a username any name that is offensive, vulgar or obscene.

We reserve the right to refuse service, terminate accounts, remove or edit content, or cancel orders in our sole discretion.

Copyright Policy

We respect the intellectual property rights of others. It is our policy to respond to any claim that Content posted on the Service infringes on the copyright or other intellectual property rights (“Infringement”) of any person or entity.

If you are a copyright owner, or authorized on behalf of one, and you believe that the copyrighted work has been copied in a way that constitutes copyright infringement, please submit your claim via email to info@stacktile.io, with the subject line: “Copyright Infringement” and include in your claim a detailed description of the alleged Infringement as detailed below, under “DMCA Notice and Procedure for Copyright Infringement Claims”

You may be held accountable for damages (including costs and attorneys’ fees) for misrepresentation or bad-faith claims on the infringement of any Content found on and/or through the Service on your copyright.

You can contact our Copyright Agent via email at info@stacktile.io.

Intellectual Property

The Service and its original content (excluding Content provided by users), features and functionality are and will remain the exclusive property of stacktile GmbH and its licensors. The Service is protected by copyright, trademark, and other laws of both the United States and foreign countries. Our trademarks and trade dress may not be used in connection with any product or service without the prior written consent of stacktile GmbH.

Links To Other Web Sites

Our Service may contain links to third party web sites or services that are not owned or controlled by stacktile GmbH.

stacktile GmbH has no control over, and assumes no responsibility for the content, privacy policies, or practices of any third party web sites or services. We do not warrant the offerings of any of these entities/individuals or their websites.

You acknowledge and agree that stacktile GmbH shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such third party web sites or services.

We strongly advise you to read the terms and conditions and privacy policies of any third party web sites or services that you visit.

Communications

By creating an Account on our service, you agree to subscribe to newsletters, marketing or promotional materials and other information we may send. However, you may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send.

Termination

We may terminate or suspend your account and bar access to the Service immediately, without prior notice or liability, under our sole discretion, for any reason whatsoever and without limitation, including but not limited to a breach of the Terms.

If you wish to terminate your account, you may simply discontinue using the Service.

All provisions of the Terms which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.

Indemnification

You agree to defend, indemnify and hold harmless stacktile GmbH and its licensee and licensors, and their employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, and expenses (including but not limited to attorney’s fees), resulting from or arising out of a) your use and access of the Service, by you or any person using your account and password; b) a breach of these Terms, or c) Content posted on the Service.

Limitation Of Liability

In no event shall stacktile GmbH, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from (i) your access to or use of or inability to access or use the Service; (ii) any conduct or content of any third party on the Service; (iii) any content obtained from the Service; and (iv) unauthorized access, use or alteration of your transmissions or content, whether based on warranty, contract, tort (including negligence) or any other legal theory, whether or not we have been informed of the possibility of such damage, and even if a remedy set forth herein is found to have failed of its essential purpose.

Disclaimer

Your use of the Service is at your sole risk. The Service is provided on an “AS IS” and “AS AVAILABLE” basis. The Service is provided without warranties of any kind, whether express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, non-infringement or course of performance.

stacktile GmbH its subsidiaries, affiliates, and its licensors do not warrant that a) the Service will function uninterrupted, secure or available at any particular time or location; b) any errors or defects will be corrected; c) the Service is free of viruses or other harmful components; or d) the results of using the Service will meet your requirements.

Exclusions

Some jurisdictions do not allow the exclusion of certain warranties or the exclusion or limitation of liability for consequential or incidental damages, so the limitations above may not apply to you.

Governing Law

Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have had between us regarding the Service.

Changes

We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.

By continuing to access or use our Service after any revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, you are no longer authorized to use the Service.

Contact Us

License

By purchasing this resource (“items” and/or “files”) you are being granted a
license to use these files for specific purposes under certain conditions.
Ownership remains with stacktile and the respective copyright holders, and you
are required to abide by the following licensing terms.

Rights

You have rights for royalty free use of our resources for any or all of your
personal and commercial projects. You may modify the resources according to
your requirements and use them royalty free in any or all of your personal and
commercial projects. For example, you may use this resource to set up a
monitoring infrastructure for a client or other third party, but the client
must not receive this resource.

You are not required to attribute or link to stacktile in any of your projects.
stacktile will not be responsible for any outcome that may occur during the
course of use of our resources.

Prohibitions

You do not have the rights to redistribute, resell, lease, license, sub-license
or offer the resources to be downloaded or used by any third party.

UNDER NO CIRCUMSTANCES SHALL stacktile Team BE LIABLE FOR ANY DIRECT,
INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING, BUT NOT
LIMITED TO, LOSS OF DATA OR PROFIT, ARISING OUT OF THE USE, OR THE INABILITY TO
USE, THE MATERIALS ON THIS SITE, EVEN IF stacktile Team OR AN AUTHORIZED
REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IF YOUR USE
OF MATERIALS FROM THIS SITE RESULTS IN THE NEED FOR SERVICING, REPAIR OR
CORRECTION OF EQUIPMENT OR DATA, YOU ASSUME ANY COSTS THEREOF.

Privacy Policy

stacktile respects each individual’s right to personal privacy. We collect and
use your personal information (name, e-mail) only to understand sales, visits to our
website and to send periodic e-mails with important updates. We will not
transfer users’ information to any other company.

This website uses cookies. By closing this banner or continuing to browse otherwise, you agree to the use of cookies. More details