OR
Allow all the traffic to the following hosts. These are required for the operation of this integration:
Before you deploy and implement the Lumu Integration, you need to prepare your Kaseya deployment to ensure the integration works as expected.
A Kaseya BMS issue type is required for ease of management. To create a dedicated issue type for Lumu, log in to your Kaseya BMS instance with an administrator user, and follow these steps:
1. Click on the Admin menu.
2. Click on the Issue Types menu under the Service Desk section.
3. Click on the + New button. Fill in the required data and save the custom Issue Type for Lumu.
We recommend you use a custom role dedicated to running the Lumu integration. To create it, log in to your Kaseya BMS instance with an administrator user, and follow these steps:
1. Click on the Admin menu.
2. Click on the Roles menu under the Security section.
3. Click on the + New button. Fill in the required information. Make sure you mark the Has API Access option under the Special Features section. Save your new custom role.
We recommend you create a dedicated user of type API Employee to operate the integration. To create it, log in to your Kaseya BMS instance with an administrator user, and follow these steps:
1. Click on the Admin menu.
2. Click on the Employees menu under the HR section.
3. Click on the + New button. Fill in the mandatory fields, and set the User Type field as API Employee. Make sure you use a valid email address to reset the user’s password.
Finally, you need to link the integration user with the security role created in the previous steps. Log in to your Kaseya BMS instance with an administrator user, and follow these steps:
1. Click on the Admin menu.
2. Click on the Roles menu under the Security section.
3. Click on the role created in previous steps.
4. Click on the Role User tab.
5. Click on the Add button.
6. Select the user created for the integration using the checkbox near the user.
7. Click on the OK button
The integration requires this complementary information:
To collect the account name and its location, use an administrator user in your Kaseya BMS console, and follow these steps:
1. Click on the Admin menu.
2. Click on the Accounts menu under the CRM section.
3. Click on the desired account. Then, click on the Locations tab.
4. Identify the location you want to associate your Lumu detections with.
The integration creates a Service Desk Ticket for each detection. You must define the Queue and the priority you want to use for them. Log in to your Kaseya BMS console with an administrator user, and follow these steps:
1. Click on the Admin menu.
2. Click on the Queues menu under the Service Desk section.
3. Identify the queue you want to use for Lumu Service Desk Tickets.
Now, let’s collect the Priority to use.
1. Click on the Admin menu.
2. Click on the Priorities menu under the Service Desk section.
3. Identify the queue you want to use for Lumu Service Desk Tickets.
The integration set-up process needs you to collect this information from Lumu portal:
Log in to your Lumu portal and run the following procedures to collect these data.
To collect the Lumu Defender API key, refer to the Defender API document.
To collect your Lumu company UUID, log in to your Lumu portal. Once you are in the main window, copy the string below your company name.
There are 2 environment options to deploy the script, select the one that best fits your current infrastructure.
Whichever alternative you select, you need to first unpack the integration package shared by our Support team.
Unpack the deployment package provided by Lumu in your preferred path/folder. Keep in mind this location, as it will be required for further configurations. From now on, we will refer to this folder as <app_lumu_root>.
To set up the integration, you need to add and edit a configuration file. This file contains all the parameters needed to run properly. The configuration file looks as follows:
-
lumu:
uuid: <COMPANY UUID>
defender_key: <DEFENDER API KEY>
app:
Priority: <PRIORITY>
Queue: <QUEUE>
IssueType: <CUSTOM ISSUE TYPE FOR LUMU>
AccountName: <TICKET’S CRM ACCOUNT NAME>
AccountLocation: <TICKET’S CRM ACCOUNT LOCATION>
TicketType: "Incident"
TicketSource: "Monitoring System"
StatusNewTicket: "New"
StatusEventMap:
NewIncidentCreated: "New"
IncidentClosed: "Completed"
IncidentMuted: "Waiting For Customer"
IncidentUnmuted: "In Progress"
StatusActionMap:
mute: "Waiting For Customer"
close: "Completed"
unmute: "In Progress"
api:
username: <API USERNAME>
password: <API USER PASSWORD>
tenant: <API USER COMPANY| TENANT NAME>
hostname: <BMS INSTANCE HOSTNAME> # bms.kaseya.com | bmsemea.kaseya.com | na1bmspreview.kaseya.com | bmsapac.kaseya.com
-
COMPANY 2
-
COMPANY 3
-
…
Replace the values according to your environment based on the collected data from previous steps, using these indications:
To deploy the integration as script, you need to run the install.sh script inside the integration package.
To run the installation script, go to the app_lumu_root folder, then execute this line through CLI.
The installation script will set up the Python environment and an auxiliary cron job.
To use the script, you must locate yourself on the path selected for deployment (<app_root_path>). Use the following command to show help command line
Usage: kaseya_lumu.py [options]
Options | Description |
-h, --help | show this help message and exit |
--config CONFIG | default: companies.yml, CONFIG FILE PATH of the companies, follow the nex YML template. |
-v, --verbose | the flag means DEBUG mode, by default is INFO mode |
-l {screen,file}, --logging {screen,file} | logs output on command line or file |
--hours HOURS | To keep db log record from [x hours], for auto maintenance purpose |
Use the following command to listen to Lumu operational events and manage service tickets in your Kaseya BMS instance:
The application will run reading the CONFIG file and keep the preceding HOURS tickets/incidents, by default 720 (30 days)
Use the option --logging=file to store a record of all tasks run by the script. Using this, all the script output will be redirected to a file named lumu.log in the folder where you have deployed the script.
The above samples can be combined according to your needs.
To identify failures on the script execution, use the -v flag to activate DEBUG logs.
The application runs one instance at a time. The script will block multiple attempts to run the same integration if one is already running. If this is the case, the following message appears.
Stopping the integration 3084245, it might have another older instance running, check if is feasible or not
older pid: 3078797 - cwd: /home/lumu/Documents/repos/lumu-kaseya-bms - since: 2023-10-30 11:39:24.840000
cmdline: /home/lumu/Documents/repos/lumu-kaseya-bms/venv310/bin/python /home/lumu/Documents/repos/lumu-kaseya-bms/kaseya_lumu.py
The integration can be deployed in a docker environment. To do so, run the following commands located in the integration folder:
1. Build the Docker image
docker build --build-arg APP_CONFIG=<YAML FILE> --tag python-lumu-kaseya .Do not forget the dot "."2. Create and run the Docker container
docker run --restart unless-stopped -d --name lumu-kaseya python-lumu-kaseya
For troubleshooting purposes, you can run the following commands:
To log in to your container using an interactive shell:
To collect integration logs:
After running the script, the list of the incidents mapping to tickets are held in the Tickets window in the Service Desk section.
Any updates and status changes will be reflected in the Details and the Comment section of the ticket