рд╕рдм рдХреБрдЫ рдореЙрдирд┐рдЯрд░ рдХрд░реЗрдВ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░

рдЕрдЧрд░ рд╣рдореЗрдВ Zabbix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдФрд░ рдЕрдиреНрдп рдХрдореНрдкреНрдпреВрдЯрд░реАрдХреГрдд рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдПрд╕рдПрдирдПрдордкреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬреЛ рдЬрд╝реИрдмрд┐рдХреНрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдореЛрд░реА рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рд╕рд░реНрд╡рд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╣рдореЗрдВ SNMP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрд╣реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдПрдЬреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЕрд╡рд▓реЛрдХрди рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЪрд▓рд╛рдПрдВрдЧреЗред рдЕрд╡рд▓реЛрдХрди рдХрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реАрдкреАрдпреВ рд▓реЛрдбрд┐рдВрдЧ, рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ, рд╕рд╛рде рд╣реА рдкреЗрдЪреАрджрд╛ рд╡рд╛рд▓реЗ рдЬреИрд╕реЗ рд╕рд░рд▓ рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреИрд╕реЗ рд░реЛрдЯреЗрд╢рди рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкрд╛рда рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдпрд╛ рдЗрд╕ рддрдереНрдп рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдХрд┐ рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рдмрджрд▓ рдЧрдИ рд╣реИред рддреБрдо рднреА рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рд╕реА рднреА рдордирдорд╛рдирд╛ рдЖрджреЗрд╢ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╝реИрдмрд┐рдХреНрд╕ рдПрдЬреЗрдВрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рдмрдврд╝рддреА рд╣реИрдВред

рдЫрд╡рд┐

рдпрджрд┐ рд╣рдо Zabbix рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ Zabbix рдПрдЬреЗрдВрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ? рдЬрдм рддрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ? рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИред

рд╕рд░реНрд╡рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЬрд╝реИрдмрд┐рдХреНрд╕ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрдИ рдорд╛рдирдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рддрдирд╛ рдХрд┐ рд╣рдорд╛рд░реА рдХрд▓реНрдкрдирд╛ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рд╕рдордп рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╣рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ UserParameter рдФрд░ zabbix_sender рд╣реИрдВред рдкрд╣рд▓реЗ рдПрдХ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╕реНрдорд╛рд░реНрдЯ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреА рд╕реНрдерд┐рддрд┐ рдХреИрд╕реЗ рдПрдХрддреНрд░ рдХрд░реЗрдВ рдФрд░ рдореЙрдирд┐рдЯрд░ рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди рдкрд░ рдирдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдереЛрдбрд╝рд╛ рдореИрдЯрд░рд┐рдпрд▓


рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдПрдЬреЗрдВрдЯ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ UserParameter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдПрдХ рдирдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рдХрд╛рдо рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:


UserParameter=<>,<> 
рдЬрд╣рд╛рдВ:

<рдХреБрдВрдЬреА> рдПрдХ рдЕрдиреВрдард╛ рдирд╛рдо рд╣реИ рдЬреЛ рд╣рдо рдЦреБрдж рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред Zabbix рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
<рдХрдорд╛рдВрдб> рдореЙрдирд┐рдЯрд░ рдХрд┐рдП рдЧрдП рд╣реЛрд╕реНрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рд╣реИред

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рд░ рдорд╛рдирдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ:

 UserParameter=system.test,who|wc -l 

рддреЛ, рдХреБрдВрдЬреА system.test рд╣реИ , рдФрд░ рд╣рдо рдХреМрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ | wc -l , рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЦреБрд▓реЗ рд╕рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдпрд╣ рд▓рд╛рдЗрди рд╣реИ, рддреЛ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЬреЛрдбрд╝реЗрдВ (рдпрд╛ рди рдЬреЛрдбрд╝реЗрдВ)ред


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдмрдирд╛рдПрдБ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдЫрд╡рд┐

рдФрд░ рдлрд┐рд░ рдХреБрдВрдЬреА рдХреЛ рдЙрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рдФрд░ Zabbix рдПрдЬреЗрдВрдЯ рдХрд╛ рдкреНрд░рдХрд╛рд░ :

рдЫрд╡рд┐

рд╣рдо рдирд╡реАрдирддрдо рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

UserParameter рдХреЗ рдЬрд░рд┐рдП SMART рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ


рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдереЛрдбрд╝рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдорд╛рдирдХ рдХреБрдВрдЬреА system.users.num рд╣реИ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рддреЛ рдЕрдм рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рджрд┐рдЦрддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдпрджрд┐ рдбрд┐рд╕реНрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ RAID рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкреАрдЫреЗ рд╣реИрдВ, рддреЛ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдбрд┐рд╕реНрдХ рдХреЛ "рдирд╣реАрдВ" рджреЗрдЦрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдпрд╛ рдПрд╕рдПрдирдПрдордкреА рдЙрдк-рдПрдЬреЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ RAID рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд╕рд╛рде рдХреГрдкрдпрд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ (рдпрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛)ред рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ред
  2. рдпрджрд┐ рд╣рдо рд╕рд┐рд░реНрдл рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ RAID рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбрд┐рд╕реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ рд╣рдо рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред рдЬрд╝реИрдмрд┐рдХреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдорд╛рд░реНрдЯрдореЛрдЯрд▓реЙрд▓реНрд╕ рдкреИрдХреЗрдЬ рд╕реЗ рд╕реНрдорд╛рд░реНрдЯрдХреНрд▓реЗрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдбреЗрдмрд┐рдпрди рдкрд░, SMARTMONTOOLS рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдлреЛрдбрд╝реЗ:

 sudo apt-get install smartmontools 

рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрдж рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ SMART рд╕рдХреНрд╖рдо рд╣реИ:

 sudo smartctl -i /dev/sda | grep SMART SMART support is: Available - device has SMART capability. SMART support is: Enabled 

рдпрджрд┐ рдЕрдЪрд╛рдирдХ SMART рдбреНрд░рд╛рдЗрд╡ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдмрдВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ:

 sudo smartctl -s on -S on -o on /dev/sda smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF ENABLE/DISABLE COMMANDS SECTION === SMART Enabled. SMART Attribute Autosave Enabled. SMART Automatic Offline Testing Enabled every four hours. 

рдЕрдм рд╣рдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реНрдорд╛рд░реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 sudo smartctl -H /dev/sda |grep "test"| cut -f2 -d: |tr -d " " 

рдпрд╣ рд╡рд╣ рдЖрджреЗрд╢ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреЗ zabbix_agentd.conf рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ:

 UserParameter=uHDD.health,sudo smartctl -H /dev/sda |grep "test"| cut -f2 -d: |tr -d " " 

рдЬрд╣рд╛рдБ uHDD.health рдХреБрдВрдЬреА рд╣реИред

рд▓рдЪреАрд▓реЗ UserParameter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SMART рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ


рдпрд╣ рдЙрдЪрд┐рдд рдкреНрд░рд╢реНрди рдЙрдард╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рджреЛ рдбрд┐рд╕реНрдХ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА UserParameter рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рдЕрднреА рддрдХ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреБрд░рдВрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 UserParameter=uHDD.health.[*],sudo smartctl -H /dev/$1 |grep "test"| cut -f2 -d: |tr -d " " 

Zabbix рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ, рдХреБрдВрдЬреА рдореЗрдВ, рд╣рдо * рдХреЗ рдмрдЬрд╛рдп рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рд╣рдо рдПрд╕рдбреАрдП рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдПрд╕рдбреАрдмреА рдХреЗ рд▓рд┐рдП ред рдХрдорд╛рдВрдб рдореЗрдВ, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдЪрд░ $ 1 рдЦрдбрд╝рд╛ рд╣реИ ред

рдЫрд╡рд┐

рджреВрд╕рд░реА рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛ рддрддреНрд╡ рдмрдирд╛рдПрдБ:

рдЫрд╡рд┐

рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж рд╣рдо рдирд╡реАрдирддрдо рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ :

рдЫрд╡рд┐

рдХрдо-рд╕реНрддрд░реАрдп рдбрд┐рд╕реНрдХрд╡рд░реА рдХреЗ рд╕рд╛рде рд▓рдЪреАрд▓реЗ UserParameter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SMART рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ


рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХ рд╡рд╛рдЬрд┐рдм рд╕рд╡рд╛рд▓ рдпрд╣ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдбрд┐рд╕реНрдХ рджреЛ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдмреАрд╕рд┐рдпреЛрдВ рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣рдЪрд╛рди (рдПрд▓рдПрд▓рдбреА) рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдмрд╛рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ ред

рдирд┐рдореНрди-рд╕реНрддрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдб рдкрд░ рдХрд┐рддрдиреЗ рд╕рдорд╛рди рддрддреНрд╡ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рддрддреНрд╡, рдЯреНрд░рд┐рдЧрд░ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рддреЗ рд╣реИрдВред рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ SNMP OID рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдорд╛рдирдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреВрд░рдХ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрддреНрд╡ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдПрдХ рдЫреЛрдЯреА рд╕реА рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ, smartctl-disks-discovery.pl ред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдбрд┐рд╕реНрдХ рдХреЛ рдЦреЛрдЬреЗрдЧрд╛ рдФрд░ JSON рдореЗрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛, рдпрд╣ рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ SMART рд╕рдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ SMART рдХреЛ рд╕реНрд╡рдпрдВ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рднреА рдХрд░рддрд╛ рд╣реИ:

 #!/usr/bin/perl #must be run as root $first = 1; print "{\n"; print "\t\"data\":[\n\n"; for (`ls -l /dev/disk/by-id/ | cut -d"/" -f3 | sort -n | uniq -w 3`) { #DISK LOOP $smart_avail=0; $smart_enabled=0; $smart_enable_tried=0; #next when total 0 at output if ($_ eq "total 0\n") { next; } print "\t,\n" if not $first; $first = 0; $disk =$_; chomp($disk); #SMART STATUS LOOP foreach(`smartctl -i /dev/$disk | grep SMART`) { $line=$_; # if SMART available -> continue if ($line = /Available/){ $smart_avail=1; next; } #if SMART is disabled then try to enable it (also offline tests etc) if ($line = /Disabled/ & $smart_enable_tried == 0){ foreach(`smartctl -i /dev/$disk -s on -o on -S on | grep SMART`) { if (/SMART Enabled/){ $smart_enabled=1; next; } } $smart_enable_tried=1; } if ($line = /Enabled/){ $smart_enabled=1; } } print "\t{\n"; print "\t\t\"{#DISKNAME}\":\"$disk\",\n"; print "\t\t\"{#SMART_ENABLED}\":\"$smart_enabled\"\n"; print "\t}\n"; } print "\n\t]\n"; print "}\n"; 


рдЬрдм рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рд╣реЛрддреА рд╣реИ:
 $ /usr/local/bin/smartctl-disks-discovery.pl 

 { "data":[ { "{#DISKNAME}":"md0", "{#SMART_ENABLED}":"0" }, { "{#DISKNAME}":"md1", "{#SMART_ENABLED}":"0" }, { "{#DISKNAME}":"sda", "{#SMART_ENABLED}":"1" }, { "{#DISKNAME}":"sdb", "{#SMART_ENABLED}":"1" }] } 

рдЕрдм, рдЬрд╝реИрдмрд┐рдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╕ рдПрдХ рдФрд░ UserParameter рдЬреЛрдбрд╝рдХрд░ zabbix_agentd.conf :

 UserParameter=uHDD.discovery,sudo /usr/local/bin/smartctl-disks-discovery.pl 

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЬрд╛рдПрдВ, рдЬрд╣рд╛рдВ рд╣рдо рд╕реНрдорд╛рд░реНрдЯрдХреНрдЯреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдЦреЛрдЬ рдирд┐рдпрдо рдмрдирд╛рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдХреБрдВрдЬреА рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, ({#SMART_ENABLED} = 1) рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХреЗрд╡рд▓ рдЙрди рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдбреНрд░рд╛рдЗрд╡ рдЬреЛ SMART рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗред рдЕрдм рд╣рдо sda рдФрд░ sdb рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреЛ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдореНрд╕ рдХреЛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдбреНрд░рд╛рдЗрд╡ рдирд╛рдо рдХреЛ рдореИрдХреНрд░реЛ {#DISKNAME} рд╕реЗ рдмрджрд▓рдХрд░:

рдЫрд╡рд┐

рдЕрдВрддрд┐рдо, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдЙрди рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЪрд▓рд╛ рд╕рдХреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ zabbix_agentd.conf рдореЗрдВ рд░реВрдЯ рдФрд░ рдореЙрдиреАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо / etc / sudoers рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

 zabbix ALL= (ALL) NOPASSWD: /usr/sbin/smartctl,/usr/local/bin/smartctl-disks-discovery.pl 

рдореИрдВ рдмрд╛рдХреА рдбреЗрдЯрд╛ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде SMART рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ, рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднреАред

рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдирдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг


Windows рдкрд░ рд╕реНрдерд╛рдкрд┐рдд Zabbix рдПрдЬреЗрдВрдЯ рдХреЛ UserParameter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдорд╛рд░реНрдЯрдХреНрдЯреЗрд▓ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдЗрдП рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдХрд╛рд░реНрдп рд╣рд░ рдмрд╛рд░ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреА vbs рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:

uDiffPrograms.vbs
 'KNOWN ISSUE: If Application name conatins '-' symbol then e-mail alert containing software list will be sent all on one line instead of each packet on a single line variable=InstalledApplications(".") 'WScript.Echo strConvert(variable,"Windows-1251","cp866") Const ForReading = 1 zabbix_dir="C:\zabbix\" Set objFSO = CreateObject("Scripting.FileSystemObject") 'Create old file if does not exist If objFSO.FileExists(zabbix_dir&"uDiffPrograms_old.txt")=0 Then Set objFile4 = objFSO.CreateTextFile(zabbix_dir&"uDiffPrograms_old.txt") objFile4.WriteLine variable objFile4.Close Call ConvertCharsetFile("0x0") WScript.Quit End if 'Create 'new' file Set objFile3 = objFSO.CreateTextFile(zabbix_dir&"uDiffPrograms_new.txt") objFile3.WriteLine variable objFile3.Close 'Compare old and new files Set objArgs = Wscript.Arguments Set objFile5= objFSO.GetFile(zabbix_dir&"uDiffPrograms_new.txt") Set objFile6 = objFSO.GetFile(zabbix_dir&"uDiffPrograms_old.txt") If objFile5.Size <> objFile6.Size Then ' Wscript.Echo "The file is different." Else 'Wscript.Echo "They are the same." objFSO.DeleteFile zabbix_dir&"uDiffPrograms_new.txt" Call ConvertCharsetFile("0x0") WScript.Quit End If 'Search for removed applications Set objFile2 = objFSO.OpenTextFile(zabbix_dir&"uDiffPrograms_old.txt", ForReading) Do Until objFile2.AtEndOfStream strAddress2 = objFile2.ReadLine If InStr(variable, strAddress2&vbCrLf) = 0 Then strNotCurrent2 = strNotCurrent2 & strAddress2 & vbCrLf End If Loop objFile2.Close 'Search for installed applications Set objFile1 = objFSO.OpenTextFile(zabbix_dir&"uDiffPrograms_old.txt", ForReading) oldvar = objFile1.ReadAll objFile1.Close objFSO.DeleteFile zabbix_dir&"uDiffPrograms_old.txt" Set objFile2 = objFSO.OpenTextFile(zabbix_dir&"uDiffPrograms_new.txt", ForReading) Do Until objFile2.AtEndOfStream strAddress = objFile2.ReadLine If InStr(oldvar, strAddress&vbCrLf) = 0 Then strNotCurrent = strNotCurrent & strAddress & vbCrLf End If Loop objFile2.Close 'Rename C:\zabbix\uDiffPrograms_new.txt to C:\zabbix\uDiffPrograms_old.txt objFSO.MoveFile zabbix_dir&"uDiffPrograms_new.txt" , zabbix_dir&"uDiffPrograms_old.txt" 'Output if strNotCurrent <> "" and strNotCurrent2 <> "" then Call ConvertCharsetFile("   :" & vbCrLf & strNotCurrent & vbCrLf & "   :" & vbCrLf & strNotCurrent2) Wscript.Quit End if if strNotCurrent <> "" then Call ConvertCharsetFile("   :" & vbCrLf & strNotCurrent) End if if strNotCurrent2 <> "" then Call ConvertCharsetFile("   :" & vbCrLf & strNotCurrent2) End If Function InstalledApplications(node) '''with Versions Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE Set oRegistry = GetObject("winmgmts://" _ & node & "/root/default:StdRegProv") sBaseKey = _ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" iRC = oRegistry.EnumKey(HKLM, sBaseKey, arSubKeys) For Each sKey In arSubKeys iRC = oRegistry.GetStringValue( _ HKLM, sBaseKey & sKey, "DisplayName", sValue) If iRC <> 0 Then oRegistry.GetStringValue _ HKLM, sBaseKey & sKey, "QuietDisplayName", sValue End If If sValue <> "" and instr(sValue, "KB")=0 Then 'instr(sValue, "KB")=0 - to exlude KB-indexed Microsoft Patches If instr(InstalledApplications, sValue&vbCrLf)=0 then 'and instr(InstalledApplications, sValue&vbCrLf)=0 - to exlude possible dublicates InstalledApplications = _ InstalledApplications & sValue & vbCrLf End If End If Next End Function Function ConvertCharsetFile(input) Const adTypeBinary = 1 Const adTypeText = 2 Const bOverwrite = True Const bAsASCII = False 'Write to temp file Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FileExists( zabbix_dir&"uDiffPrograms_temp.txt" ) Then objFSO.DeleteFile zabbix_dir&"uDiffPrograms_temp.txt" Set objFile3 = objFSO.CreateTextFile(zabbix_dir&"uDiffPrograms_temp.txt") objFile3.WriteLine input objFile3.Close Dim oFS : Set oFS = CreateObject( "Scripting.FileSystemObject" ) Dim sFFSpec : sFFSpec = oFS.GetAbsolutePathName( zabbix_dir&"uDiffPrograms_temp.txt" ) Dim oFrom : Set oFrom = CreateObject( "ADODB.Stream" ) Dim sFrom : sFrom = "windows-1251" Dim oTo : Set oTo = CreateObject( "ADODB.Stream" ) Dim sTo : sTo = "utf-8" oFrom.Type = adTypeText oFrom.Charset = sFrom oFrom.Open oFrom.LoadFromFile sFFSpec oTo.Type = adTypeText oTo.Charset = sTo oTo.Open oTo.WriteText oFrom.ReadText oFrom.Close If oFS.FileExists( sFFSpec ) Then oFS.DeleteFile sFFSpec oTo.SaveToFile sFFSpec oTo.Close End Function '============================================================================= 


Zabbix рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ UserParameter рдЬреЛрдбрд╝реЗрдВ:

 UserParameter=uDiffPrograms, cscript.exe /nologo "C:\zabbix\uDiffPrograms.vbs" & type C:\zabbix\uDiffPrograms_temp.txt 

рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ:

рдЫрд╡рд┐

рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ:

рдЫрд╡рд┐

рдФрд░ рдИ-рдореЗрд▓ рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ :

рдЫрд╡рд┐

рдкреВрд░реА рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ: рд╣рд░ рдШрдВрдЯреЗ рдЬрд╝реИрдмрд┐рдХреНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рджреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреА рд╣реИ: рд╡рд░реНрддрдорд╛рди рдФрд░ рдкрд┐рдЫрд▓реЗ рдПрдХред рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд┐рдЦрддреА рд╣реИред рдпрджрд┐ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВ, рддреЛ 0x0 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ

рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА Zabbix рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ uDiffProgramms рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдХрд╛ рдорд╛рди 0x0 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╣реЛрдиреЗ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ ред рдлрд┐рд░ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЗрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рд╣рдЯрд╛рдП рдЧрдП рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрддрд╛ рд╣реИ:



рдЕрдВрдд рдореЗрдВ


UserParameter рд╕рд┐рд╕реНрдЯрдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдФрд░ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рд╡рд░реНрде рдЙрд▓реНрд▓реЗрдЦ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: zabbix_sender, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЬрдм рдЖрдкрдХреЛ Zabbix рдХреЛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ UserParameter рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдХреБрдЫ рдИрд╡реЗрдВрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░; рдФрд░ system.run [] , рдЬреЛ UserParameter рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рднреА рдПрдЬреЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЗрд╕ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдо рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╝реИрдмрд┐рдХреНрд╕ 2.2 рдХреА рдЕрдЧрд▓реА рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ, рдПрдЬреЗрдВрдЯ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдирдпрд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╣реИ рдкреНрд▓рдЧ-рдЗрди ред рдЗрд╕рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ!

рдЗрд╕рд▓рд┐рдП, рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдЗрд╕реЗ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In196218/


All Articles