glpi-project / glpi-agent

GLPI Agent
GNU General Public License v2.0
212 stars 51 forks source link

This is not a bug, but it is a suggestion for integration with rmm #700

Open sistemmsn opened 2 days ago

sistemmsn commented 2 days ago

Bug reporting acknowledgment

Not applicable

Professional support

None

Describe the bug

Hello, as I told you, this is not a bug, simply an integration with the glpi agenda where it detects the id of the rmm just as they did with meshcentral #163

image

image

image

To reproduce

N/A

Expected behavior

N/A

Operating system

Windows

GLPI Agent version

1.9

GLPI version

10.0.15

GLPIInventory plugin or other plugin version

Not applicable

Additional context

No response

sistemmsn commented 2 days ago

https://glpi.userecho.com/communities/1/topics/2308-remote-monitering-and-management-integration-tactical-rmm

g-bougard commented 1 day ago

Hello @sistemmsn

thank you for your suggestion.

That's really easy to add with the shared datas. I prepared a TacticalRMM.pm module you can test: TacticalRMM.pm.zip

Just copy it under C:\Program Files\GLPI-Agent\perl\agent\GLPI\Agent\Task\Inventory\Generic\Remote_Mgmt folder.

Then can you report the output of the following command run from an administrative console and from the glpi-agent installation folder:

glpi-inventory --partial remote_mgmt

Then with that output, you should be able to open a glpi issue to request the remote management link creation for the tacticalrmm type.

Before merging the module, and as I saw linux & MacOS are also supported, do you know how to get the AgentID for that cases ?

g-bougard commented 1 day ago

Just tested on my WindowsEval VM and here is the result:

{
   "action": "inventory",
   "content": {
      "bios": {
         "bdate": "2006-12-01",
         "biosserial": "0",
         "bmanufacturer": "innotek GmbH",
         "bversion": "VirtualBox",
         "mmanufacturer": "Oracle Corporation",
         "mmodel": "VirtualBox",
         "msn": "0",
         "smanufacturer": "innotek GmbH",
         "smodel": "VirtualBox",
         "ssn": "32eed9c2-204c-42a1-a97e-a6ef2ce44b4f"
      },
      "hardware": {
         "chassis_type": "Other",
         "memory": 8175,
         "name": "WinDev2404Eval",
         "uuid": "32EED9C2-204C-42A1-A97E-A6EF2CE44B4F",
         "vmsystem": "VirtualBox",
         "winlang": "1033",
         "winowner": "Windows User",
         "winprodid": "00329-20000-00001-AA673",
         "winprodkey": "7HBDQ-QNKVG-K4RBF-HMBY6-YG9R6",
         "workgroup": "WORKGROUP"
      },
      "remote_mgmt": [
         {
            "id": "ksAVartDRIqqtvaklsrqliKuGNmymjkVjRtfrtXw",
            "type": "tacticalrmm"
         }
      ],
      "versionclient": "GLPI-Inventory_v1.10-dev"
   },
   "deviceid": "WinDev2404Eval-2024-07-01-10-59-39",
   "itemtype": "Computer",
   "partial": true
}

You can use it on a GLPI issue to request the expected link.

g-bougard commented 1 day ago

Hi @sistemmsn

in the format, we can also add a version string in the case it can be relevant. Do you know how to get it ?

silversword411 commented 1 day ago

Great work, looking good!

g-bougard commented 17 hours ago

Thank you, but do you have any answer to my questions ?

  1. how to get AgentID on linux ?
  2. how to get AgentID on MacOS ?
  3. how to get version ? Maybe a command to run ?

And don't forget to eventually open a GLPI issue to request Remote management link update. You'll have to explain how to generate the URL: clearly how to find the base URL on which to add the found AgentID.

sistemmsn commented 9 hours ago

Hi @sistemmsn

in the format, we can also add a version string in the case it can be relevant. Do you know how to get it ?

image

.\tacticalrmm.exe --help Usage of C:\Program Files\TacticalAgent\tacticalrmm.exe: -agent-type string server or workstation (default "server") -api string API URL -auth string Token -cert string Path to domain CA .pem -client-id int Client ID -desc string Agent's Description -insecure Insecure for testing only -local-mesh string Path to mesh executable -log string The log level (default "INFO") -logto string Where to log to (default "file") -m string The mode to run -meshdir string Path to custom meshcentral dir -meshnodeid string Mesh Node ID -natsport string nats standard port -nomesh Do not install mesh agent -p int Task PK -ping Enable ping -power Disable sleep/hibernate -proxy string Use a http proxy -rdp Enable RDP -silent Do not popup any message boxes during installation -site-id int Site ID -timeout duration Installer timeout (seconds) (default 900ns) -version Prints version .\tacticalrmm.exe -version

sistemmsn commented 8 hours ago

Thank you, but do you have any answer to my questions ?

  1. how to get AgentID on linux ?
  2. how to get AgentID on MacOS ?
  3. how to get version ? Maybe a command to run ?

And don't forget to eventually open a GLPI issue to request Remote management link update. You'll have to explain how to generate the URL: clearly how to find the base URL on which to add the found AgentID.

I'm afraid that for these versions for Linux and Mac you need a license hehehe let me see if I can get the payment authorized and I will gladly give you retro thanks