Skip to content

ableev/Zabbix-Screens-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Zabbix-Screens-Controller

Makes screens navigation easy

http://zabbix.local/www10.local&nginx -> http://zabbix.local/screens.php?elementid=55&hostid=10713&groupid=35

The script is created to simplify navigation between Zabbix screens. If you have hundreds/thousands hosts/groups and you have default screen for every host, you probably have "click until death" problem. There also might be problems with your collegues, who don't know anything about zabbix interface.

How it works

  • Nginx catches 404 errors, redirects request to zabbix_screens_controller.php
  • zabbix_screens_controller.php parses URL and redirects to specific screen

How to use it

  • Make sure that ./conf/zabbix.conf.php is available for reading (or change the path), it must contain login and password that are used for zabbix web interface
  • Edit $map_screens, by writing your screens
  • Edit $map_shorts, if necessary, for quicker access to specific screens
  • Put zabbix_screens_controller.php into the zabbix web interface directory
  • For route unknown requests to our controller, add directive error_page 404 to nginx.conf (see example)

Debug

Use argument &debug in case something wrong is happening (redirect doesn't work; URL is not valid).

Aliases / additional hosts

In case your infrastructure has multiple domain records for one server (and these records are not added to zabbix) you can use the map of $rewrites

Examples

  • http://zabbix.local/www1.local - redirects to default 'Linux' screen for host www1.local
  • http://zabbix.local/www1.local&nginx - redirects to 'Nginx' screen for the same host
  • http://zabbx.local/db1.local&m - redirects to 'MySQL Performance' screen (as a shortage) for host db1.local

P.S. If /etc/resolv.conf on Zabbix server contains correct domain and search, all requests can be minimized to:

  • http://zabbix/www1
  • http://zabbix/www1&nginx
  • http://zabbx/db1&m

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΡ€ΠΈΠ·Π²Π°Π½ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ динамичСским скринам Zabbix'Π°.

Если Ρƒ вас нСсколько сотСн/тысяч хостов/Π³Ρ€ΡƒΠΏΠΏ ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ хост сущСствуСт стандартный скрин, Ρ‚ΠΎ, вСроятнСС всСго, Π²Ρ‹ "ΡƒΠΊΠ»ΠΈΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π΄ΠΎ смСрти": Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ скрин, Π³Ρ€ΡƒΠΏΠΏΡƒ, хост; Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ³Ρ€Π΅Π±Π°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Zabbix Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

  • Nginx ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ 404 ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ запрос Π² zabbix_screens_controller.php
  • zabbix_screens_controller.php парсит строчку ΠΈΠ· URL ΠΈ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ скрин

Как ΠΈΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ./conf/zabbix.conf.php доступСн для чтСния (ΠΈΠ»ΠΈ помСняйтС ΠΏΡƒΡ‚ΡŒ), Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠ½-ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π΅Π±-ΠΌΠΎΡ€Π΄Π° Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π±Π°Π·Ρƒ
  • ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ $map_screens, прописав свои скрины
  • Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ - ΠΏΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ $map_shorts, для Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ быстрого доступа ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ скринам
  • ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ zabbix_screens_controller.php Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с web интСрфСйсом zabbix
  • ΠŸΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ error_page 404 Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС нСизвСстныС запросы Ρ€ΠΎΡƒΡ‚ΠΈΠ»ΠΈΡΡŒ Π² наш скрипт (см.ΠΏΡ€ΠΈΠΌΠ΅Ρ€)

Debug

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ &debug Π½Π° случай, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Ρ‘Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ (Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π΅ происходит, ΠΈΠ»ΠΈ ΡƒΡ€Π» формируСтся Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ)

Алиасы / Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ хосты

На случай, Ссли Π² вашСй инфраструктурС встрСчаСтся нСсколько Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΡ‘Π½, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π½Π° ΠΎΠ΄ΠΈΠ½ сСрвСр (ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ записи Π² zabbix Π½Π΅ Π·Π°Π²Π΅Π΄Π΅Π½Ρ‹), прСдусмотрСна ΠΊΠ°Ρ€Ρ‚Π° Ρ‚Π°ΠΊΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ: $rewrites

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

  • http://zabbix.local/www1.local - Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° стандартный Linux скрин для хоста www1.local
  • http://zabbix.local/www1.local&nginx - Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° скрин Nginx для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ хоста
  • http://zabbx.local/db1.local&m - Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° скрин MySQL Performance (Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ записи) для хоста db1.local

P.S. Если Π² /etc/resolv.conf Π½Π° Zabbix сСрвСрС Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½ΡƒΠΆΠ½Ρ‹Π΅ domain ΠΈ search, всС записи ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ:

  • http://zabbix/www1
  • http://zabbix/www1&nginx
  • http://zabbx/db1&m

About

Makes screens navigation easy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages