Ad Widget

Collapse

Monitorizar trabajos SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Monitorizar trabajos SQL

    Hola a todos,
    Soy nuevo por este foro y en Zabbix. Me gustaría que alguien me pudiera ayudar para poder monitorizar los trabajos que tengo configurados en el SQL, Solo quiero que me indique si se hace bien o mal. Probe varias plantillas pero no soy capaz de que me funcione.

    Gracias!

    #2
    Hola, podría especificar un poco más lo que usted necesita? No entendía muy bien cuáles serían esos trabajos y lo que usted quisiera monitorear.
    (translated by Google)

    Comment


      #3
      Hola brunohl. En SQL tengo configurados trabajos de copias de las base de datos. Lo que quiero es monitorizar el resultado de los agentes de trabajo (SQL Server Agent Jobs) para saber si se hacen bien las copias

      Comment


        #4
        Lo tengo. No sé si puedo ayudarte.

        Usted tiene alguna herramienta de CLI para hacer esta comprobación hoy?
        ¿Cómo asegura manualmente que esta copia tuvo éxito?
        (translated by Google)

        Comment


          #5
          Buenas,
          Tengo este script, como puedo hacer para ponerlo que Zabbix?

          # Query to get a MS SQL agent job status.

          Param(
          [string]$instName,
          [string]$jobName
          )


          if ($instName -and $jobName)
          {
          $fullInstanceName = if ($instName -eq 'MSSQLSERVER') { $env:computername } else { "$env:computername\$instName" }
          $connectionString = "Server = $fullInstanceName; Integrated Security = True;"

          # Create a new connection object with that connection string
          $connection = New-Object System.Data.SqlClient.SqlConnection
          $connection.ConnectionString = $connectionString
          # Try to open our connection, if it fails we won't try to run any queries
          try
          {
          $connection.Open()
          }
          catch
          {
          Write-Host "255"
          $DataSet = $null
          $connection = $null
          }
          try
          {
          # Only run our queries if connection isn't null
          if ($connection -ne $null)
          {
          # Create a MS SQL request
          $SqlCmd = New-Object System.Data.SqlClient.SqlCommand
          # Select the current instance name and job status
          # where job = the job that was passed on the cmdline
          $SqlCmd.CommandText = "IF EXISTS
          (SELECT TOP 1 JH.run_status
          FROM msdb.dbo.sysjobhistory AS JH LEFT JOIN msdb.dbo.sysjobs AS J ON JH.job_id = J.job_id
          WHERE J.name = '$jobName' AND JH.step_name = '(Job outcome)')
          SELECT TOP 1 JH.run_status
          FROM msdb.dbo.sysjobhistory AS JH LEFT JOIN msdb.dbo.sysjobs AS J ON JH.job_id = J.job_id
          WHERE J.name = '$jobName' AND JH.step_name = '(Job outcome)'
          ORDER BY JH.run_date DESC, JH.run_time DESC
          ELSE
          SELECT 11 AS 'run_status'"
          $SqlCmd.Connection = $Connection
          $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
          $SqlAdapter.SelectCommand = $SqlCmd
          $DataTable = New-Object System.Data.DataTable
          $SqlAdapter.Fill($DataTable) > $null
          $Connection.Close()
          }
          }
          catch
          {
          # If our query failed, set our dataset to null
          Write-Host "Error executing query on $fullInstance!"
          $DataTable = $null
          }
          # We get a set of job status. Append them to the job name variable.
          if ($DataTable -and $DataTable.Rows.Count)
          {
          Write-Host $DataTable.Rows[0].run_status
          }
          }

          Comment


            #6
            Si yo fuera usted, haría lo siguiente:

            Instalar el Zabbix Agent en el servidor que va a monitorear las copias de seguridad;
            Crearía este script de CLI en su servidor que supervisará las copias de seguridad, con el nombre de ejemplo (check-backup) y crear un UserParameter para ejecutar este script y devolver algún valor a Zabbix Server.
            https://www.zabbix.com/documentation...userparameters

            Comment

            Announcement

            Collapse
            No announcement yet.
            Working...
            X