액세스 페이지 제한
개요
Zabbix의 웹 페이지에 앱 담당자나 오퍼레이터가 일부 정보만 열람하고 싶지 않은 경우 소스의 PHP 파일을 편집하여 특정 페이지만 열람할 수 있는 환경을 구축할 수 있다.
환경
CentOS 6.5
zabbix2.2
절차
/usr/share/zabbix配下が、zabbixのドキュメントルートとする。
/usr/share/zabbix配下を/usr/share/monitorへコピーする。
# cd /usr/share
# mkdir monitor
# cp -pr zabbix/* monitor/
PHPファイル(/usr/share/monitor/include/menu.inc.php)を編集する。
隠したいページの配列をコメントアウトする。
# vi /usr/share/monitor/include/menu.inc.php
// array(
// 'url' => 'dashboard.php',
// 'label' => _('Dashboard'),
// 'sub_pages' => array('dashconf.php')
// ),
// array(
// 'url' => 'overview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'httpmon.php',
// 'label' => _('Web'),
// 'sub_pages' => array('httpdetails.php')
// ),
array(
'url' => 'latest.php',
'label' => _('Latest data'),
'sub_pages' => array('history.php', 'chart.php')
),
// array(
// 'url' => 'tr_status.php',
// 'label' => _('Triggers'),
// 'sub_pages' => array('acknow.php', 'tr_comments.php', 'chart4.php', 'scripts_exec.php')
// ),
// array(
// 'url' => 'events.php',
// 'label' => _('Events'),
// 'sub_pages' => array('tr_events.php')
// ),
array(
'url' => 'charts.php',
'label' => _('Graphs'),
'sub_pages' => array('chart2.php', 'chart3.php', 'chart6.php', 'chart7.php')
),
array(
'url' => 'screens.php',
'label' => _('Screens'),
'sub_pages' => array('slides.php')
),
// array(
// 'url' => 'maps.php',
// 'label' => _('Maps'),
// 'sub_pages' => array('map.php')
// ),
// array(
// 'url' => 'discovery.php',
// 'label' => _('Discovery'),
// 'user_type' => USER_TYPE_ZABBIX_ADMIN
// ),
// array(
// 'url' => 'srv_status.php',
// 'label' => _('IT services'),
// 'force_disable_all_nodes' => true,
// 'sub_pages' => array('report3.php', 'chart5.php')
// ),
array(
'url' => 'chart3.php'
),
array(
'url' => 'imgstore.php'
),
array(
'url' => 'search.php'
),
array(
'url' => 'jsrpc.php'
)
)
),
// 'cm' => array(
// 'label' => _('Inventory'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'hostinventoriesoverview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'hostinventories.php',
// 'label' => _('Hosts')
// )
// )
// ),
// 'reports' => array(
// 'label' => _('Reports'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'report1.php',
// 'label' => _('Status of Zabbix'),
// 'user_type' => USER_TYPE_SUPER_ADMIN
// ),
// array(
// 'url' => 'report2.php',
// 'label' => _('Availability report')
// ),
// array(
// 'url' => 'report5.php',
// 'label' => _('Triggers top 100')
// ),
// array(
// 'url' => 'report6.php',
// 'label' => _('Bar reports'),
// 'sub_pages' => array('popup_period.php', 'popup_bitem.php', 'chart_bar.php')
// ),
// array(
// 'url
monitor用のZabbixページのApacheの設定ファイルを作成する。
# cp -p /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix-monitor.conf
ファイルを修正します。
# vi /etc/httpd/conf.d/zabbix-monitor.conf
#
# Zabbix monitoring system php web frontend
#
#Alias /zabbix /usr/share/zabbix
Alias /monitor /usr/share/monitor
<Directory "/usr/share/monitor">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
</Directory>
<Directory "/usr/share/monitor/conf">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/api">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include/classes">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
編集後、Apacheを再起動しておきます。
# service httpd restart
뷰어용 사용자, 사용자 그룹을 만듭니다. 다음은 샘플입니다.
여기에서주의해야 할 것은 로그인 후 URL에 "http://Zabbix 서버 IP 주소 "monitor/latest.php"를 지정하는 것입니다.
코멘트 아웃 한 페이지에는 액세스 할 수 없으므로 로그인 후 오류로 출력됩니다.
이것으로 완성입니다.
시청자는 Zabbix에 대한 액세스 권한을 얻었습니다. "http://Zabbix 서버의 IP 주소/monitor'라고 말합시다. 작성한 test 유저로 액세스 해 봅니다.
※ 알고있는 사람은 "http://Zabbix 서버의 IP 주소/zabbix'가 본래의 Zabbix가 액세스하는 장소라고 알고 있으므로, 이쪽도 장소를 바꾸거나, F/W(iptables)나 Apache의 설정으로 액세스 제한을 한다 좋다.
「감시 데이터」아래에 「최신 데이터」, 「그래프」, 「스크린」밖에 없는 것을 확인할 수 있습니다.
Reference
이 문제에 관하여(액세스 페이지 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/domonjo01/items/148624f79a9f923c9480
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CentOS 6.5
zabbix2.2
절차
/usr/share/zabbix配下が、zabbixのドキュメントルートとする。
/usr/share/zabbix配下を/usr/share/monitorへコピーする。
# cd /usr/share
# mkdir monitor
# cp -pr zabbix/* monitor/
PHPファイル(/usr/share/monitor/include/menu.inc.php)を編集する。
隠したいページの配列をコメントアウトする。
# vi /usr/share/monitor/include/menu.inc.php
// array(
// 'url' => 'dashboard.php',
// 'label' => _('Dashboard'),
// 'sub_pages' => array('dashconf.php')
// ),
// array(
// 'url' => 'overview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'httpmon.php',
// 'label' => _('Web'),
// 'sub_pages' => array('httpdetails.php')
// ),
array(
'url' => 'latest.php',
'label' => _('Latest data'),
'sub_pages' => array('history.php', 'chart.php')
),
// array(
// 'url' => 'tr_status.php',
// 'label' => _('Triggers'),
// 'sub_pages' => array('acknow.php', 'tr_comments.php', 'chart4.php', 'scripts_exec.php')
// ),
// array(
// 'url' => 'events.php',
// 'label' => _('Events'),
// 'sub_pages' => array('tr_events.php')
// ),
array(
'url' => 'charts.php',
'label' => _('Graphs'),
'sub_pages' => array('chart2.php', 'chart3.php', 'chart6.php', 'chart7.php')
),
array(
'url' => 'screens.php',
'label' => _('Screens'),
'sub_pages' => array('slides.php')
),
// array(
// 'url' => 'maps.php',
// 'label' => _('Maps'),
// 'sub_pages' => array('map.php')
// ),
// array(
// 'url' => 'discovery.php',
// 'label' => _('Discovery'),
// 'user_type' => USER_TYPE_ZABBIX_ADMIN
// ),
// array(
// 'url' => 'srv_status.php',
// 'label' => _('IT services'),
// 'force_disable_all_nodes' => true,
// 'sub_pages' => array('report3.php', 'chart5.php')
// ),
array(
'url' => 'chart3.php'
),
array(
'url' => 'imgstore.php'
),
array(
'url' => 'search.php'
),
array(
'url' => 'jsrpc.php'
)
)
),
// 'cm' => array(
// 'label' => _('Inventory'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'hostinventoriesoverview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'hostinventories.php',
// 'label' => _('Hosts')
// )
// )
// ),
// 'reports' => array(
// 'label' => _('Reports'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'report1.php',
// 'label' => _('Status of Zabbix'),
// 'user_type' => USER_TYPE_SUPER_ADMIN
// ),
// array(
// 'url' => 'report2.php',
// 'label' => _('Availability report')
// ),
// array(
// 'url' => 'report5.php',
// 'label' => _('Triggers top 100')
// ),
// array(
// 'url' => 'report6.php',
// 'label' => _('Bar reports'),
// 'sub_pages' => array('popup_period.php', 'popup_bitem.php', 'chart_bar.php')
// ),
// array(
// 'url
monitor用のZabbixページのApacheの設定ファイルを作成する。
# cp -p /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix-monitor.conf
ファイルを修正します。
# vi /etc/httpd/conf.d/zabbix-monitor.conf
#
# Zabbix monitoring system php web frontend
#
#Alias /zabbix /usr/share/zabbix
Alias /monitor /usr/share/monitor
<Directory "/usr/share/monitor">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
</Directory>
<Directory "/usr/share/monitor/conf">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/api">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include/classes">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
編集後、Apacheを再起動しておきます。
# service httpd restart
뷰어용 사용자, 사용자 그룹을 만듭니다. 다음은 샘플입니다.
여기에서주의해야 할 것은 로그인 후 URL에 "http://Zabbix 서버 IP 주소 "monitor/latest.php"를 지정하는 것입니다.
코멘트 아웃 한 페이지에는 액세스 할 수 없으므로 로그인 후 오류로 출력됩니다.
이것으로 완성입니다.
시청자는 Zabbix에 대한 액세스 권한을 얻었습니다. "http://Zabbix 서버의 IP 주소/monitor'라고 말합시다. 작성한 test 유저로 액세스 해 봅니다.
※ 알고있는 사람은 "http://Zabbix 서버의 IP 주소/zabbix'가 본래의 Zabbix가 액세스하는 장소라고 알고 있으므로, 이쪽도 장소를 바꾸거나, F/W(iptables)나 Apache의 설정으로 액세스 제한을 한다 좋다.
「감시 데이터」아래에 「최신 데이터」, 「그래프」, 「스크린」밖에 없는 것을 확인할 수 있습니다.
Reference
이 문제에 관하여(액세스 페이지 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/domonjo01/items/148624f79a9f923c9480
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/usr/share/zabbix配下が、zabbixのドキュメントルートとする。
/usr/share/zabbix配下を/usr/share/monitorへコピーする。
# cd /usr/share
# mkdir monitor
# cp -pr zabbix/* monitor/
PHPファイル(/usr/share/monitor/include/menu.inc.php)を編集する。
隠したいページの配列をコメントアウトする。
# vi /usr/share/monitor/include/menu.inc.php
// array(
// 'url' => 'dashboard.php',
// 'label' => _('Dashboard'),
// 'sub_pages' => array('dashconf.php')
// ),
// array(
// 'url' => 'overview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'httpmon.php',
// 'label' => _('Web'),
// 'sub_pages' => array('httpdetails.php')
// ),
array(
'url' => 'latest.php',
'label' => _('Latest data'),
'sub_pages' => array('history.php', 'chart.php')
),
// array(
// 'url' => 'tr_status.php',
// 'label' => _('Triggers'),
// 'sub_pages' => array('acknow.php', 'tr_comments.php', 'chart4.php', 'scripts_exec.php')
// ),
// array(
// 'url' => 'events.php',
// 'label' => _('Events'),
// 'sub_pages' => array('tr_events.php')
// ),
array(
'url' => 'charts.php',
'label' => _('Graphs'),
'sub_pages' => array('chart2.php', 'chart3.php', 'chart6.php', 'chart7.php')
),
array(
'url' => 'screens.php',
'label' => _('Screens'),
'sub_pages' => array('slides.php')
),
// array(
// 'url' => 'maps.php',
// 'label' => _('Maps'),
// 'sub_pages' => array('map.php')
// ),
// array(
// 'url' => 'discovery.php',
// 'label' => _('Discovery'),
// 'user_type' => USER_TYPE_ZABBIX_ADMIN
// ),
// array(
// 'url' => 'srv_status.php',
// 'label' => _('IT services'),
// 'force_disable_all_nodes' => true,
// 'sub_pages' => array('report3.php', 'chart5.php')
// ),
array(
'url' => 'chart3.php'
),
array(
'url' => 'imgstore.php'
),
array(
'url' => 'search.php'
),
array(
'url' => 'jsrpc.php'
)
)
),
// 'cm' => array(
// 'label' => _('Inventory'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'hostinventoriesoverview.php',
// 'label' => _('Overview')
// ),
// array(
// 'url' => 'hostinventories.php',
// 'label' => _('Hosts')
// )
// )
// ),
// 'reports' => array(
// 'label' => _('Reports'),
// 'user_type' => USER_TYPE_ZABBIX_USER,
// 'node_perm' => PERM_READ,
// 'default_page_id' => 0,
// 'pages' => array(
// array(
// 'url' => 'report1.php',
// 'label' => _('Status of Zabbix'),
// 'user_type' => USER_TYPE_SUPER_ADMIN
// ),
// array(
// 'url' => 'report2.php',
// 'label' => _('Availability report')
// ),
// array(
// 'url' => 'report5.php',
// 'label' => _('Triggers top 100')
// ),
// array(
// 'url' => 'report6.php',
// 'label' => _('Bar reports'),
// 'sub_pages' => array('popup_period.php', 'popup_bitem.php', 'chart_bar.php')
// ),
// array(
// 'url
monitor用のZabbixページのApacheの設定ファイルを作成する。
# cp -p /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix-monitor.conf
ファイルを修正します。
# vi /etc/httpd/conf.d/zabbix-monitor.conf
#
# Zabbix monitoring system php web frontend
#
#Alias /zabbix /usr/share/zabbix
Alias /monitor /usr/share/monitor
<Directory "/usr/share/monitor">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
</Directory>
<Directory "/usr/share/monitor/conf">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/api">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/monitor/include/classes">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
編集後、Apacheを再起動しておきます。
# service httpd restart
Reference
이 문제에 관하여(액세스 페이지 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/domonjo01/items/148624f79a9f923c9480텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)