Uptime Monitoring

We run uptime monitoring on five minute intervals. If your project is considered down or non-responsive, we trigger listeners. You need to ensure they're set up with the specific means of notification you want to recieve.

We will continue to scan your project until your project is responsive again, and notify you of our findings along the way, as long as you have listeners set for each event.

Certificate Scanning

On a daily basis we check your project's SSL certificate, or, attempt to see if your project has an active SSL certificate. You can set any listeners you want with notifications for your Certificate's expiry date.

Domain Scanning

On a daily basis we check your project's domain, or, attempt scan your domain's records via whois.

If you wish to be notified of your domain expiring then you need to set a listener with the specific conditions you want for your notification.

SEO Analysis & Health

We run a basic crawl of your project weekly in order to collect it's pages then we run an analysis on them. We look for missing page titles, descriptions, image alt tags, over sized images (> 2MB), bad links (404, 500), and pages with mixed content.

We then take these numbers and generate an app health score, where for each of the items flagged above we remove points from an otherwise 100% score. The health also considers the uptime of your application, and if it has an SSL certificate.

You can enable notifications via listeners for times when your project's health is below a certain value.

API Tokens & Project Keys

All API calls made to Mission Control require an API Token from the user API Tokens page. These tokens identify the user and ensure that the user still has project access. These tokens can be revoked at any time. These tokens should be passed via the header as an Authentication Bearer token.

Project Keys are found in the project settings and can also be reset at any time by the project owner. These keys should be passed in the header of your requests as well as `key`.

The packages listed below handle the incorporation of the tokens and keys headers for you.

Issue Logging

Issue logging can be an incredibly helpful when maintaining applications over extended periods of time. Mission Control enables developers to track exceptions and custom issues in their applications. Unlike other applications which limit you to a certain amount of logs per month, we decided that its better limit you to only keeping the most up to date information.

Calls Per Minute 60

Issues retained simply means that if you exceed the number of issues your subscription allows, we start deleting older ones on a project by project basis. So if one of your projects hits 20,000 and another hits 5,000 then you are at your limit, and any new issues will delete ones automatically from the project. We will notify you if you exceed your subscription limit.

Resolved issues on the other hand are automatically deleted after 30 days.

Check out our package listing below to find the package that best suits your application.

Notifications & Issues Webhooks

The webhook based notifications are for integrating into third-party tools or your own custom scripts. You can easily add them with a simple POST request with a JSON payload. The notifications will be added to the project and can have listeners configured to notify you via your desired system. These notifications can be useful for tracking in app events, or external events like deployments. Webhooks have a rate limit of 60 per minute.

POST
curl --location --request POST 'https://missioncontrolapp.io/api/webhook/{project-uuid}/notify?key={project-key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "title": "Deployment processed",
    "content": "Coming from the deplyment CI tool",
    "tag": "deployment"
}'
GET
curl --location --request GET 'https://missioncontrolapp.io/api/webhook/{project-uuid}/notify?key={project-key}&title=Deployment processed&content=Coming from the deplyment CI tool&tag=deployment'

You can also use the inbound issues webhook for issues that can occur in CI tools, third-party systems or internal JavaScript code.

POST
curl --location --request POST 'https://missioncontrolapp.io/api/webhook/{project-uuid}/issue?key={project-key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "source": "github",
    "message": "PR was just generated",
    "tag": "Pull Request"
}'
GET
curl --location --request GET 'https://missioncontrolapp.io/api/webhook/{project-uuid}/issue?key={project-key}&source=Github&message=Issue logged in issues API&tag=ticket'
SMS Notifications

In order to recieve SMS notifications simply configure your listeners to use SMS as the notification means.

Performance Analytics

Performance analytics is collected via commands in the Mission Control packages that you can add to your application. Unlike apps such as New Relic etc, which have agents that need to be run directly on the server, we find it less complicated to have a simple package which can be added to your application and controlled from there.

Please be aware, that shared servers may report back CPU, Memory and Storage usage that may be impacted by various other website/ applications.

Packages
Please consult the package specific documentation.
Mission Control PHP Package
Mission Control Laravel Package

Our packages are also optimized for Linux based servers only.