19.1-19.6
常見開源監控軟件
cacti、nagios、zabbix、smokeping、open-falcon等等
cacti、smokeping偏向於基礎監控,成圖非常漂亮
cacti、nagios、zabbix服務端監控中心,需要php環境支持,其中zabbix和cacti都需要mysql作為數據存儲,nagios不用存儲歷史數據,註重服務或者監控項的狀態,zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而可以成圖
open-falcon為小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究
後續以介紹zabbix為主
19.2 zabbix監控介紹
C/S架構,基於C++開發,監控中心支持web界面配置和管理
單server節點可以支持上萬臺客戶端
最新版本3.4,官方文檔https://www.zabbix.com/manuals
5個組件
zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操作數據
數據存儲 存放數據,比如mysql
web界面 也叫web UI,在web界面下操作配置是zabbix簡單易用的主要原因
zabbix-proxy 可選組件,它可以代替zabbix-server的功能,減輕server的壓力
zabbix-agent 客戶端軟件,負責采集各個監控服務或項目的數據,並上報
zabbix監控流程圖
截圖
解釋:
監控主機,先添加主機到監控中心,讓其2者之間通信。
然後再添加配置監控項目,監控項目配置完成後,並能與服務端進行通信,
通信的同時會進行采集數據動作(存入數據庫,mysql),采集完數據後,會上報到數據中心(zabbix server)。
整個采集過程可以是主動或被動。
zabbix server建立告警規則,過濾采集的數據是否達到告警的條件,如果達到了條件,會進行告警。如果沒有達到要求,會進行存儲。
除此之外,zabbix server還需要配置報警的機制,當檢測到數據達到告警條件後,需要通過什麽方式進行告警,短信?郵件?還是QQ信息?被通知的對象?
這些都需要在服務端(zabbix server)上面配置。
所有的配置過程,全部都可以在Web界面(UI界面交互)上面操作。
采集後的數據能通過圖形呈現出來,最終在Web界面展現出來。
19.3 安裝zabbix(上)
準備工作
兩臺Linux
一臺服務端server centos7-01 192.168.189.128
一臺客戶端client centos7-02 192.168.189.129
1 官網下載地址 www.zabbix.com/download
zabbix版本3.2-->> Centos 7-->> Database-->> MySQL-->>獲取下載地址
1.1 wget下載
#wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2 安裝zabbix
2.1 先安裝rpm包
[root@centos7-01 src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
警告:zabbix-release-3.2-1.el7.noarch.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID a14fe591: NOKEY
準備中... ################################# [100%]
正在升級/安裝...
1:zabbix-release-3.2-1.el7 ################################# [100%]
其實這裏是安裝了一個zabbix的yum源,目的是方便zabbix 利用yum安裝其他zabbix的組件。
[root@centos7-01 src]# ls /etc/yum.repos.d/zabbix.repo
/etc/yum.repos.d/zabbix.repo
2.2 服務端安裝zabbix的五個組件
#yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
組件介紹
zabbix-agent 客戶端軟件,
zabbix-get 服務端工具,可以通過命令行模式獲得客戶端的某些監控項目的數據
zabbix-server-mysql 安裝跟mysql相關的文件(.mysql),後續安裝zabbix的時候,會需要這種文件的導入
zabbix-web web的界面,web UI
zabbix-web-mysql 安裝web和mysql相關的文件
2.3 客戶端只需要安裝zabbix-agent
zabbix安裝會連帶安裝httpd和php
3 啟動mysql
[root@centos7-01 src]# systemctl start mysql
[root@centos7-01 src]# ps aux |grep mysql
root 1155 0.0 0.1 115388 1676 ? S 10:29 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/centos7-01.pid
mysql 1344 0.0 45.8 1301056 462076 ? Sl 10:29 0:15 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/centos7-01.err --pid-file=/data/mysql/centos7-01.pid --socket=/tmp/mysql.sock
root 3853 0.0 0.0 112676 980 pts/0 R+ 18:00 0:00 grep --color=auto mysql
****如果mysql啟動失敗,分析一下原因:
讀寫權限出錯,給予/data/mysql所屬主所屬組用戶權限,執行#chown -R mysql:mysql /data/mysql
如果再不行的話,嘗試給予755權限。
4 編輯mysql的配置文件/etc/my.cnf
[root@centos7-01 src]#vim /etc/my.cnf //需要增加配置
character_set_server = utf8
如果沒設置這參數,中文顯示會有問題
4.1 重啟mysql服務
[root@centos7-01 src]# systemctl restart mysql
5 創建zabbix庫
登錄mysql
create database zabbix character set utf8;
create database zabbix character set utf8;
再創建用戶
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
導入數據
cd /usr/share/doc/zabbix-server-mysql-3.2.7
gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql
19.1-19.6