1. 程式人生 > >19.1-19.6

19.1-19.6

zabbix

19.1 Linux監控平臺介紹

常見開源監控軟件

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