Ad Widget

Collapse

Setting up a Trigger for Idle Users logged into Servers

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tehrev
    Junior Member
    • Feb 2019
    • 5

    #1

    Setting up a Trigger for Idle Users logged into Servers

    Hello,

    I'm really new to Zabbix and am looking to setup a trigger that will warn me when a User has been logged into one of my servers and has been idle for over 15 minutes. Is there a way to do that? Currently I have an item that just shows me the users who are currently logged in. It looks like this

    Click image for larger version

Name:	Capture.PNG
Views:	546
Size:	31.7 KB
ID:	374961

    The output looks like this

    Click image for larger version

Name:	Capture.PNG
Views:	518
Size:	20.0 KB
ID:	374962

    So is there anyway to alert me when Idle time is over 15 minutes as you can see in the example above the user is logged in over 24 minutes idle.

    Any help would be greatly appreciated.

    Thanks.
  • poxeron
    Member
    • Sep 2020
    • 52

    #2
    Did you resolve this issue ?

    Comment

    • tehrev
      Junior Member
      • Feb 2019
      • 5

      #3
      No I have not

      Comment


      • poxeron
        poxeron commented
        Editing a comment
        I will share with you my way.
        Last edited by poxeron; 25-03-2021, 22:07.
    • poxeron
      Member
      • Sep 2020
      • 52

      #4
      1) PowerShell scripts as USER PARAM. my called "user_idle_time.ps1"

      function Get-QUserInfo
      {
      [CmdletBinding()]
      Param (
      [Parameter ()]
      [string[]]
      $ComputerName = $env:COMPUTERNAME
      )

      begin
      {
      $Header = 'UserName','SessionName','ID','State','IdleTime',' LogonTime'
      $No_Connection = '-- No Connection --'

      }

      process
      {
      foreach ($CN_Item in $ComputerName)
      {
      if (Test-Connection -ComputerName $CN_Item -Count 1 -Quiet)
      {
      quser /server:$CN_Item |
      Select-Object -Skip 1 |
      ForEach-Object {($_ -replace '\s{2,}', ',').Trim()} |
      ConvertFrom-Csv -Header $Header |
      ForEach-Object {
      if ($_.IdleTime -eq 'none')
      {
      $IdleTime = $Null
      }
      else
      {

      $IdleTime = $_.IdleTime
      }
      [PSCustomObject]@{
      ComputerName = $CN_Item
      UserName = $_.UserName
      SessionName = $_.SessionName
      ID = $_.ID
      State = $_.State
      IdleTime =$IdleTime
      LogonTime = [datetime]$_.LogonTime
      }
      }
      }
      else
      {
      [PSCustomObject]@{
      ComputerName = $CN_Item
      UserName = $No_Connection
      SessionName = $No_Connection
      ID = $No_Connection
      State = $No_Connection
      IdleTime = $No_Connection
      LogonTime = $No_Connection

      }
      }
      } # end >> foreach ($CN_Item in $ComputerName)
      } # end >> process {}

      end {}

      } # end >> function Get-QUserInfo



      Get-QUserInfo -ComputerName LocalHost

      Comment

      • poxeron
        Member
        • Sep 2020
        • 52

        #5
        Click image for larger version

Name:	image_18686.png
Views:	508
Size:	33.3 KB
ID:	421530 Click image for larger version

Name:	image_18687.png
Views:	483
Size:	10.3 KB
ID:	421531
        2) add route to zabbix config file
        UserParameter=user.idle.time[*],powershell -NoP -NonI -executionpolicy bypass "& {&'PATH:\TO\Scripts\user_idle_time.ps1'}"

        3) create Item
        Last edited by poxeron; 26-03-2021, 13:05.

        Comment

        • poxeron
          Member
          • Sep 2020
          • 52

          #6
          Click image for larger version

Name:	image_18688.png
Views:	483
Size:	21.6 KB
ID:	421533 4) create separate dependence items for login, computer, idle time
          Last edited by poxeron; 26-03-2021, 13:03.

          Comment

          • poxeron
            Member
            • Sep 2020
            • 52

            #7
            Click image for larger version

Name:	image_18689.png
Views:	479
Size:	35.4 KB
ID:	421535 Click image for larger version

Name:	image_18690.png
Views:	482
Size:	20.6 KB
ID:	421536
            5) like on pictures
            Last edited by poxeron; 26-03-2021, 13:03.

            Comment

            • poxeron
              Member
              • Sep 2020
              • 52

              #8
              Click image for larger version

Name:	image_18691.png
Views:	495
Size:	42.2 KB
ID:	421538 6) create trigger. I could not fine where in PowerShell script i get the (.) but i use it in trigger.
              Last edited by poxeron; 26-03-2021, 13:03.

              Comment

              • poxeron
                Member
                • Sep 2020
                • 52

                #9
                7) Enjoy
                Click image for larger version

Name:	image_2021-03-25_160505.png
Views:	484
Size:	34.5 KB
ID:	421541 Click image for larger version

Name:	image_2021-03-25_160533.png
Views:	483
Size:	9.8 KB
ID:	421542

                Comment

                Working...