常見開源監控軟件:php
cacti、nagios、zabbix、smokeping、open-falcon等mysql
cacti、smokeping偏向於基礎監控,成圖漂亮ios
cacti、nagios、zabbix服務端監控中心,須要php環境支持,其中zabbix和cacti都須要mysql做爲數據存儲,nagios不用存儲歷史數據,注重服務或者監控項的狀態,zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而能夠成圖web
open-falcon爲小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究sql
zabbix是c/s架構,基於C++,監控中心支持web界面配置和管理數據庫
單agent節點可支持上萬臺客戶端。vim
組件:瀏覽器
1.zabbix-server:監控中心,接收客戶端上報的信息,負責配置,統計,操做數據bash
2.數據存儲:存放數據,好比mysql數據庫服務器
3.web界面: 也叫作Web UI ,在Web 界面下操做配置是zabbix簡單易用的主要緣由
4.zabbix-proxy (可選):當機器量很大的時候,能夠使用zabbix-proxy 減輕Server的負載 .有時候服務可能分佈在多個機房裏,每個機房的服務器之間是單獨的一個內網,這時候就能夠在某一個局域網裏搭建zabbix-proxy,用這臺proxy去監控這個局域網內的機器
5.zabbix-agent:客戶端軟件, 每一臺服務器上都需安裝agent, 負責採集各個監控服務或項目的數據,並上報
zabbix官網下載地址:https://www.zabbix.com/download
zabbix官網yum源下載地址:http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
1.安裝mysql,設置默認字符集並啓動:已安裝可跳過,
vim /etc/my.cnf #添加character_set_server = utf8 目的是爲了後續能在zabbix Web界面正常設置中文
/etc/init.d/mysqld restart
2.下載並安裝zabbix的yum源:wget http://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 #安裝後在/etc/yum.repos.d/下多了zabbix.repo
3.使用yum安裝zabbix服務端:yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql #agent:客戶端程序;get:服務端上命令行獲取客戶端檢測項目的工具;server-mysql:zabbix-server MySQL版;web:web界面;web-mysql:web界面MySQL相關;連帶安裝httpd和php
4.建立zabbix庫和用戶:
mysql -uroot
> create database zabbix character set utf8;
> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';
> quit
5.導入zabbix相關數據:
cd /usr/share/doc/zabbix-server-mysql-3.2.7/
gzip -d create.sql.gz
mysql -uroot zabbix < create.sql
6.修改zabbix配置:
vim /etc/zabbix/zabbix_server.conf #設置如下內容:
DBHost=127.0.0.1 #寫來源IP 搜索DBHost後添加此行,DBName=zabbix上增長 DBPassword=123456 #定義用戶的密碼,在mysql建立zabbix用戶時設置的密碼 在DBuser=zabbix下面增長
注:若mysql數據庫 在另一臺機器上,DBHost就要寫mysql數據庫所在機器的IP. 在這裏由於是本機寫127.0.0.1便可.
7.啓動zabbix和httpd:
systemctl start zabbix-server;systemctl start httpd
8.界面web配置:
瀏覽器輸入 server_IP/zabbix
點擊Next step,查看是否有fail項 #此時出現data.timezone項爲fail
去PHP配置文件設置timezone:vim /etc/php.ini #搜索date.timezone,把前面的「#」去掉,等號後添加Asia/Shanghai 即date.timezone = Asia/Shanghai
重啓httpd服務:systemctl restart httpd
刷新頁面繼續點擊Next step,填寫相關信息
繼續點擊Next step之結束。
默認登錄名和密碼:admin/zabbix #後續記得修改密碼
1.下載並安裝zabbix的yum源:wget http://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 #安裝後在/etc/yum.repos.d/下多了zabbix.repo
2.使用yum安裝zabbix服務端:yum install -y zabbix-agent
3.編輯zabbix配置文件:vim /etc/zabbix/zabbix_agentd.conf
#搜索Server= ,設置 Server=服務端IP #此爲客戶端被動模式
#搜索ServerActive=,設置 ServerActive=服務端IP #此爲客戶端主動模式
#搜索Hostname= , 設置成本機主機名 #是在Web界面上加監控主機的時候,顯示的主機名
4.啓動zabbix-agent
systemctl restart zabbix-agent
重置admin密碼的方法與重置Mysql root密碼同樣
mysql -uroot
> use zabbix
> desc users; #密碼存在了users表裏面
> mysqle users set passwd=md5('123456') where alias='admin'; #更改新密碼爲123456
> quit