Forum Discussion

DanB's avatar
DanB
Icon for Advisor rankAdvisor
4 years ago
Solved

Is it possible to have two collector instances on one box?

I was wondering is it possible to have 2 collector instances running on the same box? Asking this b/c monitoring SQL Server requires the collector to be running as the actual Windows User that has access to the SQL DB or the jdbc user property cannot be a windows account. It must be a local SQL built in user. We are not getting a local user that's in SQL from our clients and we have a different service account that is for LM monitoring but its not the one we use for SQL access. That's a different user. 

So I was wondering if it was possible to run a 2nd collector instance on the box we have already and have that instance run as the Windows SQL user that has the access to the SQL DB.

  • Anonymous's avatar
    Anonymous
    4 years ago

    Ah, ok, I think see. You have certain devices monitored by the collector, Collector01, which is running with credentials that won't work for those devices. So you'd like to move the work of collection onto another Collector instance that is running with different credentials required to monitor those devices. 

    If that's an accurate understanding: the short answer is still no. You can't have two collectors running on the same box because they'd both try to bind to the same TCP ports for receiving data in response to queries. The answer would be to spin up a VM (either on Collector01 or, if Collector01 is a VM, on the same host as Collector01). This would give each collector the ability to run with different credentials and each would have their own TCP/IP stack to which they could bind listeners.

5 Replies

  • Anonymous's avatar
    Anonymous

    To understand your problem (and over simplify it possibly): you need to collect some data with one set of credentials and other data with another set of credentials and you can't do that because the collector only runs with one set of credentials.  Right?

    The short answer is no. You can't have the same resource monitored by two different Collectors, regardless of where the Collectors are installed. Has support already confirmed that you can't have windows credentials in the jdbc.user/jdbc.pass properties?

    Possible theoretical workaround: as long as LM thinks it's two different devices, you could technically monitor the same object with two different collectors, if they had a different IP addresses...

  • Hi Stu, No let me clarify.  We have Collector01 running and it's monitoring a SQL Box (say SQL001) We have specific AD creds that were created for monitoring this client environment and those creds are specified via the wmi.user\pass properties.
    The jdbc.user\pass properties are also set using the SQL Specific AD user but all the SQL metrics are "NoData" We dont' get anything from SQL Datasource. I mean we see the databases in the Resource Tree under SQL001 but everythings is "NoData"

    We have a different Windows AD SQL Account that we monitor the SQL DB Boxes with today (using other tool UIM) but its a windows account. According to https://www.logicmonitor.com/support/monitoring/applications-databases/microsoft-sql-server the jdbc.mssql.user cannot be a Windows Account. It can only be a local SQL user w/in the SQL DB. That's is a user we will not get. 

    jdbc.mssql.user

    jdbc.mssql.pass
    SQL Server username and password. This cannot be a Windows user account. This account must have the minimum SQL Server permissions described in the previous Provide Credentials section of this support article.


    So in order to monitor the SQL Boxes we need the collector service running as the SQL AD User that has access to the SQL DB's.

    I was asking on the collector box that we have today if we can run a 2nd instance on the same existing Collector01 box, and have that 2nd instance run as the SQL AD User and we throw all the SQL Boxes under that 2nd Collector instance
    That is the issue we found with the SQL Datasource. The LM Collector service has to "Run As" the user that has the access to the SQL DB. We tried specifiying the wmi.user/pass of the SQL User but it didn't work. 



     

  • Anonymous's avatar
    Anonymous

    Ah, ok, I think see. You have certain devices monitored by the collector, Collector01, which is running with credentials that won't work for those devices. So you'd like to move the work of collection onto another Collector instance that is running with different credentials required to monitor those devices. 

    If that's an accurate understanding: the short answer is still no. You can't have two collectors running on the same box because they'd both try to bind to the same TCP ports for receiving data in response to queries. The answer would be to spin up a VM (either on Collector01 or, if Collector01 is a VM, on the same host as Collector01). This would give each collector the ability to run with different credentials and each would have their own TCP/IP stack to which they could bind listeners.

  • I don't think this is a good idea but if the collector does limited work... Most (all?) of the WMI checks will take credentials via the wmi.user and wmi.pass, so perhaps you can flip it around: Setup the LogicMonitor windows services to use the SQL account but then add the wmi.* properties with the monitoring service account details.

    Still think it's a bad idea, would suggest 2 collectors also, but perhaps if the situation is very limited it might make sense. This is something that is also useful when you are dealing with multiple AD domains.

     

  • Thanks Guys for the replies. Just wanted to make sure it isn't possible to have 2 instances on one box.