nagios的配置(監控端和被監控端)
配置如下:
[root@mi3 etc]# cd /usr/local/nagios/etc
[root@mi3 etc]# ls
cgi.cfg htpasswd.users nagios.cfg objects resource.cfg
[root@mi3 etc]#
[root@mi3 etc]# cd objects/
[root@mi3 objects]# ls
commands.cfg contacts.cfg hosts localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
每個檔案或目錄含義如下表所示:
檔名或目錄名 用途
cgi.cfg 控制CGI訪問的配置檔案
nagios.cfg Nagios 主配置檔案
resource.cfg 變數定義檔案,又稱為資原始檔,在些檔案中定義變數,以便由其他配置檔案引用,如$USER1$
objects objects 是一個目錄,在此目錄下有很多配置檔案模板,用於定義Nagios 物件
objects/commands.cfg 命令定義配置檔案,其中定義的命令可以被其他配置檔案引用
objects/contacts.cfg 定義聯絡人和聯絡人組的配置檔案
objects/localhost.cfg 定義監控本地主機的配置檔案
objects/printer.cfg 定義監控印表機的一個配置檔案模板,預設沒有啟用此檔案
objects/switch.cfg 定義監控路由器的一個配置檔案模板,預設沒有啟用此檔案
objects/templates.cfg 定義主機和服務的一個模板配置檔案,可以在其他配置檔案中引用
objects/timeperiods.cfg 定義Nagios 監控時間段的配置檔案
objects/windows.cfg 監控Windows 主機的一個配置檔案模板,預設沒有啟用此檔案
1、修改郵箱地址
[root@mi3 objects]# cat contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email luochen@mi.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
2、cgi.cfg檔案使用預設值,此檔案用來控制相關cgi指令碼,如果想在nagios的web監控介面執行cgi指令碼,例如重啟nagios程式、關閉nagios通知、停止nagios主機檢測等,這時就需要配置cgi.cfg檔案了。
3、nagios.cfg檔案預設的路徑為/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置檔案,所有的物件配置檔案都必須在這個檔案中進行定義才能發揮其作用,這裡只需將物件配置檔案在Nagios.cfg檔案中進行引用即可。
修改如下:
[root@mi3 etc]# vi nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_dir=/usr/local/nagios/etc/objects/hosts/
nagios_user=nagios
nagios_group=nagios
status_update_interval=10
check_external_commands=1
4、resource.cfg是nagios的變數定義檔案,檔案內容只有一行:
$USER1$=/usr/local/nagios/libexec
5、模版templates.cfg配置使用預設值
6、timeperiods.cfg檔案使用預設值,此檔案只要用於定義監控的時間段
7、commands.cfg檔案此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行新增即可。
新增如下:
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
8、localhost.cfg檔案本地監控
第一個命令定義:
透過check_ping指令碼確保監測主機和被監測主機的連通性,如果網路丟包率到達20%則產生warning警告,到達60%則產生critical警告:
define service{
use local-service
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
第二個命令定義:
監測遠端主機根分割槽磁碟狀況,如果根分割槽可用空間低於20%會產生Warning警告,如果可用空間低於10%則產生Critical警告:
define service{
use local-service
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
第三個命令定義:
監測遠端主機當前的登入使用者數量,如果登入數量大於20使用者則產生warning警告,如果大於50則產生critical警告:
define service{
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!20!50
}
第四個命令定義:
監測遠端主機當前的程式總數,如果大於700程式則產生warning警告,如果大於800程式則產生critical警告:
define service{
use local-service
host_name localhost
service_description Total Processes
check_command check_local_procs!700!800!RSZDT
}
第五個命令定義:
監測遠端主機當前的殭屍程式,如果大於5程式則產生warning警告,如果大於10程式則產生critical警告:
define service{
use local-service
host_name localhost
service_description zombie Processes
check_command check_local_procs!5!10!Z
}
第六個命令定義:
監測遠端主機當前的本地負載量:
define service{
use local-service
host_name localhost
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
第七個命令定義:
監測遠端主機swap檔案系統使用量,如果swap可用空間低於20%則產生warning警告,低於10%則產生critical警告:
define service{
use local-service
host_name localhost
service_description Swap Usage
check_command check_local_swap!20!10
}
第八個命令定義:
監測SSH連線可用性,但訊息通知功能預設被關閉,因為並不是所有使用者都有許可權SSH。
define service{
use local-service
host_name localhost
service_description SSH
check_command check_ssh
notifications_enabled 0
}
9、遠端linux主機的的監控
監控端新增如下:
[root@mi3 hosts]# pwd
/usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# ls
mi1.cfg mi2.cfg mi4.cfg mi5.cfg mi6.cfg mi7.cfg
[root@mi3 hosts]# cat mi1.cfg
define host{
use linux-server
host_name mi1
alias mi1-server
address 172.16.10.11
}
define service{
use generic-service
host_name mi1
service_description PING
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Root Partition
check_command check_local_disk!20%!10%!/
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Users
check_command check_local_users!20!50
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Total Processes
check_command check_local_procs!600!800!RSZDT
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description zombie Processes
check_command check_local_procs!5!10!Z
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Swap Usage
check_command check_local_swap!20!10
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description SSH
check_command check_ssh
notifications_enabled 0
}
被監控端配置:
[root@mi1 ~]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.16.10.13
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda6
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c %10
10、監控端執行:[root@mi3 hosts]# service nagios restart
[root@mi3 etc]# cd /usr/local/nagios/etc
[root@mi3 etc]# ls
cgi.cfg htpasswd.users nagios.cfg objects resource.cfg
[root@mi3 etc]#
[root@mi3 etc]# cd objects/
[root@mi3 objects]# ls
commands.cfg contacts.cfg hosts localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
每個檔案或目錄含義如下表所示:
檔名或目錄名 用途
cgi.cfg 控制CGI訪問的配置檔案
nagios.cfg Nagios 主配置檔案
resource.cfg 變數定義檔案,又稱為資原始檔,在些檔案中定義變數,以便由其他配置檔案引用,如$USER1$
objects objects 是一個目錄,在此目錄下有很多配置檔案模板,用於定義Nagios 物件
objects/commands.cfg 命令定義配置檔案,其中定義的命令可以被其他配置檔案引用
objects/contacts.cfg 定義聯絡人和聯絡人組的配置檔案
objects/localhost.cfg 定義監控本地主機的配置檔案
objects/printer.cfg 定義監控印表機的一個配置檔案模板,預設沒有啟用此檔案
objects/switch.cfg 定義監控路由器的一個配置檔案模板,預設沒有啟用此檔案
objects/templates.cfg 定義主機和服務的一個模板配置檔案,可以在其他配置檔案中引用
objects/timeperiods.cfg 定義Nagios 監控時間段的配置檔案
objects/windows.cfg 監控Windows 主機的一個配置檔案模板,預設沒有啟用此檔案
1、修改郵箱地址
[root@mi3 objects]# cat contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email luochen@mi.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
2、cgi.cfg檔案使用預設值,此檔案用來控制相關cgi指令碼,如果想在nagios的web監控介面執行cgi指令碼,例如重啟nagios程式、關閉nagios通知、停止nagios主機檢測等,這時就需要配置cgi.cfg檔案了。
3、nagios.cfg檔案預設的路徑為/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置檔案,所有的物件配置檔案都必須在這個檔案中進行定義才能發揮其作用,這裡只需將物件配置檔案在Nagios.cfg檔案中進行引用即可。
修改如下:
[root@mi3 etc]# vi nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_dir=/usr/local/nagios/etc/objects/hosts/
nagios_user=nagios
nagios_group=nagios
status_update_interval=10
check_external_commands=1
4、resource.cfg是nagios的變數定義檔案,檔案內容只有一行:
$USER1$=/usr/local/nagios/libexec
5、模版templates.cfg配置使用預設值
6、timeperiods.cfg檔案使用預設值,此檔案只要用於定義監控的時間段
7、commands.cfg檔案此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行新增即可。
新增如下:
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
8、localhost.cfg檔案本地監控
第一個命令定義:
透過check_ping指令碼確保監測主機和被監測主機的連通性,如果網路丟包率到達20%則產生warning警告,到達60%則產生critical警告:
define service{
use local-service
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
第二個命令定義:
監測遠端主機根分割槽磁碟狀況,如果根分割槽可用空間低於20%會產生Warning警告,如果可用空間低於10%則產生Critical警告:
define service{
use local-service
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
第三個命令定義:
監測遠端主機當前的登入使用者數量,如果登入數量大於20使用者則產生warning警告,如果大於50則產生critical警告:
define service{
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!20!50
}
第四個命令定義:
監測遠端主機當前的程式總數,如果大於700程式則產生warning警告,如果大於800程式則產生critical警告:
define service{
use local-service
host_name localhost
service_description Total Processes
check_command check_local_procs!700!800!RSZDT
}
第五個命令定義:
監測遠端主機當前的殭屍程式,如果大於5程式則產生warning警告,如果大於10程式則產生critical警告:
define service{
use local-service
host_name localhost
service_description zombie Processes
check_command check_local_procs!5!10!Z
}
第六個命令定義:
監測遠端主機當前的本地負載量:
define service{
use local-service
host_name localhost
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
第七個命令定義:
監測遠端主機swap檔案系統使用量,如果swap可用空間低於20%則產生warning警告,低於10%則產生critical警告:
define service{
use local-service
host_name localhost
service_description Swap Usage
check_command check_local_swap!20!10
}
第八個命令定義:
監測SSH連線可用性,但訊息通知功能預設被關閉,因為並不是所有使用者都有許可權SSH。
define service{
use local-service
host_name localhost
service_description SSH
check_command check_ssh
notifications_enabled 0
}
9、遠端linux主機的的監控
監控端新增如下:
[root@mi3 hosts]# pwd
/usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# ls
mi1.cfg mi2.cfg mi4.cfg mi5.cfg mi6.cfg mi7.cfg
[root@mi3 hosts]# cat mi1.cfg
define host{
use linux-server
host_name mi1
alias mi1-server
address 172.16.10.11
}
define service{
use generic-service
host_name mi1
service_description PING
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Root Partition
check_command check_local_disk!20%!10%!/
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Users
check_command check_local_users!20!50
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Total Processes
check_command check_local_procs!600!800!RSZDT
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description zombie Processes
check_command check_local_procs!5!10!Z
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description Swap Usage
check_command check_local_swap!20!10
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name mi1
service_description SSH
check_command check_ssh
notifications_enabled 0
}
被監控端配置:
[root@mi1 ~]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.16.10.13
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda6
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c %10
10、監控端執行:[root@mi3 hosts]# service nagios restart
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29819001/viewspace-1321533/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java後端分散式系統的服務監控:Zabbix與NagiosJava後端分散式iOS
- 遠端監控Springboot JVMSpring BootJVM
- Nagios+Centreon監控系統簡介iOS
- Cacti+Nagios監控平臺完美整合iOS
- junkman 遠端堆疊監控
- springcloud 微服務配置監控端點 hystrix.streamSpringGCCloud微服務
- jvisualvm遠端監控Linux下的tomcatLVMLinuxTomcat
- 影片監控遠端傳輸方案
- 城市景觀智慧燈控系統如何遠端監控和控制
- 端到端網路全鏈路監控方案
- 使用Nagios打造專業的業務狀態監控iOS
- 監控系統:深度對比Zabbix、Nagios、Pandora FMSiOS
- 遠端影片監控實現的條件
- 配電箱遠端監控物聯網解決方案(線上監控和運維管理)運維
- tomcat8.5服務開啟zabbix遠端監控配置修改Tomcat
- Java服務端監控:Prometheus與Grafana的整合Java服務端PrometheusGrafana
- 黑盒監控、日誌監控
- Spring Boot 揭祕與實戰(九) 應用監控篇 – 自定義監控端點Spring Boot
- 使用Metrics方法級遠端監控Java程式Java
- rtop – 通過SSH監控遠端主機
- Python實現遠端埠監控例項Python
- 6.prometheus監控--監控dockerPrometheusDocker
- TiDB監控實現--存活監控TiDB
- APM效能監控軟體的監控型別服務及監控流程型別
- 分散式監控系統之Zabbix主動、被動及web監控分散式Web
- Java 監控基礎 - 使用 JMX 監控和管理 Java 程式Java
- 施耐德PLC如何實現組態監控和遠端維護?
- zabbix的主動模式監控和zabbix-proxy分散式監控模式分散式
- 監控
- Munin監控的安裝與配置
- 服務端思維指南 | 常用效能監控指南服務端
- 灌漿機遠端監控運維繫統運維
- 精密加工數控機床如何實現遠端監控和遠端上下載程式
- TSINGSEE青犀雲邊端技術如何助力影片監控實現高效管理與安全監控Gse
- zabbix、cacti、nagios,伺服器監控還有更好的選擇嗎?iOS伺服器
- 聊聊前端監控——錯誤監控篇前端
- 配置 Prometheus 伺服器監控和 Grafana 看板Prometheus伺服器Grafana
- Windows客戶端的JProfiler遠端監控Linux上的Tomcat伺服器Windows客戶端LinuxTomcat伺服器
- 利用VisualVm和JMX遠端監控K8S裡的Java程式LVMK8SJava