Nagiosの個別プロファイルの詳細
24210 ワード
以下、各プロファイルの詳細について説明します.
インストールの本文を表示するにはここをクリックしてください
a.templates.cfgファイル
Nagiosは主にホストリソースおよびサービスを監視するために使用され、nagios構成ではオブジェクトと呼ばれ、いくつかの監視オブジェクトを繰り返し定義する必要がないように、Nagiosはテンプレートプロファイルを導入し、いくつかの共通の属性をテンプレートとして定義し、複数回の参照を容易にします.これがtemplates.cfgの役割です.
次にtemplates.cfgファイルの各パラメータの意味を詳しく説明します.
b. resource.cfgファイル
resource.cfgはnagiosの変数定義ファイルで、ファイルの内容は1行しかありません.
ただし、変数$USER 1$はnagiosプラグインをインストールするパスを指定しており、プラグインを別のパスにインストールした場合は、ここで変更するだけです.変数は、他のプロファイルで参照する前に定義する必要があります.
c.commands.cfgファイル
このファイルはデフォルトで存在し、変更する必要はありません.もちろん、新しいコマンドが追加される場合は、このファイルを追加します.
d. hosts.cfgファイル
このファイルはデフォルトでは存在しません.手動で作成する必要があります.hosts.cfgは主に監視されているホストアドレスと関連属性情報を指定するために使用されます.実験目標に基づいて以下のように構成されています.
注:/etc/nagios/objectsのデフォルトにはlocalhost.cfgとwindows.cfgの2つのプロファイルがあります.localhost.cfgファイルは監視ホスト自体を定義し、windows.cfgファイルはwindowsホストを定義し、hostと関連servicesの定義が含まれています.そこで今回の実験ではlocalhost.cfgで直接モニタホスト(Nagios-Server)を定義し,windows.cfgでwindowsホスト(Nagios-Windows)を定義する.必要に応じて、関連する構成を変更します.詳細は次のとおりです.
localhost.cfg
windows.cfg
e. Services.cfgファイル
このファイルはデフォルトでは存在しません.手動で作成する必要があります.services.cfgファイルは、httpサービス、ftpサービス、ホストディスク領域、ホストシステム負荷の監視など、監視サービスとホストリソースを定義するために主に使用されます.Nagios-ServerおよびNagios-Windows関連サービスは、対応するプロファイルで定義されているため、ここではNagios-Linux関連サービスを定義するだけでよい.ここでは、プロファイルの正確性を検証するために生存するかどうかを検出するサービスのみを定義し、他のサービスの定義は後述する.
f. contacts.cfgファイル
contacts.cfgは、監視されているホストまたはサービスに障害が発生した場合、nagiosが指定した通知方式(メールまたはメール)によって、ここで指定した連絡先または使用者に情報を送信する連絡先と連絡先グループを定義するプロファイルです.
g. timeperiods.cfgファイル
このファイルは、モニタリングの期間を定義するために使用される限り、次の構成の例です.
#24 x 7という名前の期間を定義します.つまり、すべての期間を監視します.
#workhoursという名前の期間、すなわち作業期間を定義します.
h. cgi.cfgファイル
このファイルは、関連するcgiスクリプトを制御するために使用されます.nagiosのwebモニタリングインタフェースでcgiスクリプトを実行したい場合は、nagiosプロセスの再起動、nagios通知のクローズ、nagiosホスト検出の停止など、cgi.cfgファイルを構成する必要があります.nagiosのwebモニタリングインタフェースはユーザーがdavidであることを検証するため、cgi.cfgファイルにこのユーザーの実行権限を追加するだけでいいので、変更する構成情報は以下の通りです.
添付ファイルは私の生産環境のプロファイルを表示します
インストールの本文を表示するにはここをクリックしてください
a.templates.cfgファイル
Nagiosは主にホストリソースおよびサービスを監視するために使用され、nagios構成ではオブジェクトと呼ばれ、いくつかの監視オブジェクトを繰り返し定義する必要がないように、Nagiosはテンプレートプロファイルを導入し、いくつかの共通の属性をテンプレートとして定義し、複数回の参照を容易にします.これがtemplates.cfgの役割です.
次にtemplates.cfgファイルの各パラメータの意味を詳しく説明します.
define contact{
name generic-contact ;
service_notification_period 24x7 ; , , "24x7" timeperiods.cfg
host_notification_period 24x7 ; , , "24x7" timeperiods.cfg
service_notification_options w,u,c,r ; “ ”。w warn, ,u unknown, ;
; c criticle, ,r recover, ;
; 、 、 。
host_notification_options d,u,r ; ,d down, ;
; u unreachable, ,r recovery, 。
service_notification_commands notify-service-by-email ; , , , ;
; “notify-service-by-email” commands.cfg 。
host_notification_commands notify-host-by-email ; , , , ;
; “notify-host-by-email” commands.cfg 。
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}
define host{
name generic-host ; , , ;
; 。
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; 0 1, Nagios ;
; 1, Nagios , 。
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_period 24x7 ; “ ” , 。
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
define host{
name linux-server ;
use generic-host ; use , generic-host linux-server ;
; nagios , 。
check_period 24x7 ; check_period nagios
check_interval 5 ; nagios , 5 。
retry_interval 1 ; , 。
max_check_attempts 10 ; nagios , nagios , ;
; , , , ;
; 10 10 。
check_command check-host-alive ; , “check-host-alive” commands.cfg 。
notification_period 24x7 ; , , “workhours” timeperiods.cfg ;
; 。
notification_interval 10 ; , ,nagios 。 ;
; , , 0
notification_options d,u,r ; ,d down, ;
; u unreachable, ;
; r recovery, 。
contact_groups ts ; , “admins” contacts.cfg 。
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
define host{
name windows-server ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, Windows servers are monitored round the clock
check_interval 5 ; Actively check the server every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each server 10 times (max)
check_command check-host-alive ; Default command to check if servers are "alive"
notification_period 24x7 ; Send notification out at any time - day or night
notification_interval 10 ; Resend notifications every 30 minutes
notification_options d,r ; Only send notifications for specific host states
contact_groups ts ; Notifications get sent to the admins by default
hostgroups windows-servers ; Host groups that Windows servers should be a member of
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
define service{
name generic-service ;
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized;
; (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile 0 ; The service is not volatile
check_period 24x7 ; check_period nagios 。
max_check_attempts 3 ; nagios 。
normal_check_interval 5 ; , ,nagios ;
; 5 。
retry_check_interval 2 ; , 。
contact_groups ts ;
notification_options w,u,c,r ; “ ”。w warn, ;
; u unknown, ;
; c criticle, ,r recover, ;
; 、 、 。
notification_interval 10 ; Re-notify about service problems every hour
notification_period 24x7 ; “ ” , 。
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
define service{
name local-service ; The name of this service template
use generic-service ; Inherit default values from the generic-service definition
max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state
normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
b. resource.cfgファイル
resource.cfgはnagiosの変数定義ファイルで、ファイルの内容は1行しかありません.
$USER1$=/usr/local/nagios/libexec
ただし、変数$USER 1$はnagiosプラグインをインストールするパスを指定しており、プラグインを別のパスにインストールした場合は、ここで変更するだけです.変数は、他のプロファイルで参照する前に定義する必要があります.
c.commands.cfgファイル
このファイルはデフォルトで存在し、変更する必要はありません.もちろん、新しいコマンドが追加される場合は、このファイルを追加します.
#notify-host-by-email
define command{
command_name notify-host-by-email # , 。
command_line /usr/bin/printf "%b" "***** Nagios *****
Notification Type: $NOTIFICATIONTYPE$
Host: $HOSTNAME$
State: $HOSTSTATE$
Address: $HOSTADDRESS$
Info: $HOSTOUTPUT$
Date/Time: $LONGDATETIME$
" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ # 。
}#notify-service-by-email
define command{
command_name notify-service-by-email # ,
command_line /usr/bin/printf "%b" "***** Nagios *****
Notification Type: $NOTIFICATIONTYPE$
Service: $SERVICEDESC$
Host: $HOSTALIAS$
Address: $HOSTADDRESS$
State: $SERVICESTATE$
Date/Time: $LONGDATETIME$
Additional Info:
$SERVICEOUTPUT$
" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
#check-host-alive
define command{
command_name check-host-alive # , 。
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
# $USER1$ resource.cfg , $USER1$=/usr/local/nagios/libexec;
# check_ping /usr/local/nagios/libexec/check_ping;
# “-w 3000.0,80%” “-w” “WARNING” ,“80%” 。
# “-c 5000.0,100%” “-c” “CRITICAL”,“100%” 。
# “-p 1” 。
}
define command{
command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ #$ARG1$ , 。
}
define command{
command_name check_local_load
command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}
define command{
command_name check_local_procs
command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
define command{
command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}
define command{
command_name check_local_swap
command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$
}
define command{
command_name check_ftp
command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
define command{
command_name check_ssh
command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
d. hosts.cfgファイル
このファイルはデフォルトでは存在しません.手動で作成する必要があります.hosts.cfgは主に監視されているホストアドレスと関連属性情報を指定するために使用されます.実験目標に基づいて以下のように構成されています.
define host{
use linux-server # linux-server ,linux-server templates.cfg 。
host_name Nagios-Linux #
alias Nagios-Linux #
address 192.168.1.111 # , ip, 。
}
# define hostgroup{
hostgroup_name bsmart-servers # , 。
alias bsmart servers #
members Nagios-Linux # , “Nagios-Linux” 。
}
注:/etc/nagios/objectsのデフォルトにはlocalhost.cfgとwindows.cfgの2つのプロファイルがあります.localhost.cfgファイルは監視ホスト自体を定義し、windows.cfgファイルはwindowsホストを定義し、hostと関連servicesの定義が含まれています.そこで今回の実験ではlocalhost.cfgで直接モニタホスト(Nagios-Server)を定義し,windows.cfgでwindowsホスト(Nagios-Windows)を定義する.必要に応じて、関連する構成を変更します.詳細は次のとおりです.
localhost.cfg
###############################################################################
# LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE
#
#
# NOTE: This config file is intended to serve as an *extremely* simple
# example of how you can create configuration entries to monitor
# the local (Linux) machine.
#
###############################################################################
###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################
# Define a host for the local machine
define host{
use linux-server
host_name 10.0.0.14
alias 10.0.0.14
address 127.0.0.1
}
###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################
# Define an optional hostgroup for Linux machines
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members 10.0.0.14
}
###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################
# Define a service to "ping" the local machine
define service{
use local-service
host_name 10.0.0.14
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
# Define a service to check the disk space of the root partition
# on the local machine. Warning if < 20% free, critical if
# < 10% free space on partition.
define service{
use local-service
host_name 10.0.0.14
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
# Define a service to check the number of currently logged in
# users on the local machine. Warning if > 20 users, critical
# if > 50 users.
define service{
use local-service
host_name 10.0.0.14
service_description Current Users
check_command check_local_users!20!50
}
# Define a service to check the number of currently running procs
# on the local machine. Warning if > 250 processes, critical if
# > 400 users.
define service{
use local-service
host_name 10.0.0.14
service_description Total Processes
check_command check_local_procs!250!400!RSZDT
}
# Define a service to check the load on the local machine.
define service{
use local-service
host_name 10.0.0.14
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
# Define a service to check the swap usage the local machine.
# Critical if less than 10% of swap is free, warning if less than 20% is free
define service{
use local-service
host_name 10.0.0.14
service_description Swap Usage
check_command check_local_swap!20!10
}
# Define a service to check SSH on the local machine.
# Disable notifications for this service by default, as not all users may have SSH enabled.
define service{
use local-service
host_name 10.0.0.14
service_description SSH
check_command check_ssh
notifications_enabled 0
}
# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.
define service{
use local-service
host_name 10.0.0.14
service_description HTTP
check_command check_http
notifications_enabled 0
}
windows.cfg
define host{
use windows-server ; Inherit default values from a template
host_name Nagios-Windows ; The name we're giving to this host
alias My Windows Server ; A longer name associated with the host
address 192.168.1.113 ; IP address of the host
}
define hostgroup{
hostgroup_name windows-servers ; The name of the hostgroup
alias Windows Servers ; Long name of the group
}
define service{
use generic-service
host_name Nagios-Windows
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Nagios-Windows
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name Nagios-Windows
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name Nagios-Windows
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
define service{
use generic-service
host_name Nagios-Windows
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use generic-service
host_name Nagios-Windows
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use generic-service
host_name Nagios-Windows
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
e. Services.cfgファイル
このファイルはデフォルトでは存在しません.手動で作成する必要があります.services.cfgファイルは、httpサービス、ftpサービス、ホストディスク領域、ホストシステム負荷の監視など、監視サービスとホストリソースを定義するために主に使用されます.Nagios-ServerおよびNagios-Windows関連サービスは、対応するプロファイルで定義されているため、ここではNagios-Linux関連サービスを定義するだけでよい.ここでは、プロファイルの正確性を検証するために生存するかどうかを検出するサービスのみを定義し、他のサービスの定義は後述する.
define service{
use local-service # local-service ,local-service templates.cfg 。
host_name Nagios-Linux # ,“Nagios-Server” hosts.cfg 。
service_description check-host-alive # , 。
check_command check-host-alive # 。
}
f. contacts.cfgファイル
contacts.cfgは、監視されているホストまたはサービスに障害が発生した場合、nagiosが指定した通知方式(メールまたはメール)によって、ここで指定した連絡先または使用者に情報を送信する連絡先と連絡先グループを定義するプロファイルです.
define contact{
contact_name David # , use generic-contact # generic-contact , “generic-contact” templates.cfg
alias Nagios Admin
email [email protected]
}
define contactgroup{
contactgroup_name ts # ,
alias Technical Support #
members David # , “david” ,
}
g. timeperiods.cfgファイル
このファイルは、モニタリングの期間を定義するために使用される限り、次の構成の例です.
#24 x 7という名前の期間を定義します.つまり、すべての期間を監視します.
define timeperiod{
timeperiod_name 24x7 # ,
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
#workhoursという名前の期間、すなわち作業期間を定義します.
define timeperiod{
timeperiod_name workhours
alias Normal Work Hours
monday 09:00-17:00
tuesday 09:00-17:00
wednesday 09:00-17:00
thursday 09:00-17:00
friday 09:00-17:00
}
h. cgi.cfgファイル
このファイルは、関連するcgiスクリプトを制御するために使用されます.nagiosのwebモニタリングインタフェースでcgiスクリプトを実行したい場合は、nagiosプロセスの再起動、nagios通知のクローズ、nagiosホスト検出の停止など、cgi.cfgファイルを構成する必要があります.nagiosのwebモニタリングインタフェースはユーザーがdavidであることを検証するため、cgi.cfgファイルにこのユーザーの実行権限を追加するだけでいいので、変更する構成情報は以下の通りです.
default_user_name=david
authorized_for_system_information=nagiosadmin,david
authorized_for_configuration_information=nagiosadmin,david
authorized_for_system_commands=david
authorized_for_all_services=nagiosadmin,david
authorized_for_all_hosts=nagiosadmin,david
authorized_for_all_service_commands=nagiosadmin,david
authorized_for_all_host_commands=nagiosadmin,david
添付ファイルは私の生産環境のプロファイルを表示します