snipe / snipe-it

A free open source IT asset/license management system
https://snipeitapp.com
GNU Affero General Public License v3.0
11.08k stars 3.18k forks source link

Client agent for end user systems? #9265

Open ReticentRobot opened 3 years ago

ReticentRobot commented 3 years ago

I found this closed thread back from 2017, was wondering if anyone knew of a currently working client/agent for PCs that works with Snipe-IT hosted solution (v 5.x+): https://github.com/snipe/snipe-it/issues/3751

I found something called Scope-IT (https://github.com/Scope-IT/marksman), but it seems it stopped working after version 5 was released. It seemed to rely on a third part API before the official Snipe-IT API was released maybe?

Was wondering if there was anything else out there that I had missed. Thanks!

snipe commented 3 years ago

We've had an API before v5 though.

An agent has always been on the list, but we don't have anything actively in development right now. As you can imagine, it's a pretty messy/complicated thing to build so that it works everywhere.

ReticentRobot commented 3 years ago

Looks like I misread, it's actually not using a third-party API - it's using a .Net wrapper for the official API (https://github.com/Scope-IT/SnipeSharp) - not sure why it has stopped working for Snipe-IT v5+ though (multiple confirmations in the issues section of marksman).

Anyway, yeah I can definitely imagine it's pretty complicated, even this one seems to only run on Windows machines - but would be really cool to have an official agent at some point!

GitHub
Scope-IT/SnipeSharp
A c# wrapper for the Snipe IT API. Contribute to Scope-IT/SnipeSharp development by creating an account on GitHub.
Ng-marelec commented 3 years ago

This is what is stalling the use of SNIPE-IT for us as well.

We are managing somewhat over 600 devices. It's just unbearable to manage this manually.

An agent would be the preferred way to go about. Unfortunately Snipe-IT doesn't have anything usable. Creating an API-based agent is just an enormous development that we should create. So please create some agentlike way to automatically discover/track all the assets. Alternatively some sort of discovery tool (SNMP/WMI/...) should cut it as well.

IMO GoGenuity does this brilliantly. Also the integration with other API-accessible (cloud-)platforms like eg. Cisco Meraki and Aruba Central would be brilliant. Take a peak at what they do. As it is for now, a mix of Snipe-IT (extensive ways of tracking) and GoGenuity (intuitive discovery and automatic syncing) would be our perfect world to manage all our assets.

ParadoxGuitarist commented 3 years ago

It's not officially part of the project, but there's an agent written in go available here: https://github.com/azusapacificuniversity/snipe-agent

Since it's golang you can compile it for macOS/Windows/Linux

GitHub
azusapacificuniversity/snipe-agent
Agent written in GO that updates assets in a Snipe-IT instance with local data. - azusapacificuniversity/snipe-agent
ReticentRobot commented 3 years ago

Perfect! I found a potential fix in the marksman code and submitted it to the contributor of the project - but no response. I think it has been abandoned. While I was able to fix the issue and get the agent running again, I think I'll put that aside and look into deploying your project instead. It looks very nice, and glad to see it is still actively being managed!! Thank you so much for pointing me in that direction.

EDIT: Unfortunately I couldn't figure out how to get the GO agent to add assets, only update them. As I'm more familiar with C# I decided that I would fork off Marksman and SnipeSharp. I have a functioning agent project for Snipe-IT v5.0+ that I'm going to maintain and improve located here: https://github.com/ReticentRobot/SnipeAgent until something official from the Snipe-IT team is released.

ashishsecdev commented 1 year ago

Anyone found the solution for using Snipeit agent or else will need to switch on to GLPI and Fusioninvestory.

ParadoxGuitarist commented 1 year ago

There's a few that I know of, but at least one was written in GO and I've deployed in production and had it working for ~ 400+ machines. Here's a link: https://github.com/azusapacificuniversity/snipe-agent

GitHub
GitHub - azusapacificuniversity/snipe-agent: Agent written in GO that updates assets in a Snipe-IT instance with local data.
Agent written in GO that updates assets in a Snipe-IT instance with local data. - GitHub - azusapacificuniversity/snipe-agent: Agent written in GO that updates assets in a Snipe-IT instance with lo...

@ashishsecdev I just realized I had already posted a link to this. It def works for windows with no issues.

mauro-miatello commented 1 year ago

instead of develop a new agent, maybe it is possible to use one from another system, like osc inventory, creating a "bridge" or a compatibility API to receive data from it

ParadoxGuitarist commented 1 year ago

Yep, those exist too! From the project README:

This was in there too but it isn't cross platform like the other golang one I mentioned before:

  • SnipeAgent by @ReticentRobot - Windows agent for Snipe-IT