Ad Widget

Collapse

Script v zabbixu

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kedar700
    Junior Member
    • Aug 2020
    • 21

    #1

    Script v zabbixu

    Dobrý den,
    mám script ktery mi vratí číslo, tento script jsem dal do zabbixu kdy je možnost ho použit na hosta a funguje krasně. Moje otázka je jestli jde udělat aby tento script byl item v templatě aby se co den script pustil sam a trigger mohl hlidat danou hodnotu? Bohužel tato hodnota nema OID abych ji pozoroval jako klasicky SNMP OID. (Script je v PHP)
    Děkuji za rady
  • bitboy
    Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Apr 2014
    • 37

    #2
    Dobrý deň,

    akýkoľvek skript, ktorý vracia konkrétnu hodnotu, je možné použiť na vytvorenie custom itemu na úrovni konfigurácie Zabbix agenta cez tzv. User Parameter v konfiguračnom súbore agenta.
    Následne je možné tento item konfigurovať ako súčasť templateu a načasovať jeho spúštanie na konkrétny interval (napr. 24h) alebo na konkrétny čas.

    Viac tu:


    Comment

    • kedar700
      Junior Member
      • Aug 2020
      • 21

      #3
      Dobrý den,
      chci poděkovat za tak rychlou odpověď, pročetl jsem si to i různé návody ale mám tam asi nějakou chybu kterou jsem neuměl najit. Vytvořil jsem v agentovi user parametr tento parametr jsem otestoval pomoci zabbix_agentd a funguje, pak jsem udělal daší test pomoci zabbix_get to taky funguje ale když zadam ten klič do itemu tak hosti mi začnou psát: Unsupported item key, zkoušel jsem i v itemu nastavit to jako simple check. Jediné proč by to mohlo blbnout mě napada parametr ktery mam zadany takhle check_CHR[{HOST.CONN}] kdy by se měla do scriptu poslat ip adresu na které by se měli dane ukony udělat.
      Moc děkuji za rady.

      Comment

      • bitboy
        Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Apr 2014
        • 37

        #4
        Simple check je nesprávne nastavenie, simple check je vykonávaný na úrovni Zabbix proxy a vôbec neprechádza na agenta.
        Vaše nastavenie by malo byť približne takéto:
        Click image for larger version

Name:	Untitled.png
Views:	247
Size:	13.6 KB
ID:	422586
        Type môže byť Zabbix agent alebo Zabbix agent active. Type of information musí byť nastavený korektne na dátový typ skriptom vracanej hodnoty.

        Skúste tiež vykonať Zabbix get zo Zabbix servera alebo zo Zabbix proxy, cez ktorú agenta monitorujete. Pri volaní itemu cez Zabbix get použite ako argument IP adresu alebo DNS záznam, ktorý využije pri volaní itemu Zabbix server (makro {HOST.CONN} obsahuje IP adresu alebo DNS záznam podľa toho , ako je nastavený host).
        Iné itemy z agenta sú zbierané bez problémov?
        Log file agenta neobsahuje nejaký záznam ohľadom problému získať hodnotu itemu Zabbix serverom/proxy?

        Comment

        • kedar700
          Junior Member
          • Aug 2020
          • 21

          #5
          Dobrý den,
          teď jsem se tomu nějakou dobu nevěnoval a bohužel se mi to nepodařilo zprovoznit. Agent i get mi funguje.Click image for larger version

Name:	linux.PNG
Views:	304
Size:	11.3 KB
ID:	424051
          Na internetu jsem našel nějaké dva zpusoby, jak nastavit skript do Itemu ale ani jedno nezobrazí, žadné data U obrazku se systemm.runem mi to napiše "Unsupported item key." a u check_CHR "/usr/lib/zabbix/externalscripts/check_CHR: [2] No such file or directory" V té složce ten skript je.
          Děkuji za rady


          Click image for larger version

Name:	takto.PNG
Views:	300
Size:	13.8 KB
ID:	424053 Click image for larger version

Name:	nebo takto.PNG
Views:	305
Size:	10.2 KB
ID:	424052

          Comment

          • GreenHorn
            Member
            • Nov 2020
            • 54

            #6
            Zdravím všechny
            mám dotaz, zda jde zavést script bez použití zabbix agenta. Jde o zavedení skriptu pro NetApp na kontroly některých funkcí. Potřeboval bych script zavést přes Proxy na koncové hostitele, kde nejsou agenti, tj. na NetApp, kde agenty nenainstaluju. Takže snad jen přes Itemy SNMP agenta? Kdybych chtěl použít složitější script, je možnost nechat číst zabbix nějaký soubor nebo se to musí poskládat na základě maker?

            Díky
            Last edited by GreenHorn; 21-05-2021, 08:59.

            Comment


            • GreenHorn
              GreenHorn commented
              Editing a comment
              Dobrý den,
              asi jsem to našel. Myslím, že by to mělo jít přes Administration - script a případně přes Item hosta a zvolit type script. Prosím případně jen o potvrzení a předem.
              Děkuji
              Last edited by GreenHorn; 21-05-2021, 09:01.

            • bitboy
              bitboy commented
              Editing a comment
              Dobý deň. Pokúsim sa túto problematiku vysvetliť čo najjednoduchšie a detaily potom nájdete v dokumentácii.

              Ak chcete spustiť nejaký skript na Zabbix proxy serveri, cez ktorý je monitorovaný konkrétny host, tak je to možné urobiť dvomi spôsobmi:
              1) Pomocou itemu typu External check - v tomto prípade ide o spustenie skriptu na Zabbix proxy, cez ktorú je host monitorovaný za účelom zberu údajov cez item na tomto hoste pre účely monitoringu.
              2) Pomocou tzv. Scriptu (Administration - Scripts) - v tomto prípade ide o skript aktivovaný užívateľom priamo cez grafické rozhranie napr.pri prezeraní otvorených problémov alebo pri prezentovaní stavu hostov v grafickom rozhraní. Skript sa teda spúšťa na žiadosť operátora a jeho výstup sa len odprezentuje na obrazovke a nikam sa neukladá (v novej verzii 5.4 je ešte jedna nová možnosť - automatizované spúšťanie skriptov).

              Je teda na vás rozhodnúť, či výstup skriptu chcete v pravidelných intervaloch zbierať a ukladať do databázy (prvá možnosť) alebo poskytnúť možnosť užívateľovi na požiadanie získať výstup skriptu.
              Last edited by bitboy; 21-05-2021, 10:31.
          • kedar700
            Junior Member
            • Aug 2020
            • 21

            #7
            Vyřešeno pomocí přime cesty ke skriptu, a funguje to krásně

            Comment

            • GreenHorn
              Member
              • Nov 2020
              • 54

              #8
              Ahoj/Dobrý den ,
              chtěl jsem se zeptat, zda nevíte jak vyřešit můj problém. Chtěl jsem pomocí skriptu monitorovat commvault na Windows. Doinstaloval jsem powershell modul pro commvault, a nasadil skript. Když skript spustím lokálně z Windows, tak mi skript krásně funguje, ale když jdu přes Agenta Zabbix (v 5.2.7), tak mi vyjede hlášení:

              ValidateResponse :
              Status:
              Message: The response content cannot be parsed because the Internet Explorer engine is not available, or Internet
              Explorer's first-launch configuration is not complete. Specify the UseBasicParsing parameter and try again.
              ErrorMessage:
              RecommendedAction:
              At C:\Program Files\WindowsPowerShell\Modules\Commvault.RESTSess ion\2.0.21\Commvault.RESTSession.psm1:560 char:13
              + ValidateResponse $response $output $ValidateProperty
              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
              + CategoryInfo : NotSpecified: ( [Write-Error], WriteErrorException
              + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException, ValidateResponse

              Get-CVSessionDetail : Invalid CommServe session token: Please login to CommServe with Connect-CVServer
              At C:\Program Files\WindowsPowerShell\Modules\Commvault.JobManag er\2.0.9\Commvault.JobManager.psm1:131 char:31
              + ... $sessionObj = Get-CVSessionDetail $MyInvocation.MyCommand.Name
              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              + CategoryInfo : OperationStopped: ( [Get-CVSessionDetail], Exception
              + FullyQualifiedErrorId : CVPS_ERROR_ID.1002,Get-CVSessionDetail


              Snažil jsem přidat dané řádky, které vypisuje hláška do daných souborů, i parametr -UseBasicParsing (nejsem si úplně jist kde,ale zkoušel jsem přímo do klíče i do skriptu i do daných souborů). Ale neměl jsem žádný úspěch.

              Zkusil jsme tyto fóra:




              nic lepšího jsem nenašel.

              Použil jsem tento klíč: system.run[powershell.exe -NoLogo -NonInteractive -File "C:\Program Files\Zabbix Agent 2\Z-Agent-script\Job2.ps1"]
              Když použiji powershell přímo jen v rámci OS, tak mi to jede pěkně i přes Agenta, ale jakmile se hlásím i do Commvault, tak mi zabbix konči na této hlášce. Zatím jsem to obešel přes Bat soubor, ale ten mi nedává tolik informací jako příkaz v powershell.

              Děkuji za radu.

              Comment

            Working...