監控軟件有cacti、nagios、zabbix、smokeping、open-falcon等等。
cacti、smokeping偏向於基礎監控,成圖很是漂亮。
cacti、nagios、zabbix三款軟件均可以監控服務器的基礎指標,好比CPU、內存、硬盤、網絡等,其中cacti更擅長監控網絡流量,不少IDC機房的網絡設備流量用cacti監控,應爲它成圖專業。三款軟件都是C/S架構,須要安裝一個服務端,而後還須要在被監控的機器上安裝客戶端。它們也都須要php環境支持,其中zabbix和cacti都須要mysql做爲數據存儲,nagios不用存儲歷史數據,注重服務或者監控項的狀態,zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而能夠成圖。
open-falcon爲小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究。php
zabbix適合中小企業,也適合大型企業,它是C/S架構,分爲服務端和客戶端,單個服務端節點能夠支持上萬臺客戶端。基於C++開發,監控中心支持web界面配置和管理。
zabbix最新版本3.4,官方文檔網址https://www.zabbix.com/manualsmysql
zabbix的5個組件linux
1. zabbix-server 監控中心,是整個監控體系的最核心組件,負責接收客戶端上報信息,負責配置、統計、操做數據
2. 數據存儲 用於存放數據,好比mysql
3. web界面 也叫web UI,在web界面下操做配置是zabbix簡單易用的主要緣由,能夠在web界面中配置、管理各個客戶端。運行web界面須要PHP環境支持。
4. zabbix-proxy 爲可選組件,它能夠代替zabbix-server的功能,減輕server的壓力
5. zabbix-agent 客戶端軟件,負責採集各個監控服務或項目的數據,並上報ios
zabbix運行流程web
準備兩臺機器作實驗,一臺爲服務端,另外一臺客戶端sql
用yum安裝zabbix數據庫
首先安裝zabbix的yum擴展源,而後利用yum安裝zabbix。在服務端上執行命令:vim
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm瀏覽器
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm服務器
yum list |grep zabbix //列出zabbix相關的包,
須要安裝的包有:
zabbix-agent :客戶端程序
zabbix-get :服務端上命令行獲取哭護短檢測項目的工具。
zabbix-server-mysql :zabbix-server MySQL版
zabbix-web :web界面
zabbix-web-mysql:web界面MySQL相關
在服務端用yum安裝這五個包:
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
若是沒有安裝MySQL就要先在服務端安裝MySQL。
而後編輯MySQL的配置文件,在文件[mysqld]下增長一行內容
#vim /etc/my.cnf //須要增長配置
character_set_server = utf8
重啓mysqld服務後,進入mysql命令行,建立zabbix庫
mysql> create database zabbix character set utf8;
再建立用戶
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'xiny-zabbix';
導入zabbix相關數據
#cd /usr/share/doc/zabbix-server-mysql-3.2.7
#gzip -d create.sql.gz
#mysql -uroot -pxxx zabbix < create.sql
#systemctl start httpd; systemctl enable httpd
修改zabbix-server的配置文件,啓動zabbix-server服務
#vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1 //在DBName=zabbix上面增長這一行
DBPassword=xiny-zabbix //在DBuser下面增長
#systemctl start zabbix-server //啓動zabbix-server
#systemctl enable zabbix-server //使它開機啓動
#netstat -lntp |grep zabbix //查看監聽端口
在瀏覽器中訪問http://ip/zabbix 會出現一個zabbix界面。點擊右下角的Next step會出現警告提示,解決這個問題要編輯php.ini或者zabbix的httpd配置文件。
#vim /etc/httpd/conf.d/zabbix.conf
增長下面一行內容:
php_value date.timezone Asia/Shanghai
而後重啓httpd服務在刷新瀏覽器配置zabbix,從新點擊Next step,填寫相關信息
用戶名Admin 密碼zabbix
進入後臺第一件事情就是修改密碼
在客戶端上安裝zabbix的yum源,而後安裝zabbix-agent,再修改配置文件。
#vim /etc/zabbix/zabbix-agentd.conf //修改的內容有
Server=192.168.42.128 //定義服務端的IP(被動模式)
ServerActive=192.168.42.128 //定義服務端的IP(主動模式)
Hostname=xiny-123 //定義主機名,在web頁面下要設置一樣的主機名
而後啓動服務和使它開機啓動
#systemctl start zabbix-agent
#systemctl enable zabbix-agent
進入mysql命令行,選擇zabbix庫 #mysql -uroot -p zabbix mysql> update users set passwd=md5(‘newpasswd’) where alias=‘Admin’; 這樣就更改了Admin用戶的密碼爲newpasswd