traffic-manager-hub
v0.0.4
Published
Web service for aggregation and analysis of your web app traffic (C&C for Traffic Manager Agent).
Downloads
6
Readme
Traffic Manager Hub
Web service for aggregation and analysis of your web app traffic.
Hub is the component that acts as a C&C application (command and control) for Traffic Manager.
Quick start
To install the service globally with npm use the following command in your terminal.
npm install traffic-manager-hub -g
After successful installation you will be able to start Traffic Manager Hub
with tmhub
command in your terminal.
Configuration
This service uses these env vars for configuration:
MONGO_URL
(optional)MONGO_DBNAME
(optional)PORT
(default:4000
)BASE_URL
(default:http://localhost:4000
)
If MONGO_URL and MONGO_DBNAME are not specified a local SQLite will be used as fallback.
Example
MONGO_URL=mongodb://localhost:27017 MONGO_DBNAME=tmhub PORT=8000 BASE_URL=http://tmhub.example.com/ tmhub
Integrating Traffic Manager Hub with your app
To integrate with Traffic Manager Hub you'll need to register your site in the Web UI to obtain Site ID and Site Secret.
Node app
Follow the instructions in traffic-manager-agent package to install Traffic Manager Agent in your app.
Provide URL of your TM Hub instance, Site ID and Site Secret in configuration.
Your application is now being monitored by Traffic Manager.
Other apps
You can integrate Traffic Manager Hub with any application.
Traffic Manager Hub exposes a simple REST API.
All you have to do is to send JSON payload containing requests/events
to /api/v1/:siteId/submitSamples
.
The payload should look like this:
{
"siteSecret": "zN2EY69fmy303MUEs7ZkQv8sqeuFjFEp",
"samples": [
{
"ip": "89.238.154.238",
"url": "http://example.com/wp-login.php",
"userAgent": "SampleUA/1.0.0",
"timestamp": "1552604831677"
},
{
"ip": "89.238.154.238",
"url": "http://example.com/cpanel",
"userAgent": "SampleUA/1.0.0",
"timestamp": "1552604831681"
}
]
}
Set up for development
Clone the repository and install the dependencies (npm install
).
Once that's done you can start the application with node main.js
or npm run start
.