Project Neith is intended to provide an extensible and modular dashboard which conveys important information concisely and enables actions on monitored systems.
In order to make this a flexible solution I want it to be easy for people to create integrations and be able to easily benefit from the integrations of others. Enabling new technologies should be simple and a rough process will be outlined below.
1) Go to a 'Integrate new technology' page.
2) Be presented with a dropdown of existing templates
3) Select an item from the dropdown (AD, VMware, Cylance, etc.)
4) Be prompted for the required parameters to query/integrate the technology (API keys, username/pw, hostname/clustername/ip)
5) On submitting the data have it create the appropriate tables in the database if required
6) Create and register the appropriate scheduled tasks for data collection if required (prompted?)
7) Create or move the 'dashboards' for the technology to the active pages location. Adjust the -Pages @($pages) array to include the new pages for the technology.
The process for developing a new technology integration should be something like the following.
1) Create a new entry in the technology dropdown array
2) Add a row to the technology required parameters table which includes the various required parameters (true/false)
3) Write a database loading script which creates tables for the technology integration (ie. vmware hosts, cpu count, # of vms, etc.)
4) Write a script to register a scheduled task for data collection and database loading
5) Create a dashboard and place it in the `/templates/dashboards/ folder
In order to make this a flexible solution I want it to be easy for people to create integrations and be able to easily benefit from the integrations of others. Enabling new technologies should be simple and a rough process will be outlined below.
1) Go to a 'Integrate new technology' page. 2) Be presented with a dropdown of existing templates 3) Select an item from the dropdown (AD, VMware, Cylance, etc.) 4) Be prompted for the required parameters to query/integrate the technology (API keys, username/pw, hostname/clustername/ip) 5) On submitting the data have it create the appropriate tables in the database if required 6) Create and register the appropriate scheduled tasks for data collection if required (prompted?) 7) Create or move the 'dashboards' for the technology to the active pages location. Adjust the
-Pages @($pages)
array to include the new pages for the technology.The process for developing a new technology integration should be something like the following. 1) Create a new entry in the technology dropdown array 2) Add a row to the technology required parameters table which includes the various required parameters (true/false) 3) Write a database loading script which creates tables for the technology integration (ie. vmware hosts, cpu count, # of vms, etc.) 4) Write a script to register a scheduled task for data collection and database loading 5) Create a dashboard and place it in the `/templates/dashboards/ folder