笔记
创建和/或编辑配置文件时,请记住以下几点:
- 以“#”字符开头的行将被视为注释,并且不会被处理
- 变量名称必须从行首开始-名称前不允许有空格
- 变量名称区分大小写
提示:当您遵循快速入门安装指南时,将为您安装一个示例CGI配置文件(/usr/local/nagios/etc/cgi.cfg)。
配置文件位置
默认情况下,Nagios Core期望CGI配置文件命名为cgi.cfg,并且与主配置文件一起位于配置文件目录中。如果需要更改文件名或其位置,则可以配置Apache以将名为NAGIOS_CGI_CONFIG的环境变量(指向正确的位置)传递给CGI。有关如何执行此操作的信息,请参见Apache文档。
配置文件变量
您将在下面找到每个主要Nagios Core配置文件选项的说明…
格式: | main_config_file = <文件名> |
例: | main_config_file = / usr / local / nagios / etc / nagios.cfg |
这指定了主配置文件的位置。CGI需要知道在哪里可以找到此文件,以获取有关配置信息,当前主机和服务状态等的信息。
格式: | physical_html_path = <路径> |
例: | physical_html_path = / usr / local / nagios / share |
这是Nagios的HTML文件保存在工作站或服务器上的物理路径。Nagios假定文档和图像文件(由CGI使用)分别存储在名为docs /和images /的子目录中。
格式: | url_html_path = <路径> |
例: | url_html_path = / nagios |
如果在通过Web浏览器访问Nagios时,指向诸如http://www.myhost.com/nagios之类的URL ,则此值应为/ nagios。基本上,它是用来访问Nagios HTML页面的URL的路径部分。
格式: | use_authentication = <0/1> |
例: | use_authentication = 1 |
此选项控制CGI在确定用户有权访问的信息和命令时是否使用身份验证和授权功能。我强烈建议您对CGI使用身份验证功能。如果您决定不使用身份验证,请确保删除命令CGI,以防止未经授权的用户向Nagios发送命令。如果禁用了身份验证,CGI将不会向Nagios发出命令,但是为了安全起见,我建议完全将其删除。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
- 0 =不使用身份验证功能
- 1 =使用身份验证和授权功能(默认)
格式: | default_user_name = <用户名> |
例: | default_user_name =访客 |
设置此变量将定义可以访问CGI的默认用户名。这允许安全域内(即,在防火墙后面)的人员访问CGI,而不必向Web服务器进行身份验证。如果您不使用安全服务器,则可能希望使用此方法来避免使用基本身份验证,因为基本身份验证会通过Internet以明文形式传输密码。
重要说明: 待办事项不,除非你正在运行一个安全的Web服务器,并确保每个人谁有权访问的的CGI已经以某种方式验证定义默认的用户名!如果定义此变量,则未通过Web服务器身份验证的任何人都将继承您分配给该用户的所有权限!
格式: | authorized_for_system_information = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_system_information = nagiosadmin,老板 |
|
|
格式: | authorized_contactgroup_for_system_information == <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_system_information =管理员,支持 |
|
这些是用逗号分隔的可查看扩展信息CGI中系统/过程信息的已认证用户或联系人组的名称的列表。这些列表中的用户和组不会自动获得发布系统/过程命令的权限。如果希望用户或组也能够发出系统/过程命令,则必须将它们添加到authorized_for_system_commands或authorized_contactgroup_for_system_commands变量中。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_system_commands = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_system_commands = nagiosadmin |
|
格式: | authorized_contactgroup_for_system_commands = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_system_commands =管理员,支持 |
|
这些是可以通过命令CGI发出系统/处理命令的已认证用户和联系人组的名称的逗号分隔列表。这些列表中的用户和组没有自动查看系统/过程信息的权限。如果希望用户或组也能够查看系统/进程信息,则必须将它们添加到authorized_for_system_information或authorized_contactgroup_for_system_information变量中。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_configuration_information = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_configuration_information = nagiosadmin |
|
格式: | authorized_contactgroup_for_configuration_information = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_configuration_information =管理员 |
|
这些是可以用配置CGI查看配置信息的已认证用户和联系人组的名称的逗号分隔列表。此列表中的用户和组可以查看有关所有已配置主机,主机组,服务,联系人,联系人组,时间段和命令的信息。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_all_hosts = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_all_hosts = nagiosadmin,theboss |
|
格式: | authorized_contactgroup_for_all_hosts = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_all_hosts =管理员,支持 |
|
这些是用逗号分隔的列表,其中包含可以查看所有主机的状态和配置信息的已认证用户和联系人组的名称。此列表中的用户和组也自动获得查看所有服务信息的权限。没有自动授权此列表中的用户和组为所有主机或服务发出命令。如果希望用户或组也能够对所有主机和服务发出命令,则必须将它们添加到authorized_for_all_host_commands或authorized_contactgroups_for_all_host_commands变量中。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_all_host_commands = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_all_host_commands = nagiosadmin |
|
格式: | authorized_contactgroup_for_all_host_commands = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_all_host_commands =管理员 |
|
这些是可以用命令CGI为所有主机发出命令的已认证用户和联系人组的名称的逗号分隔列表。此列表中的用户和组也被自动授权为所有服务发出命令。没有自动授权此列表中的用户和组查看所有主机或服务的状态或配置信息。如果希望用户也能够查看所有主机和服务的状态和配置信息,则必须将它们添加到authorized_for_all_hosts或authorized_contactgroup_for_all_hosts变量中。可以找到有关如何为CGI设置身份验证和配置授权的更多信息。在这里。
格式: | authorized_for_all_services = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_all_services = nagiosadmin,theboss |
|
格式: | authorized_contactgroup_for_all_services = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_all_services =管理员,支持 |
|
这些是用逗号分隔的列表,其中包含可以查看所有服务的状态和配置信息的已认证用户或联系人组的名称。没有自动授权此列表中的用户或组查看所有主机的信息。此列表中的用户或组没有自动授权为所有服务发出命令。如果你希望用户或联络小组,以便能够为大家服务发出命令,以及,你必须将它们添加到authorized_for_all_service_commands authorized_contactgroup_for_all_service_commands变量。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_all_service_commands = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_all_service_commands = nagiosadmin |
|
格式: | authorized_contactgroup_for_all_service_commands = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_all_service_commands =管理员 |
|
这些是可以用命令CGI发出所有服务命令的已认证用户和联系人组名称的逗号分隔列表。没有自动授权此列表中的用户和组为所有主机发出命令。没有自动授权此列表中的用户和组查看所有主机的状态或配置信息。如果希望用户或组也能够查看所有服务的状态和配置信息,则必须将它们添加到authorized_for_all_services或authorized_contactgroup_for_all_services中变量。可以在此处找到有关如何为CGI设置身份验证和配置授权的更多信息。
格式: | authorized_for_read_only = <用户1>,<用户2>,<用户3>,… <用户n > |
例: | authorized_for_read_only =约翰,马克 |
|
格式: | authorized_contactgroup_for_read_only = <组1 > ,<组2>,<组3>,… <组n > |
例: | authorized_contactgroup_for_read_only =接待员,销售 |
|
在CGI中具有只读权限的用户名和联系人组的逗号分隔列表。这将阻止通常在extinfo CGI页面上显示的任何服务或主机命令。它还将阻止注释显示给只读用户或组。
格式: | lock_author_names = [0/1] |
例: | lock_author_names = 1 |
通过此选项,您可以限制用户在通过Web界面提交评论,确认和计划的停机时间时更改作者名称。如果启用此选项,则用户将无法更改与命令请求关联的作者名称。
- 0 =允许用户在提交命令时更改作者名称
- 1 =禁止用户更改作者姓名(默认)
格式: | statusmap_background_image = <图像文件> |
例: | statusmap_background_image = smbackground.gd2 |
如果使用用户提供的坐标布局方法,则 此选项允许您指定要在状态图CGI中用作背景的图像。背景图像在任何其他布局方法中均不可用。假定图像位于HTML图像路径中(即/ usr / local / nagios / share / images)。通过在“ physical_html_path”指令指定的路径后附加“ / images”,可以自动确定该路径。注意:图像文件可以是GIF,JPEG,PNG或GD2格式。但是,建议使用GD2格式(最好采用未压缩格式),因为它会减少CGI生成地图图像时的CPU负载。
格式: | color_transparency_index_r = <0-255> color_transparency_index_g = <0-255> color_transparency_index_b = <0-255>
|
例: | color_transparency_index_r = 255 color_transparency_index_g = 255 color_transparency_index_b = 255
|
这些选项使用状态图CGI设置背景色的r,g,b值,因此无法显示真实png透明度的普通浏览器将所需的颜色设置为背景色(使其看起来很漂亮)。默认为白色:(R,G,B)=(255,255,255)。
格式: | default_statusmap_layout = <布局编号> |
例: | default_statusmap_layout = 4 |
此选项允许您指定状态图CGI使用的默认布局方法。有效选项包括:
<layout_number>值 | 布局方法 |
---|
0 | 用户定义的坐标 |
1个 | 深度层 |
2 | 折叠树 |
3 | 平衡树 |
4 | 圆 |
5 | 圆(已标记) |
6 | 圆形(气球) |
格式: | statuswrl_include = <vrml_file> |
例: | statuswrl_include = myworld.wrl |
此选项允许您将自己的对象包括在生成的VRML世界中。假定该文件位于physical_html_path指令指定的路径中。注意:此文件必须是完全合格的VRML世界(即,您可以在VRML浏览器中单独查看它)。
格式: | default_statuswrl_layout = <布局编号> |
例: | default_statuswrl_layout = 4 |
该选项允许您指定statuswrl CGI使用的默认布局方法。有效选项包括:
<layout_number>值 | 布局方法 |
---|
0 | 用户定义的坐标 |
2 | 折叠树 |
3 | 平衡树 |
4 | 圆 |
格式: | refresh_rate = <rate_in_seconds> |
例: | refresh_rate = 90 |
此选项使您可以为status,statusmap和extinfo CGI指定页面刷新之间的秒数。
格式: | host_unreachable_sound = <声音文件> host_down_sound = <声音文件> service_critical_sound = <声音文件> service_warning_sound = <声音文件> service_unknown_sound = <声音文件>
|
例子: | host_unreachable_sound = hostu.wav host_down_sound = hostd.wav service_critical_sound = critical.wav service_warning_sound = warning.wav service_unknown_sound = unknown.wav
|
这些选项使您可以指定在查看状态CGI时出现问题时应在浏览器中播放的音频文件。如果有问题,将播放最关键问题类型的音频文件。问题中最严重的类型是在主机上或无法访问的主机上,而最不严重的是一个或多个服务处于未知状态(请参见上面示例中的顺序)。假定音频文件位于HTML目录的media /子目录中(即/ usr / local / nagios / share / media)。
格式: | ping_syntax = <命令> |
例: | ping_syntax = / bin / ping -n -U -c 5 $ HOSTADDRESS $ |
此选项确定尝试从WAP接口ping主机(使用statuswml CGI)时应使用哪种语法。您必须包括ping二进制文件的完整路径以及所有必需的选项。$ HOSTADDRESS $宏替换为命令执行前的主机地址。
格式: | escape_html_tags = [0/1] |
例: | escape_html_tags = 1 |
此选项确定主机和服务(插件)输出中的HTML标记是否在CGI中转义。如果启用此选项,则插件输出将无法包含可点击的超链接。
格式: | notes_url_target = [目标] |
例: | notes_url_target = _空白 |
此选项确定应在其中显示URL的框架目标的名称。有效选项包括_blank,_self,_top,_parent或任何其他有效目标名称。
格式: | action_url_target = [目标] |
例: | action_url_target = _空白 |
此选项确定应在其中显示操作URL的框架目标的名称。有效选项包括_blank,_self,_top,_parent或任何其他有效目标名称。
格式: | enable_page_tour = [0/1] |
例: | enable_page_tour = 1 |
此选项使您可以启用/禁用屏幕右下方显示的页面浏览。有效选项包括0或1,默认启用。版本:4.4.0+
格式: | enable_splunk_integration = [0/1] |
例: | enable_splunk_integration = 1 |
此选项确定是否在Web界面中启用了与Splunk的集成功能。如果启用,将在CGI中的各个位置(日志文件,警报历史记录,主机/服务详细信息等)显示“ Splunk It”链接。如果您想研究出现特定问题的原因,则很有用。有关Splunk的更多信息,请访问http://www.splunk.com/。
格式: | splunk_url = <路径> |
例: | splunk_url = http://127.0.0.1:8000 / |
此选项用于定义Splunk界面的基本URL。如果启用了enable_splunk_integration选项,则CGI在创建链接时将使用此URL 。