nagios 安裝部署試驗
RH5.3 + VMware +Nagios
11
+ 環境 虛擬機器vmware
+ 作業系統 linux rh5.3
步驟
- rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
遇見問題:This system is not registered with RHN
- Redhat之所以會出現這個錯誤是因為沒有註冊RHN,我們只需要更新一下yum的源就可以了。使用命令 cd /etc/yum.repos.d/ 進入yum的配置目錄。
- 然後將原有的rhel-debuginfo.repo備份一下,使用命令mv CentOS-Base.repo rhel-debuginfo.repo,將CentOS- Base.repo重新命名成rhel-debuginfo.repo。
- 成功以後,使用yum install build-essential安裝成功。
- Redhat之所以會出現這個錯誤是因為沒有註冊RHN,我們只需要更新一下yum的源就可以了。使用命令 cd /etc/yum.repos.d/ 進入yum的配置目錄。
建立Nagios使用者和使用者組
# useradd -s /sbin/nologin nagios # mkdir /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios
- 檢視Nagiox目錄許可權
# ll -d /usr/local/nagios/
編譯安裝Nagios
# wget http://www.mirrorservice.org/sites/dl.sourceforge.net/pub/sourceforge/n/na/nagios/nagios-3.x/nagios-3.4.3/nagios-3.4.3.tar.gz # tar zxvf nagios-3.4.3.tar.gz # cd nagios # ./configure --prefix=/usr/local/nagios(返回結果包含Review the options above for accuracy. If they look Okay. Type'make all'....) # make all(返回結果包含Enjoy) # make install(返回結果包含Make[1]:Leaving directory 'root/nagios') # make install-init(返回結果包含init script installed) # make install-commandmode(返回結果包含external command directory configured) # make install-config(返回結果包含config files installed) # chkconfig --add nagios # chkconfig --level 35 nagios on # chkconfig --list nagios(返回結果包含:nagios 0:off 1:off 2:off 3:on 4:on 5:on 6:off)
驗證程式是否安裝正確
切換目錄到安裝路徑(這裡是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 這五個目錄,如果存在則可以表明程式被正確的安裝到系統了。Nagios 各個目錄用途說明如下:
bin Nagios 可執行程式所在目錄 etc Nagios 配置檔案所在目錄 sbin Nagios CGI 檔案所在目錄,也就是執行外部命令所需檔案所在的目錄 share Nagios網頁檔案所在的目錄 libexec Nagios 外部外掛所在目錄 var Nagios 日誌檔案、lock 等檔案所在的目錄 var/archives Nagios 日誌自動歸檔目錄 var/rw 用來存放外部命令檔案的目
安裝Nagios外掛
wget http://nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz # tar zxvf nagios-plugins-1.4.16.tar.gz # cd nagios-plugins-1.4.16 # ./configure --prefix=/usr/local/nagios # make && make install
安裝和配置Apache和Php
Apache 和Php 不是安裝nagios 所必須的,但是nagios提供了web監控介面,通過web監控介面可以清晰的看到被監控主機、資源的執行狀態,因此,安裝一個web服務是很必要的。
需要注意的是,nagios在nagios3.1.x版本以後,配置web監控介面時需要php的支援。這裡我們下載的nagios版本為nagios-3.4.3,因此在編譯安裝完成apache後,還需要編譯php模組,這裡選取的php版本為php5.4.10。- 安裝Apache
# wget http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz # cd httpd-2.2.23 # ./configure --prefix=/usr/local/apache2 # make && make install
* 若出現錯誤:則在編譯時入加 –with-included-apr 即可解決。*
安裝Php
# wget http://cn2.php.net/distributions/php-5.4.10.tar.gz # tar zxvf php-5.4.10.tar.gz # cd php-5.4.10 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs # make && make install
出現問題:redhat xml2-config not found,解決方法如下
#yum install libxml2 libxml2-devel (For RedHat & Fedora) # aptitude install libxml2-dev (For ubuntu)
配置Apache
找到apache 的配置檔案/usr/local/apache2/conf/httpd.conf 找到:
User daemon Group daemon
修改為
User nagios Group nagios
然後找到
<IfModule dir_module> DirectoryIndex index.html </IfModule>
修改為
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
接著增加如下內容:
AddType application/x-httpd-php .php
為了安全起見,一般情況下要讓nagios 的web 監控頁面必須經過授權才能訪問,這需要增加驗證配置,即在httpd.conf 檔案最後新增如下資訊:
#setting for nagios ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> AuthType Basic Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd //用於此目錄訪問身份驗證的檔案 Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> AuthType Basic Options None AllowOverride None Order allow,deny Allow from all AuthName "nagios Access" AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user </Directory>
- 建立apache目錄驗證檔案
在上面的配置中,指定了目錄驗證檔案htpasswd,下面要建立這個檔案:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david
返回結果會讓你輸入密碼
檢視認證檔案的內容
# cat /usr/local/nagios/etc/htpasswd
返回結構會有使用者名稱和加密後的密碼- 啟動apache 服務
# /usr/local/apache2/bin/apachectl start
遇見問題:Cannot load /usr/local/apache2/modules/libphp5.so into server解決方法如下:
原因是Linux有一個SELinux保護模式引起的。 Syntax error on line 268 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied + 不關閉SELINUX的解決辦法: # setenforce 0 # chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so # service httpd restart # setenforce 1
Nagios配置
Nagios 主要用於監控一臺或者多臺本地主機及遠端的各種資訊,包括本機資源及對外的服務等。預設的Nagios 配置沒有任何監控內容,僅是一些模板檔案。若要讓Nagios 提供服務,就必須修改配置檔案,增加要監控的主機和服務,下面將詳細介紹。
預設配置檔案介紹
Nagios 安裝完畢後,預設的配置檔案在/usr/local/nagios/etc目錄下。
每個檔案或目錄含義如下表所示:檔名或目錄名 用途 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 主機的一個配置檔案模板,預設沒有啟用此檔案
- 配置檔案之間的關係
在nagios的配置過程中涉及到的幾個定義有:主機、主機組,服務、服務組,聯絡人、聯絡人組,監控時間,監控命令等,從這些定義可以看出,nagios各個配置檔案之間是互為關聯,彼此引用的。
成功配置出一臺nagios監控系統,必須要弄清楚每個配置檔案之間依賴與被依賴的關係,最重要的有四點:
第一:定義監控哪些主機、主機組、服務和服務組;
第二:定義這個監控要用什麼命令實現;
第三:定義監控的時間段;
第四:定義主機或服務出現問題時要通知的聯絡人和聯絡人組。
配置Nagios
為了能更清楚的說明問題,同時也為了維護方便,建議將nagios各個定義物件建立獨立的配置檔案:
- 建立hosts.cfg檔案來定義主機和主機組
- 建立services.cfg檔案來定義服務
- 用預設的contacts.cfg檔案來定義聯絡人和聯絡人組
- 用預設的commands.cfg檔案來定義命令
- 用預設的timeperiods.cfg來定義監控時間段
- 用預設的templates.cfg檔案作為資源引用檔案
templates.cfg檔案
nagios主要用於監控主機資源以及服務,在nagios配置中稱為物件,為了不必重複定義一些監控物件,Nagios引入了一個模板配置檔案,將一些共性的屬性定義成模板,以便於多次引用。這就是templates.cfg的作用。
下面詳細介紹下templates.cfg檔案中每個引數的含義:
define contact{ namegeneric-contact; 聯絡人名稱 service_notification_period 24x7; 當服務出現異常時,傳送通知的時間段,這個時間段"24x7"在timeperiods.cfg檔案中定義 host_notification_period24x7; 當主機出現異常時,傳送通知的時間段,這個時間段"24x7"在timeperiods.cfg檔案中定義 service_notification_optionsw,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檔案中定義。 register0; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE! } define host{ namegeneric-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_information1 ; Retain non-status information across program restarts notification_period 24x7; 指定“傳送通知”的時間段,也就是可以在什麼時候傳送通知給使用者。 register0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } define host{ namelinux-server; 主機名稱 use generic-host; use表示引用,也就是將主機generic-host的所有屬性引用到linux-server中來; ; 在nagios配置中,很多情況下會用到引用。 check_period24x7; 這裡的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_optionsd,u,r ; 定義主機在什麼狀態下可以傳送通知給使用者,d即down,表示宕機狀態; ; u即unreachable,表示不可到達狀態; ; r即recovery,表示重新恢復狀態。 contact_groups ts ; 指定聯絡人組,這個“admins”在contacts.cfg檔案中定義。 register0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } define host{ namewindows-server ; The name of this host template use generic-host; Inherit default values from the generic-host template check_period24x7; 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_optionsd,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 register0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE } define service{ namegeneric-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_information1 ; Retain non-status information across program restarts is_volatile 0 ; The service is not volatile check_period24x7 ; 這裡的check_period告訴nagios檢查服務的時間段。 max_check_attempts 3; nagios對服務的最大檢查次數。 normal_check_interval 5; 此選項是用來設定服務檢查時間間隔,也就是說,nagios這一次檢查和下一次檢查之間所隔的時間; ; 這裡是5分鐘。 retry_check_interval2; 重試檢查時間間隔,單位是分鐘。 contact_groups ts ; 指定聯絡人組 notification_optionsw,u,c,r ; 這個定義的是“通知可以被髮出的情況”。w即warn,表示警告狀態; ; u即unknown,表示不明狀態; ; c即criticle,表示緊急狀態,r即recover,表示恢復狀態; ; 也就是在服務出現警告狀態、未知狀態、緊急狀態和重新恢復後都發送通知給使用者。 notification_interval 10 ; Re-notify about service problems every hour notification_period 24x7 ; 指定“傳送通知”的時間段,也就是可以在什麼時候傳送通知給使用者。 register0; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! } define service{ namelocal-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_interval1 ; Re-check the service every minute until a hard state can be determined register0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! }
resource.cfg檔案
resource.cfg是nagios的變數定義檔案,檔案內容只有一行:
$USER1$=/usr/local/nagios/libexec
其中,變數
USER1 指定了安裝nagios外掛的路徑,如果把外掛安裝在了其它路徑,只需在這裡進行修改即可。需要注意的是,變數必須先定義,然後才能在其它配置檔案中進行引用。- commands.cfg檔案
此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行新增即可。
#notify-host-by-email命令的定義 define command{ command_namenotify-host-by-email #命令名稱,即定義了一個主機異常時傳送郵件的命令。 command_line/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ #命令具體的執行方式。 } #notify-service-by-email命令的定義 define command{ command_namenotify-service-by-email #命令名稱,即定義了一個服務異常時傳送郵件的命令 command_line/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ } #check-host-alive命令的定義 define command{ command_namecheck-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_namecheck_local_disk command_line$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$#$ARG1$是指在呼叫這個命令的時候,命令後面的第一個引數。 } define command{ command_namecheck_local_load command_line$USER1$/check_load -w $ARG1$ -c $ARG2$ } define command{ command_namecheck_local_procs command_line$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ } define command{ command_namecheck_local_users command_line$USER1$/check_users -w $ARG1$ -c $ARG2$ } define command{ command_namecheck_local_swap command_line$USER1$/check_swap -w $ARG1$ -c $ARG2$ } define command{ command_namecheck_ftp command_line$USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$ } define command{ command_namecheck_http command_line$USER1$/check_http -I $HOSTADDRESS$ $ARG1$ } define command{ command_namecheck_ssh command_line$USER1$/check_ssh $ARG1$ $HOSTADDRESS$ } define command{ command_namecheck_ping command_line$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 } define command{ command_namecheck_nt command_line$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ }
- 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”就是上面定義的主機。 }
注意:在/usr/local/nagios/etc/objects 下預設有localhost.cfg 和windows.cfg 這兩個配置檔案,localhost.cfg 檔案是定義監控主機本身的,windows.cfg 檔案是定義windows 主機的,其中包括了對host 和相關services 的定義。所以在本次實驗中,將直接在localhost.cfg 中定義監控主機(Nagios-Server),在windows.cfg中定義windows 主機(Nagios-Windows)。根據自己的需要修改其中的相關配置,詳細如下:
localhost.cfg
define host{ use linux-server; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name Nagios-Server alias Nagios-Server address 127.0.0.1 } define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group members Nagios-Server ; Comma separated list of hosts that belong to this group } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description Root Partition check_command check_local_disk!20%!10%!/ } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description Current Users check_command check_local_users!20!50 } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description Total Processes check_command check_local_procs!250!400!RSZDT } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description Current Load check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0 } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description Swap Usage check_command check_local_swap!20!10 } define service{ use local-service ; Name of service template to use host_name Nagios-Server service_description SSH check_command check_ssh notifications_enabled 0 } define service{ use local-service ; Name of service template to use host_name Nagios-Server 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 }
- 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 #指定檢查的命令。 }
- 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”就是上面定義的聯絡人,如果有多個聯絡人則以逗號相隔
}
timeperiods.cfg檔案
此檔案只要用於定義監控的時間段,下面是一個配置好的例項:#下面是定義一個名為24x7的時間段,即監控所有時間段 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 thursday00:00-24:00 friday 00:00-24:00 saturday00: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 thursday09:00-17:00 friday 09:00-17:00 }
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
nagios.cfg檔案
nagios.cfg預設的路徑為/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置檔案,所有的物件配置檔案都必須在這個檔案中進行定義才能發揮其作用,這裡只需將物件配置檔案在Nagios.cfg檔案中進行引用即可。log_file=/usr/local/nagios/var/nagios.log # 定義nagios日誌檔案的路徑 cfg_file=/usr/local/nagios/etc/objects/commands.cfg# “cfg_file”變數用來引用物件配置檔案,如果有更多的物件配置檔案,在這裡依次新增即可。 cfg_file=/usr/local/nagios/etc/objects/contacts.cfg cfg_file=/usr/local/nagios/etc/objects/hosts.cfg cfg_file=/usr/local/nagios/etc/objects/services.cfg cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg cfg_file=/usr/local/nagios/etc/objects/localhost.cfg # 本機配置檔案 cfg_file=/usr/local/nagios/etc/objects/windows.cfg # windows 主機配置檔案 object_cache_file=/usr/local/nagios/var/objects.cache # 該變數用於指定一個“所有物件配置檔案”的副本檔案,或者叫物件緩衝檔案 precached_object_file=/usr/local/nagios/var/objects.precache resource_file=/usr/local/nagios/etc/resource.cfg # 該變數用於指定nagios資原始檔的路徑,可以在nagios.cfg中定義多個資原始檔。 status_file=/usr/local/nagios/var/status.dat # 該變數用於定義一個狀態檔案,此檔案用於儲存nagios的當前狀態、註釋和宕機資訊等。 status_update_interval=10 # 該變數用於定義狀態檔案(即status.dat)的更新時間間隔,單位是秒,最小更新間隔是1秒。 nagios_user=nagios # 該變數指定了Nagios程序使用哪個使用者執行。 nagios_group=nagios# 該變數用於指定Nagios使用哪個使用者組執行。 check_external_commands=1 # 該變數用於設定是否允許nagios在web監控介面執行cgi命令; # 也就是是否允許nagios在web介面下執行重啟nagios、停止主機/服務檢查等操作; # “1”為執行,“0”為不允許。 command_check_interval=10s # 該變數用於設定nagios對外部命令檢測的時間間隔,如果指定了一個數字加一個"s"(如10s); # 那麼外部檢測命令的間隔是這個數值以秒為單位的時間間隔; # 如果沒有用"s",那麼外部檢測命令的間隔是以這個數值的“時間單位”的時間間隔。 interval_length=60 # 該變數指定了nagios的時間單位,預設值是60秒,也就是1分鐘; # 即在nagios配置中所有的時間單位都是分鐘。
驗證Nagios 配置檔案的正確性
Nagios 在驗證配置檔案方面做的非常到位,只需通過一個命令即可完成:# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios提供的這個驗證功能非常有用,在錯誤資訊中通常會打印出錯誤的配置檔案以及檔案中的哪一行,這使得nagios的配置變得非常容易,報警資訊通常是可以忽略的,因為一般那些只是建議性的。
看到上面這些資訊就說明沒問題了,然後啟動Nagios 服務。
- Nagios的啟動與停止
A. 啟動Nagios
a. 通過初始化指令碼啟動nagios
# /etc/init.d/nagios start
or
# service nagios start
b. 手工方式啟動nagios
通過nagios命令的“-d”引數來啟動nagios守護程序:
# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
B.重啟Nagios
當修改了配置檔案讓其生效時,需要重啟/過載Nagios服務。
a. 通過初始化指令碼來重啟nagios
# /etc/init.d/nagios reload
or
# /etc/init.d/nagios restart
or
# service nagios restart
b. 通過web監控頁重啟nagios
可以通過web監控頁的 “Process Info” -> “Restart the Nagios process”來重啟nagios
c. 手工方式平滑重啟
# kill -HUP <nagios_pid>
C 停止Nagios
a. 通過初始化指令碼關閉nagios服務
# /etc/init.d/nagios stop
or
# service nagios stop
b. 通過web監控頁停止nagios
可以通過web監控頁的 “Process Info” -> “Shutdown the Nagios process”來停止nagios
c. 手工方式停止Nagios
# kill <nagios_pid>
- 檢視初步配置情況
B 點選左面的Current Status -> Hosts 可以看到所定義的三臺主機已經全部UP了。
C 點選Current Status -> Services 檢視服務監控情況。
看到Nagios-Linux和Nagios-Server的服務狀態已經OK了,但是Nagios-Windows的服務狀態為CRITICAL,Status Information 提示Connection refused。因為Nagios-Windows上還未安裝外掛,內部服務還無法檢視,所以出現這種情況。將在下面具體講解。
- 利用NRPE監控遠端Linux上的“本地資訊”
上面已經對遠端Linux 主機是否存活做了監控,而判斷遠端機器是否存活,我們可以使用ping 工具對其監測。還有一些遠端主機服務,例如ftp、ssh、http,都是對外開放的服務,即使不用Nagios,我們也可以試的出來,隨便找一臺機器看能不能訪問這些服務就行了。但是對於像磁碟容量,cpu負載這樣的“本地資訊”,Nagios只能監測自己所在的主機,而對其他的機器則顯得有點無能為力。畢竟沒得到被控主機的適當許可權是不可能得到這些資訊的。為了解決這個問題,nagios有這樣一個附加元件–“NRPE”,用它就可以完成對Linux 型別主機”本地資訊”的監控。
A NRPE 工作原理
NRPE 總共由兩部分組成:
check_nrpe 外掛,位於監控主機上
NRPE daemon,執行在遠端的Linux主機上(通常就是被監控機)
按照上圖,整個的監控過程如下:
當Nagios 需要監控某個遠端Linux 主機的服務或者資源情況時:
Nagios 會執行check_nrpe 這個外掛,告訴它要檢查什麼;
check_nrpe 外掛會連線到遠端的NRPE daemon,所用的方式是SSL;
NRPE daemon 會執行相應的Nagios 外掛來執行檢查;
NRPE daemon 將檢查的結果返回給check_nrpe 外掛,外掛將其遞交給nagios做處理。
注意:NRPE daemon 需要Nagios 外掛安裝在遠端的Linux主機上,否則,daemon不能做任何的監控。
B 在被監控機(Nagios-Linux)上
a. 增加使用者&設定密碼
# useradd nagios
# passwd nagios
b. 安裝Nagios 外掛
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
這一步完成後會在/usr/local/nagios/下生成三個目錄include、libexec和share。
修改目錄許可權
# chown nagios.nagios /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios/libexec
c. 安裝NRPE
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
# tar zxvf nrpe-2.13.tar.gz
# cd nrpe-2.13
# ./configure
# make all
接下來安裝NPRE外掛,daemon和示例配置檔案。
c.1 安裝check_nrpe 這個外掛
# make install-plugin
監控機需要安裝check_nrpe 這個外掛,被監控機並不需要,我們在這裡安裝它只是為了測試目的。
c.2 安裝deamon
# make install-daemon
c.3 安裝配置檔案
# make install-daemon-config
現在再檢視nagios 目錄就會發現有5個目錄了
按照安裝文件的說明,是將NRPE deamon作為xinetd下的一個服務執行的。在這樣的情況下xinetd就必須要先安裝好,不過一般系統已經預設安裝了。
d. 安裝xinted 指令碼
# make install-xinetd
可以看到建立了這個檔案/etc/xinetd.d/nrpe。
編輯這個指令碼:
在only_from 後增加監控主機的IP地址。
編輯/etc/services 檔案,增加NRPE服務
重啟xinted 服務
# service xinetd restart
檢視NRPE 是否已經啟動
可以看到5666埠已經在監聽了。
e. 測試NRPE是否則正常工作
使用上面在被監控機上安裝的check_nrpe 這個外掛測試NRPE 是否工作正常。
# /usr/local/nagios/libexec/check_nrpe -H localhost
會返回當前NRPE的版本
也就是在本地用check_nrpe連線nrpe daemon是正常的。
注:為了後面工作的順利進行,注意本地防火牆要開啟5666能讓外部的監控機訪問。
f. check_nrpe 命令用法
檢視check_nrpe 命令用法
# /usr/local/nagios/libexec/check_nrpe –h
可以看到用法是:
check_nrpe –H 被監控的主機 -c 要執行的監控命令
注意:-c 後面接的監控命令必須是nrpe.cfg 檔案中定義的。也就是NRPE daemon只執行nrpe.cfg中所定義的命令。
g. 檢視NRPE的監控命令
# cd /usr/local/nagios/etc
# cat nrpe.cfg |grep -v "^#"|grep -v "^$"
[[email protected] etc]# cat nrpe.cfg |grep -v "^#"|grep -v "^$"
log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1
dont_blame_nrpe=0
debug=0
command_timeout=60
connection_timeout=300
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_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
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
[[email protected] etc]#
紅色部分是命令名,也就是check_nrpe 的-c 引數可以接的內容,等號 “=” 後面是實際執行的外掛程式(這與commands.cfg 中定義命令的形式十分相似,只不過是寫在了一行)。也就是說check_users 就是等號後面/usr/local/nagios/libexec/check_users -w 5 -c 10 的簡稱。
我們可以很容易知道上面這5行定義的命令分別是檢測登陸使用者數,cpu負載,sda1的容量,殭屍程序,總程序數。各條命令具體的含義見外掛用法(執行“外掛程式名 –h”)。
由於-c 後面只能接nrpe.cfg 中定義的命令,也就是說現在我們只能用上面定義的這五條命令。我們可以在本機實驗一下。
http://images.cnitblog.com/blog/370046/201302/02162617-1c0b8b7a4b554f58903459594c7c1e5c.jpg“/>
C 在監控主機(Nagios-Server)上
之前已經將Nagios執行起來了,現在要做的事情是:
安裝check_nrpe 外掛;
在commands.cfg 中建立check_nrpe 的命令定義,因為只有在commands.cfg 中定義過的命令才能在services.cfg 中使用;
建立對被監控主機的監控專案;
a 安裝check_nrpe 外掛
# tar zxvf nrpe-2.13.tar.gz
# cd nrpe-2.13
# ./configure
# make all
# make install-plugin
只執行這一步就行了,因為只需要check_nrpe外掛。
在Nagios-Linux 上我們已經裝好了nrpe,現在我們測試一下監控機使用check_nrpe 與被監控機執行的nrpe daemon之間的通訊。
看到已經正確返回了NRPE的版本資訊,說明一切正常。
b 在commands.cfg中增加對check_nrpe的定義
# vi /usr/local/nagios/etc/objects/commands.cfg
在最後面增加如下內容:
意義如下:
‘check_nrpe’ command definition
define command{
command_namecheck_nrpe # 定義命令名稱為check_nrpe,在services.cfg中要使用這個名稱.
command_line
這個命令列的書寫要完全按照check_nrpe這個命令的用法,不知道用法的就用check_nrpe –h檢視.
}
-c 後面帶的
9.3.3 定義對Nagios-Linux 主機的監控
下面就可以在services.cfg 中定義對Nagios-Linux 主機的監控了。
define service{
use local-service
host_name Nagios-Linux
service_description Current Load
check_command check_nrpe!check_load
}
define service{
use local-service
host_name Nagios-Linux
service_description Check Disk sda1
check_command check_nrpe!check_sda1
}
define service{
use local-service
host_name Nagios-Linux
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service{
use local-service
host_name Nagios-Linux
service_description Current Users
check_command check_nrpe!check_users
}
define service{
use local-service
host_name Nagios-Linux
service_description Check Zombie Procs
check_command check_nrpe!check_zombie_procs
}
還有一個任務是要監控Nagios-Linux 的swap 使用情況。但是在nrpe.cfg 中預設沒有定義這個監控功能的命令。怎麼辦?手動在nrpe.cfg 中新增,也就是自定義NRPE命令。
現在我們要監控swap 分割槽,如果空閒空間小於20%則為警告狀態 -> warning;如果小於10%則為嚴重狀態 -> critical。我們可以查得需要使用check_swap外掛,完整的命令列應該是下面這樣。
# /usr/local/nagios/libexec/check_swap -w 20% -c 10%
在被監控機(Nagios-Linux)上增加check_swap 命令的定義
# vi /usr/local/nagios/etc/nrpe.cfg
增加下面這一行
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
我們知道check_swap 現在就可以作為check_nrpe 的-c 的引數使用了
修改了配置檔案,當然要重啟。
如果你是以獨立的daemon執行的nrpe,那麼需要手動重啟;如果你是在xinetd 下面執行的,則不需要。
由於本實驗中nrpe 是xinetd 下執行的,所以不需要重啟服務。
在監控機(Nagios-Server)上增加這個check_swap 監控專案
define service{
use local-service
host_name Nagios-Linux
service_description Check Swap
check_command check_nrpe!check_swap
}
同理,Nagios-Linux 上我還開啟了http 服務,需要監控一下,按照上面的做法,在被監控機(Nagios-Linux)上增加check_http 命令的定義
# vi /usr/local/nagios/etc/nrpe.cfg
增加下面這一行
command[check_http]=/usr/local/nagios/libexec/check_http -I 127.0.0.1
在監控機(Nagios-Server)上增加check_http 監控專案
define service{
use local-service
host_name Nagios-Linux
service_description HTTP
check_command check_nrpe!check_http
}
所有的配置檔案已經修改好了,現在重啟Nagios。
# service nagios restart
可以看到,對於Nagios-Server 和Nagios-Linux 上的相關服務的監控已經成功了,還有Nagios-Windows 上的服務還沒有定義,下面講到。
- 利用NSClient++監控遠端Windows上的“本地資訊”
在Nagios的libexec下有check_nt這個外掛,它就是用來檢查windows機器的服務的。其功能類似於check_nrpe。不過還需要搭配另外一個軟體NSClient++,它則類似於NRPE。
NSClient++的原理如下圖
可以看到NSClient與nrpe最大的區別就是:
被監控機上安裝有nrpe,並且還有外掛,最終的監控是由這些外掛來進行的。當監控主機將監控請求發給nrpe後,nrpe呼叫外掛來完成監控。
NSClient++則不同,被監控機上只安裝NSClient,沒有任何的外掛。當監控主機將監控請求發給NSClient++後,NSClient直接完成監控,所有的監控是由NSClient完成的。
這也說明了NSClient++的一個很大的問題:不靈活、沒有可擴充套件性。它只能完成自己本身包含的監控操作,不能由一些外掛來擴充套件。好在NSClient++已經做的不錯了,基本上可以完全滿足我們的監控需求。
a 安裝NSClient++
解壓到C盤根目錄。
開啟cmd 切換到c:\NSClient++-0.2.7
執行nsclient++ /install 進行安裝
執行nsclient++ SysTray (注意大小寫),這一步是安裝系統托盤,時間稍微有點長。
在執行裡面輸入services.msc 開啟“服務”
看到下圖就說明NSClient服務已經安裝上了
雙擊開啟,點“登入”標籤,在“允許服務與桌面互動”前打勾。
編輯c:\NSClient++-0.2.7下的NSC.ini檔案。
將 [modules]部分的所有模組前面的註釋都去掉,除了CheckWMI.dll 和 RemoteConfiguration.dll 這兩個。
在[Settings]部分設定’password’選項來設定密碼,作用是在nagios連線過來時要求提供密碼。這一步是可選的,我這裡設定為’123456’。
將[Settings]部分’allowed_hosts’選項的註釋去掉,並且加上執行nagios的監控主機的IP。各IP之間以逗號相隔。這個地方是支援子網的,如果寫成192.168.1.0/24則表示該子網內的所有機器都可以訪問。如果這個地方是空白則表示所有的主機都可以連線上來。
注意是[Settings]部分的,因為[NSClient]部分也有這個選項。
必須保證[NSClient]的’port’選項並沒有被註釋,並且它的值是’12489’,這是NSClient的預設監聽埠。
在cmd 中執行nsclient++ /start啟動服務,注意所在目錄是c:\NSClient++-0.2.7
這時在桌面右下角的系統托盤處會出現一個黃色的M字樣的圖示
檢視服務
已經正常啟動了。
注意服務預設設的是“自動”,也就是說是開機自動啟動的。
在cmd 裡面執行netstat –an 可以看到已經開始監聽tcp的12489埠了。
這樣外部就可以訪問了嗎?
錯!
防火牆也要開啟tcp的12489埠,否則nagios 檢查此服務的時候會報錯。
這樣被監控機的配置就搞定了,它就等待nagios 發出某個監控請求,然後它執行請求將監控的結果發回到nagios監控主機上。
之前已經在監控主機(Nagios-Server)上對Windows 主機的監控做了配置,但是commands.cfg 中預設沒有設定密碼項,所以要修改一下,增加”-s 123456”,如下:
# 'check_nt' command definition
define command{
command_namecheck_nt
command_line$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$
}
現在開啟Nagios Web監控頁便可檢視到相關資訊了。
可以看到有錯誤:NSClient - ERROR: PDH Collection thread not running.
Google 一下,是由於作業系統語言的問題,好像NSClient 預設支援的語言並不多,具體可以百度一下。
檢視NSClient的日誌C:\NSClient++-0.2.7\nsclient.log,資訊如下:
2013-02-02 22:05:30: error:.\PDHCollector.cpp:98: You need to manually configure performance counters!
需要手動配置performance counters。
開啟C:\NSClient++-0.2.7\counters.defs檔案,複製檔案裡面”English US”那部分內容,貼上到counters.defs 檔案的最後,修改Description = “Chinese”。
修改完之後,在mmc中重啟NSClient 服務。
然後檢視日誌,內容如下:
執行成功,但是W3SVC服務為Unknown 狀態。查資料,需要開啟Windows 的IIS服務。
開啟“控制面板”進行安裝。
安裝完畢後,再到Nagios Web監控頁檢視,全部監控正常。
- agios郵件報警的配置
a 安裝sendmail 元件
首先要確保sendmail 相關元件的完整安裝,我們可以使用如下的命令來完成sendmail 的安裝:
yum install -y sendmail*
然後重新啟動sendmail服務:
service sendmail restart
然後傳送測試郵件,驗證sendmail的可用性:
echo “Hello World” | mail [email protected]
b 郵件報警的配置
在上面我們已經簡單配置過了/usr/local/nagios/etc/objects/contacts.cfg 檔案,Nagios 會將報警郵件傳送到配置檔案裡的E-mail 地址。
c Nagios 通知
PROBLEM
Linux下Nagios安裝配置完畢。
參考資料
相關推薦
nagios 安裝部署試驗
RH5.3 + VMware +Nagios 11 + 環境 虛擬機器vmware + 作業系統 linux rh5.3 步驟 rpm -q gcc glibc glibc-common gd gd-devel xinetd openss
Nagios安裝部署與Cacti整合文件超精細版本
Nagios安裝部署與Cacti整合文件 系統環境:CentOS5.4 文件版本:V2.0.1 整理:Kevin 更新時間:2011-05-31 備註:運維專用 Nagios是一款開源的免費網路監視工具,其功能強大,靈活性強。能有效監控Windows、L
Nagios插件Nagiosgraph安裝部署
nagios perl cpan nagiosgraph Nagios是比較常用的一款開源監控軟件,Nagios靈活輕便使得在使用時可以根據自己的實際情況靈活運用,但是Nagios有一個缺點是對繪圖做的不夠完善,所以在對監控數據用來做分析時Nagios就有短板了。不過因為Nagios的靈活
fuel6.0安裝部署
信息 記錄 修改 ont pan compute spl auto 網絡配置 在經過一系列安裝openstack方式後,個人覺得fuel的安裝方式相對簡易,接下來記錄下安裝部署fuel6.0的過程。本教程適合想把fuel6.0部署後,雲主機需要連接外網的需求。 安裝
【原創 Spark動手實踐 1】Hadoop2.7.3安裝部署實際動手
dmi 遠程 nag proc host 一個 error img 連接 目錄: 第一部分:操作系統準備工作: 1. 安裝部署CentOS7.3 1611 2. CentOS7軟件安裝(net-tools, wget, vim等) 3. 更新CentOS
LNP 安裝部署
lnp一、安裝nginx1.安裝依賴包:yum install openssl openssl-devel pcre GeoIP perl-devel perl perl-ExtUtils-Embed GeoIP-devel libatomic libatomic_ops-devel2.安裝zlibtar -
Unity3D中tolua的“安裝部署和使用“教程
替換 部署 ref 比對 text asset gin 系統 .com 棄坑Cocos2d-x,轉戰Unity3D 考慮到項目一定會使用熱更,花了不少時間比對了lua的支持方案,最後定為tolua,原因不解釋。 俗話說,萬事開頭難,中間難,最後難……我反正是沒有找到如何安裝
hadoop分布式安裝部署具體視頻教程(網盤附配好環境的CentOS虛擬機文件/hadoop配置文件)
down hdf lan nag home 開機啟動 prop baidu ifcfg-eth 參考資源下載:http://pan.baidu.com/s/1ntwUij3視頻安裝教程:hadoop安裝.flvVirtualBox虛擬機:hadoop.part1-part
Confluence 安裝部署
all extract pro 技術分享 create read 1-1 expr starting Confluence安裝與部署 下載安裝包及破解包 安裝包下載地址:https://www.atlassian.com/software/confluence/down
ZooKeeper安裝部署
sa0x01 簡介Zookeeper是一個很好的集群管理工具,被大量用於分布式計算。如Hadoop以及Storm系統中。Apache ZooKeeper是一個為分布式應用所設計開源協調服務,其設計目是為了減輕分布式應用程序所承擔的協調任務。可以為用戶提供同步、配置管理、分組和命名服務。0x02 環境說明在三臺
zookeeper與kafka安裝部署及java環境搭建
3.4 項目目錄 tin bytes result zxvf util ise cat 1. ZooKeeper安裝部署 本文在一臺機器上模擬3個zk server的集群安裝。 1.1. 創建目錄、解壓 cd /usr/ #創建項目目錄 mkdir zookeepe
ELK 日誌服務器安裝部署
搜索引擎 應用程序 服務器 安全性 數據源 高清原文 烏龜運維 wuguiyunwei.com簡單介紹:ELK是三個開源工具組成,簡單解釋如下:Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據
openfire 安裝部署
doc 系統啟動 clas mpp 壓縮 resource 7月 article 管理 1. openfire安裝和配置 本文介紹openfire 在linux上安裝部署過程 linux上有兩種安裝方式,一個是RPM包方式。還有一個是tar.gz壓縮包方式,
環境搭建/安裝部署
common user utf-8 opts 自動 環境搭建 leg ini min 1、M2e(maven-eclipse-plugin)插件只能在線安裝,官方地址:http://wiki.eclipse.org/M2E_updatesite_and_gittags ma
Centos7.3 Docker安裝部署學習記錄1
docker一、Docker基礎環境的安裝1. 環境說明本機采用操作系統如下: CentOS-7.3-X86-64,內核3.10 x64位,docker 1.12.x版本。 建議采用CentOS7版本或ubuntu版本,本文采用CentOS7即CentOS-7-x86_64-DVD-1611.iso版本最
FastDFS單點在 CentOS 安裝部署
fastdfs centos 單點 關於分布式文件系統FastDFS,在這裏不做過多介紹,我們直接開始安裝1.安裝 libfastcommon [[email protected]/* */ softwares]# yum -y install wget pcre pcre-devel
spark2.10安裝部署(集成hadoop2.7+)
use star temp 保存 local export per home hadoop 這裏默認你的hadoop是已經安裝好的,master是node1,slaver是node2-3,hdfs啟動在node1,yarn啟動在node2,如果沒安裝好hadoop可以看我前
MySQL二進制安裝部署
upa linux gin nologin 系統 clu path file x86 1 #使用二進制包安裝mysql 2 cp mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz /data/ 3 tar -xf
安裝部署Solrcloud
ros info vim eba 創建 boot 1.8 bin nvi 實驗說明: 三臺虛擬機做solrcloud集群 安裝solr前請確保jdk 、tomcat、zookeeper已安裝好,否則無法啟動
Linux之安裝部署squid代理服務器
duyuheng linux squid代理服務器Linux之安裝部署squid代理服務器1、案例拓撲圖系統centos6.5 軟件sarg-2.3.7.tar.gz squid-3.4.6.tar.gz2、案例要求(1)如上圖要求配置網絡,內部linux需要配置默認網關,外部linux不需要配置默認