㈠ 高性能linux伺服器構建實戰的作品目錄
前言
第1篇Web應用篇
第1章輕量級HTTP伺服器Nginx
1.1什麼是Nginx
1.2為什麼要選擇Nginx
1.2.1Nginx與Apache的異同
1.2.2選擇Nginx的優勢所在
1.3Nginx的模塊與工作原理
1.4Nginx的安裝與配置
1.4.1下載與安裝Nginx
1.4.2Nginx配置文件的結構
1.4.3配置與調試Nginx
1.4.4Nginx的啟動、關閉和平滑重啟
1.5Nginx常用配置實例
1.5.1虛擬主機配置實例
1.5.2負載均衡配置實例
1.5.3防盜鏈配置實例
1.5.4日誌分割配置實例
1.6Nginx性能優化技巧
1.6.1編譯安裝過程優化
1.6.2利用TCMalloc優化Nginx的性能
1.6.3Nginx內核參數優化
1.7實戰Nginx與PHP(FastCGI)的安裝、配置與優化
1.7.1什麼是 FastCGI
1.7.2Nginx+FastCGI運行原理
1.7.3spawn-fcgi與PHP-FPM
1.7.4PHP與PHP-FPM的安裝及優化
1.7.5配置Nginx來支持PHP
1.7.6測試Nginx對PHP的解析功能
1.7.7優化Nginx中FastCGI參數的實例
1.8實戰Nginx與Perl、Java的安裝與配置
1.8.1Perl(FastCGI)的安裝
1.8.2為Nginx添加FCGI支持
1.8.3測試Nginx +Perl(FastCGI)
1.8.4搭建Nginx+Java環境
1.9本章小結
第2章高性能HTTP加速器Varnish
2.1初識Varnish
2.1.1Varnish概述
2.1.2Varnish的結構與特點
2.1.3Varnish與Squid的對比
2.2開始安裝Varnish
2.2.1安裝前的准備
2.2.2獲取Varnish軟體
2.2.3安裝pcre
2.2.4安裝Varnish
2.3配置Varnish
2.3.1VCL使用說明
2.3.2配置一個簡單的Varnish實例
2.3.3Varnish對應多台Web伺服器的配置實例
2.4運行Varnish
2.4.1varnishd指令
2.4.2配置Varnish運行腳本
2.4.3管理Varnish運行日誌
2.5管理Varnish
2.5.1查看Varnish進程
2.5.2查看Varnish緩存效果與狀態
2.5.3通過埠管理Varnish
2.5.4管理Varnish緩存內容
2.6Varnish優化
2.6.1優化Linux內核參數
2.6.2優化系統資源
2.6.3優化Varnish參數
2.7Varnish的常見應用實例
2.7.1利用Varnish實現圖片防盜鏈
2.7.2利用Varnish實現靜態文件壓縮處理
2.8本章小結
第3章Memcached應用實戰
3.1Memcached基礎
3.1.1什麼是Memcached
3.1.2Memcached的特徵
3.1.3Memcached的安裝
3.1.4Memcached的簡單使用過程
3.2剖析Memcached的工作原理
3.2.1Memcached的工作過程
3.2.2Slab Allocation的工作機制
3.2.3Memcached的刪除機制
3.2.4Memcached的分布式演算法
3.3Memcached的管理與性能監控
3.3.1如何管理Memcached
3.3.2Memcached的監控
3.3.3Memcached變種產品介紹
3.4通過UDFs實現Memcached與MySQL的自動更新
3.4.1UDFs使用簡介
3.4.2memcached_functions_mysql應用實例
3.4.3對memcached_functions_mysql的簡單功能進行測試
3.4.4使用memcached_functions_mysql的經驗與技巧
3.5本章小結
第2篇數據備份恢復篇
第4章開源網路備份軟體bacula
4.1bacula總體概述
4.1.1bacula是什麼
4.1.2bacula適合哪些用戶
4.1.3bacula的功能特點
4.1.4bacula的工作原理
4.2安裝bacula
4.2.1bacula的幾種網路備份拓撲
4.2.2編譯與安裝bacula
4.2.3初始化MySQL資料庫
4.3配置一個bacula備份系統
4.3.1配置bacula的Console端
4.3.2配置bacula的Director端
4.3.3配置bacula的SD
4.3.4配置bacula的FD端
4.4啟動與關閉bacula
4.4.1啟動bacula的Director daemon與Storage daemon
4.4.2在客戶端FD啟動File daemon
4.5實戰bacula備份恢復過程
4.5.1實例演示bacula的完全備份功能
4.5.2實例演示bacula的增量備份功能
4.5.3實例演示bacula的差異備份功能
4.5.4實例演示bacula的完全恢復功能
4.5.5實例演示bacula的不完全恢復功能
4.6本章小結
第5章數據鏡像備份工具rsync與unison
5.1rsync簡介
5.1.1什麼是rsync
5.1.2rsync的功能特性
5.1.3下載與安裝rsync軟體
5.2利用rsync搭建數據鏡像備份系統
5.2.1rsync的應用模式
5.2.2企業案例:搭建遠程容災備份系統
5.3通過rsync+inotify實現數據的實時備份
5.3.1rsync的優點與不足
5.3.2初識inotify
5.3.3安裝inotify工具inotify-tools
5.3.4inotify相關參數
5.3.5inotifywait相關參數
5.3.6企業應用案例:利用rsync+inotify搭建實時同步系統
5.4unison簡介
5.5安裝unison
5.6配置雙機ssh信任
5.6.1在兩台機器上創建 RSA密鑰
5.6.2添加密鑰到授權密鑰文件中
5.7unison的使用
5.7.1本地使用unison
5.7.2遠程使用unison
5.7.3unison參數說明
5.7.4通過配置文件來使用unison
5.8本章小結
第6章ext3文件系統反刪除利器ext3grep
6.1「rm–rf」帶來的困惑
6.2ext3grep的安裝與使用
6.2.1ext3grep的恢復原理
6.2.2ext3grep的安裝過程
6.3通過ext3grep恢復誤刪除的文件與目錄
6.3.1數據恢復准則
6.3.2實戰ext3grep恢復文件
6.4通過ext3grep恢復誤刪除的MySQL表
6.4.1MySQL存儲引擎介紹
6.4.2模擬MySQL表被誤刪除的環境
6.4.3通過ext3grep分析數據、恢復數據
6.5本章小結
第3篇網路存儲應用篇
第7章IP網路存儲iSCSI
7.1存儲的概念與術語
7.1.1SCSI介紹
7.1.2FC介紹
7.1.3DAS介紹
7.1.4NAS介紹
7.1.5SAN介紹
7.2iSCSI的概念
7.3FC SAN與IP SAN
7.4iSCSI的組成
7.4.1iSCSI Initiator
7.4.2iSCSI Target
7.5iSCSI的工作原理
7.6搭建基於IP SAN的iSCSI存儲系統
7.6.1安裝iSCSI Target軟體
7.6.2配置一個簡單的iSCSI Target
7.6.3在Windows上配置iSCSI Initiator
7.6.4在Linux上配置iSCSI Initiator
7.7iSCSI 在安全方面的相關設定
7.7.1Initiator主機以IP認證方式獲取iSCSI Target資源
7.7.2Initiator主機以密碼認證方式獲取iSCSI Target資源
7.8iSCSI性能優化方案
7.8.1iSCSI性能瓶頸
7.8.2iSCSI性能優化
7.9本章小結
第8章分布式存儲系統MFS
8.1MFS概論
8.2MFS 文件系統
8.2.1MFS文件系統結構
8.2.2MFS的編譯與安裝實例
8.3編譯與使用MFS的經驗總結
8.3.1安裝選項說明
8.3.2管理伺服器
8.3.3元數據日誌伺服器
8.3.4數據存儲伺服器
8.3.5客戶端掛載
8.4管理與使用MFS
8.4.1在客戶端掛載文件系統
8.4.2MFS常用操作
8.4.3為垃圾箱設定隔離時間
8.4.4快照
8.4.5MFS的其他命令
8.5維護MFS
8.5.1啟動MFS集群
8.5.2停止MFS集群
8.5.3MFS 數據存儲伺服器的維護
8.5.4MFS元數據的備份
8.5.5MFS 管理伺服器的恢復
8.5.6從備份恢復MFS 管理伺服器
8.6通過冗餘實現失敗防護的解決方案
8.7本章小結
第4篇運維監控與性能優化篇
第9章運維監控利器Nagios
9.1Nagios綜述
9.1.1什麼是Nagios
9.1.2Nagios的結構與特點
9.2Nagios的安裝與配置
9.2.1安裝Nagios
9.2.2配置Nagios
9.3Nagios的運行和維護
9.3.1驗證Nagios配置文件的正確性
9.3.2啟動與停止Nagios
9.3.3Nagios故障報警
9.4Nagios性能分析圖表的實現
9.4.1Nagios性能分析圖表的作用
9.4.2PNP的概念與安裝環境
9.4.3安裝PNP
9.4.4配置PNP
9.4.5修改Nagios配置文件
9.4.6測試PNP功能
9.5利用插件擴展Nagios的監控功能
9.5.1利用NRPE外部構件監控遠程主機
9.5.2利用飛信實現Nagios簡訊報警功能
9.6本章小結
第10章基於Linux伺服器的性能分析與優化
10.1系統性能分析的目的
10.1.1找到系統性能的瓶頸
10.1.2提供性能優化方案
10.1.3使系統硬體和軟體資源的使用達到平衡
10.2分析系統性能涉及的人員
10.2.1Linux系統管理人員
10.2.2系統架構設計人員
10.2.3軟體開發人員
10.3影響Linux性能的各種因素
10.3.1系統硬體資源
10.3.2操作系統相關資源
10.3.3應用程序軟體資源
10.4系統性能分析標准和優化原則
10.5幾種典型應用對系統資源使用的特點
10.5.1以靜態內容為主的Web應用
10.5.2以動態內容為主的Web應用
10.5.3資料庫應用
10.5.4軟體下載應用
10.5.5流媒體服務應用
10.6Linux下常見的性能分析工具
10.6.1vmstat命令
10.6.2sar命令
10.6.3iostat命令
10.6.4free命令
10.6.5uptime命令
10.6.6netstat命令
10.6.7top命令
10.7基於Web應用的性能分析及優化案例
10.7.1基於動態內容為主的網站優化案例
10.7.2基於動態、靜態內容結合的網站優化案例
10.8本章小結
第5篇集群高級應用篇
第11章構建高可用的LVS負載均衡集群
11.1LVS集群的組成與特點
11.1.1LVS集群的組成
11.1.2LVS集群的特點
11.1.3LVS集群系統的優缺點
11.2高可用 LVS負載均衡集群體系結構
11.3高可用性軟體Heartbeat與Keepalived
11.3.1開源HA軟體Heartbeat的介紹
11.3.2安裝heartbeat
11.3.3開源HA軟體Keepalived的介紹
11.3.4安裝Keepalived
11.4安裝LVS軟體
11.4.1配置與檢查安裝環境
11.4.2在Director Server上安裝IPVS管理軟體
11.5搭建高可用 LVS集群
11.5.1通過heartbeat搭建LVS高可用性集群
11.5.2通過Keepalived搭建LVS高可用性集群系統
11.5.3通過piranha搭建LVS高可用性集群
11.6測試高可用LVS負載均衡集群系統
11.6.1高可用性功能測試
11.6.2負載均衡測試
11.6.3故障切換測試
11.7本章小結
第12章RHCS集群
12.1RHCS集群概述
12.2RHCS集群的組成與結構
12.2.1RHCS集群的組成
12.2.2RHCS集群結構
12.3RHCS集群的運行原理及功能
12.3.1分布式集群管理器(CMAN)
12.3.2鎖管理(DLM)
12.3.3配置文件管理(CCS)
12.3.4柵設備(Fence)
12.3.5高可用性服務管理器
12.3.6集群配置和管理工具
12.3.7Redhat GFS
12.4安裝RHCS
12.4.1安裝前准備工作
12.4.2配置共享存儲和RHCS管理端Luci
12.4.3在集群節點上安裝RHCS軟體包
12.4.4在集群節點上安裝和配置iSCSI客戶端
12.5配置RHCS高可用集群
12.5.1創建一個cluster
12.5.2創建Failover Domain
12.5.3創建Resources
12.5.4創建Service
12.5.5配置存儲集群GFS
12.5.6配置表決磁碟
12.5.7配置Fence設備
12.6管理和維護RHCS集群
12.6.1啟動RHCS集群
12.6.2關閉RHCS集群
12.6.3管理應用服務
12.6.4監控RHCS集群狀態
12.6.5管理和維護GFS2文件系統
12.7RHCS集群功能測試
12.7.1高可用集群測試
12.7.2存儲集群測試
12.8本章小結
第13章Oracle RAC集群
13.1Oracle集群體系結構
13.2Oracle ClusterWare體系結構與進程介紹
13.2.1Oracle ClusterWare 簡介
13.2.2Oracle ClusterWare 進程介紹
13.3RAC資料庫體系結構與進程
13.3.1RAC 簡介
13.3.2Oracle RAC的特點
13.3.3RAC進程管理
13.3.4RAC資料庫存儲規劃
13.4安裝Oracle RAC資料庫
13.4.1安裝前的系統配置需求
13.4.2設置資料庫安裝資源
13.4.3配置主機解析文件
13.4.4檢查所需軟體包
13.4.5配置系統內核參數
13.4.6設置 Shell對Oracle用戶的限制
13.4.7配置hangcheck-timer內核模塊
13.4.8配置系統安全設置
13.4.9創建Oracle用戶和組
13.4.10設置Oracle用戶環境變數
13.4.11配置節點間SSH信任
13.4.12配置共享存儲系統
13.4.13安裝Oracle Clusterware
13.4.14安裝Oracle資料庫
13.4.15配置Oracle Net
13.4.16創建RAC資料庫
13.5Oracle CRS的管理與維護
13.5.1查看集群狀態
13.5.2啟動與關閉集群服務資源
13.5.3啟動與關閉CRS
13.5.4管理voting disk
13.5.5管理OCR
13.5.6快速卸載CRS
13.6ASM基本操作維護
13.6.1ASM的特點
13.6.2ASM的體系結構與後台進程
13.6.3管理ASM實例
13.7利用srvctl管理RAC資料庫
13.7.1查看實例狀態(srvctl status)
13.7.2查看RAC資料庫配置信息(srvctl config)
13.7.3啟動
13.7.4增加
13.8測試RAC資料庫集群的功能
13.8.1負載均衡測試
13.8.2透明應用失敗切換測試
13.9本章小結
第14章構建MySQL+heartbeat+DRBD+LVS集群應用系統
14.1MySQL高可用集群概述
14.2heartbeat + DRBD高可用性方案的實現原理
14.3部署MySQL高可用高擴展集群
14.3.1配置之前的准備
14.3.2DRBD的部署
14.3.3DRBD的配置
14.3.4DRBD的維護和管理
14.3.5DRBD的性能優化
14.3.6MySQL的部署
14.3.7heartbeat的部署
14.4搭建Slave集群
14.4.1為什麼要搭建Slave集群
14.4.2利用LVS+Keepalived搭建高可用MySQL Slave集群
14.4.3高可用Slave集群的一些注意點
14.5部署MySQL集群要考慮的問題
14.6本章小結
㈡ linux中安裝了一個插件,這個插件裝完後正常的情況在終端輸入./phpxujh -p pid可查看當前PID的運行情況,
目錄
開始之前
系統環境
監控內容
所需軟體包
CentOS7重要變化
配置開發環境
同步時間
關閉Selinux
使用CRT上傳軟體包
安裝郵件服務
監控主機安裝
常用到的命令
安裝nagios所需要的運行環境
增加用戶
安裝nagios
配置許可權
安裝插件
安裝nrpe
遠程主機安裝
常用到的命令
配置運行環境
安裝nagios-plugin
安裝nrpe
啟動nrpe
監控主機安裝PNP
配置開發環境
安裝pnp4nagios (版本號為0.6)
配置pnp4nagios
圖表展示
問題集合
在首次配置了nagios監控端後,在瀏覽器輸入地址後連接不上
啟動nrpe後卻不能互相通信
安裝pnp4nagios後出現The requested URL /pnp4nagios/graph was not found on this server.
出現「CHECK_NRPE: Error - Could not complete SSL handshake.」的錯誤
執行 ./configure時報錯:configure error cannot find ssl headers
解壓./configure 後,在nagios-4.0.8進行make all報錯
安裝nrpe時執行.configure出錯
錯誤:perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty
開始之前
聲明:本文中的命令都經過了測試,但難免有所紕漏,如果你發現命令粘貼後運行有錯,可能是由於符號的格式(尤其是破折號)導致的,此時你應該自己手打一遍命令。對於本文中發現的錯誤和建議,請發送郵件給我:
[email protected],請在郵件主題里註明「關於nagios的問題(建議)」。
--------------------------------------分割線 --------------------------------------
在Ubuntu下配置Mrtg監控Nginx和伺服器系統資源 http://www.linuxidc.com/Linux/2013-08/88417.htm
使用 snmp+Mrtg 監控 Linux 系統 http://www.linuxidc.com/Linux/2012-11/73561.htm
Mrtg伺服器搭建(監控網路流量) http://www.linuxidc.com/Linux/2012-07/64315.htm
網路監控器Nagios全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm
Nagios搭建與配置詳解 http://www.linuxidc.com/Linux/2013-05/84848.htm
Nginx環境下構建Nagios監控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm
在RHEL5.3上配置基本的Nagios系統(使用Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm
CentOS 5.5+Nginx+Nagios監控端和被控端安裝配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm
Ubuntu 13.10 Server 安裝 Nagios Core 網路監控運用 http://www.linuxidc.com/Linux/2013-11/93047.htm
--------------------------------------分割線 --------------------------------------
系統環境
一共3台機器,全都按照CentOS7最小化模式安裝系統
系統版本號
[root@localhost ~]# cat /etc/RedHat-release
CentOS Linux release 7.0.1406 (Core)
監控主機
(一台)
IP地址:192.168.1.204
主機名稱:nagios_server_204
遠程主機
(兩台)
IP地址:192.168.1.112
主機名稱:nagios_slave_112
IP地址:192.168.1.113
主機名稱:nagios_slave_113
分區情況
安裝時使用默認分區(使用 df 命令來查看)
[root@localhost ~]# df -h
監控內容
要監控的服務
監控命令
cpu負載
(check_linux_state.pl -C)
當前用戶登錄數量
(check_users)
磁碟使用情況
(check_disk)
總進程數
(check_procs)
內存使用情況
(check_linux_stats.pl -M)
負載均衡
(check_load)
磁碟IO
(check_linux_stats.pl -I)
網路流量
(check_linux_stats.pl -N)
打開的文件數量
(check_linux_stats.pl -F)
socket連接數
(check_linux_stats.pl -S)
進程使用的內存和CPU
(check_linux_stats.pl -T)
指定的網站是否可連接
(check_http)
系統在線時長
(check_uptime)
所需軟體包
監控主機
軟體包
下載地址
nagios-4.0.8.tar.gz
請到我的github地址里下載:
https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_server
註明:我的github項目install_nagios_automatically是一個一鍵自動化安裝nagios的項目(能運行,但還在完善中)
nagios-plugins-2.0.3.tar.gz
nrpe-2.15.tar.gz
pnp4nagios-0.6.25.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
libxml2-2.7.1.tar.gz
遠程主機
軟體包
下載地址
nagios-plugins-2.0.3.tar.gz
請到我的github地址里下載:
https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_client
nrpe-2.15.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
Centos7重要變化
Centos7相比較以前的Centos有一些涉及到常用命令的變化,如果不事先了解,會在使用命令的時候造成巨大的困擾
Centos7默認沒有ifconfig和netstat兩個命令了,ip addr命令代替了ifconfig,只要安裝上net-tools包就可以繼續使用ifconfig和netstat兩個命令了
systemctl命令的出現(systemctl可以看作是service和chkconfig的組合),雖然仍然可以使用以前的命令,但是會重定向到新的命令中,下面以http服務為例
job
以前的系統
CentOS7
服務開機啟動
chkconfig --level 3 httpd on
systemctl enable httpd.service
服務不開機啟動
chkconfig --level 3 httpd off
systemctl disable httpd
服務狀態
service httpd status
systemctl status httpd
所有服務的啟動狀態
chkconfig --list
systemctl
啟動服務
service httpd start
systemctl start httpd.service
停止服務
service httpd stop
systemctl stop httpd.service
重啟服務
service httpd restart
systemctl restart httpd.service
配置開發環境
同步時間
把監控系統里的所有機器都同步一次網路時間(非常重要)
[root@localhost ~]timedatectl #該命令用來檢查當前時間和時區
如果發現所有機器的時區不一致,此時就要使用命令
[root@localhost ~]timedatectl list-timezones #該命令列出了所有的時區
[root@localhost ~]timedatectl set-timezone Asia/Shanghai #該命令把時區設置為上海
ntpdate time.nist.gov #該命令同步網路當前的時間
如果提示沒有ntpdate命令,則安裝ntp,並且配置系統自動更新時間
[root@localhost ~]# yum install ntp -y
[root@localhost ~]# /usr/sbin/ntpdate time.nist.gov
[root@localhost ~]# echo '#time sync'>>/var/spool/cron/root
[root@localhost ~]# echo '*/10**** /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'>>/var/spool/cron/root
關閉Selinux
不關閉selinux可能會導致一些難以察覺的錯誤,為了保險起見,首先關閉selinux:
[root@localhost ~]vi /etc/selinux/config
重啟機器
檢查selinux是否關閉:
[root@localhost ~]getenforce #如果顯示enforcing則沒有關閉
使用SecureCRT上傳軟體包
我在這里使用的SSH連接工具是SecureCRT7.2,通過這個工具上傳文件到Linux的步驟如下:
1. 首先在Linux中安裝傳送文件命令:
[root@localhost ~] yum install lrzsz -y
2. 然後在Linux中跳轉到/usr/local/src目錄下
[root@localhost ~] cd /usr/local/src
3. 運行CRT的傳送文件命令
安裝郵件服務
因為郵件報警服務需要安裝mail功能
[root@localhost ~]yum install –y mailx
[root@localhost ~]yum install –y sendmail
[root@localhost ~]systemctl restart sendmail.service
[root@localhost ~]mail –s Test [email protected](你的郵箱地址)
#此時進入輸入模式,輸入完郵件內容後按ctrl + d退出並且發送
監控主機安裝
常用到的命令
命令內容
命令格式
檢查nagios的配置文件是否有錯
/etc/init.d/nagios checkconfig
或者
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
啟動nagios
systemctl start nagios.service
或者
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
修改了nagios的配置文件後重新載入配置文件
/etc/init
安裝nagios所需要的運行環境
[root@localhost ~]# yum install gcc glibc glibc-common -y
[root@localhost ~]# yum install php php-gd perl -y
[root@localhost ~]# yum install httpd gd gd-devel openssl openssl-devel -y
[root@localhost ~]# systemctl enable httpd.service #設置CentOS開機啟動服務
增加用戶
[root@localhost ~]useradd -m nagios
並將nagios以及apache用戶加入到nagcmd組中
[root@localhost ~]groupadd nagcmd
[root@localhost ~]usermod -G nagcmd nagios
[root@localhost ~]usermod -a -G nagcmd apache #把apace用戶添加到與nagios的一個組(apache用戶會在安裝apache時自動創建)
安裝nagios
[root@localhost src]# tar -zxvf nagios-4.0.8.tar.gz
[root@localhost src]# cd nagios-4.0.8
首先初始化和建立編譯的環境
[root@localhost nagios-4.0.8]#./configure --with-command-group=nagcmd
如果能看到下面的基本配置信息則說明初始的環境已經成功配置完成:
之後按照提示執行命令來進行編譯:
[root@localhost nagios-4.0.8]# make all
[root@localhost nagios-4.0.8]# make install
[root@localhost nagios-4.0.8]# make install-init
[root@localhost nagios-4.0.8]# make install-config
[root@localhost nagios-4.0.8]# make install-commandmode
[root@localhost nagios-4.0.8]# make install-webconf
安裝完成之後,在/usr/local/nagios目錄下如果能夠看到這些目錄:
就表示Naigos安裝成功了。
Nagios的樣例配置文件默認安裝在/usr/local/nagios/etc目錄下,配置這些文件就可以使得nagios按要求運行(詳細的配置過程請參考我的另一篇博文:nagios服務配置詳解)
此時應該為email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
[root@localhost]# vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #把描紅的地方修改為你的email地址
創建一個登錄nagios web程序的用戶(用戶名配置為nagiosadmin則不需要配置許可權,設置為其他用戶名就要配置許可權),我在這里把用戶名設置為kylinlin,密碼為123456,這個用戶帳號在以後通過web登錄nagios認證時所用:
[root@localhost ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users kylinlin 123456 #把描紅的地方修改為你的用戶名和密碼
配置許可權
如果在上面創建登陸nagios web程序的用戶名不是nagiosadmin(我在上面已經設置為kylinlin),在登陸nagios的web界面後(此時我們還不能登錄,但如果你忽略了這一小節的配置,那麼在後面的登陸中就會看到如下的界面),點擊Hosts或Services會顯示圖片紅色的錯誤提示
是因為nagios默認把全部的許可權給nagiosadmin,所以可以通過修改cgi.cfg文件賦予kylinlin許可權,切換到/usr/local/nagios/etc目錄下
[root@localhost etc]# sed -i 's#nagiosadmin#kylinlin#g' cgi.cfg #這條命令將nagiosadmin用戶名替換為kylinlin
[root@localhost etc]# grep kylinlin cgi.cfg #這條命令檢查是否修改成功
以上過程配置結束以後需要重新啟動httpd:
[root@localhost etc]# systemctl restart httpd.service
檢查其主配置文件的語法是否正確:
[root@localhost etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面這個命令來檢查語法
[root@localhost etc]# /etc/init.d/nagios checkconfig
顯示錯誤數為0才正確
配置成功
安裝插件
剛才已經提到Nagios主程序只是一個控制中心,而能夠起到服務監測和系統監測等功能的是眾多Nagios的插件,沒有插件的Nagios系統其實只是一個空殼。因此在安裝了Nagios平台之後我們還需要安裝插件。
Nagios插件同樣是在其官方網站下載,目前版本是1.4.15。我將下載的源碼包放到/usr/local目錄下,按照下面的步驟進行解壓,編譯和安裝:
[root@localhost src]# tar zxf nagios-plugins-2.0.3.tar.gz
[root@localhost src]# cd nagios-plugins-2.0.3
[root@localhost nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.0.3]#make
[root@localhost nagios-plugins-2.0.3]#make install
通過下面的命令查看安裝了多少個插件
[root@localhost nagios-plugins-2.0.3]#ls /usr/local/nagios/libexec/|wc -l
然後把Nagios加入到服務列表中以使之在系統啟動時自動啟動:
[root@localhost nagios-plugins-2.0.3]# chkconfig --add nagios
[root@localhost nagios-plugins-2.0.3]# chkconfig nagios on
執行下面的命令來驗證Nagios的樣例配置文件:
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
㈢ linux的啟動項怎麼設置啊
chkconfig: 345 99 01
345:表示啟動級別。啟動級別包括1,2,3,4,5,6,其中常用的是3和5。3表示文字模式啟動,5表示圖形界面啟動。
99:表示系統啟動後,每個服務的啟動順序。啟動順序是從標記為00的服務開始。通常不是特別重要的服務可以用99之後數字,如100,101。。。
01:表示系統關閉時,最先關閉的服務。
2.# chkconfig: 345 99 01# description: Nagios network monitor這2句話加在哪兒?
Nagios的配置文件的開頭如下所示:
cat /etc/init.d/npcd
#!/bin/sh
#Init Script for NPCD
#chkconfig:345 99 01
#description:Nagios network monitor
。。
3.chkconfig --level 345 smb on
該命令是根據/etc/init.d/smbd文件在/etc/rc.d/rc3.d/和/etc/rc.d/rc4.d/和/etc/rc.d/rc5.d/的目錄下建立鏈接,達到在3,4,5啟動級別時開機自動啟動的目的。
另外:chkconfig smb on 是在所有啟動級別時開機自動啟動。
4. 要想開機不啟動某個服務怎麼設置?~!
chkconfig smb off
是在所有啟動級別時開機都不自動啟動。
chkconfig --level 345 smb off
是在3,4,5啟動級別時開機不自動啟動。