前言:zabbix是一款很好用的監控工具,相比nagios(也是監控工具的一種)而言,zabbix提供了強大的視圖界面,操作簡單,功能強大,只需在頁面配置即可,讓你用的開心,回家放心。
zabbix監控的原理:
zabbix agent需要安裝到被監控的主機上,它負責定期收集本服務器的各項數據,列如:cpu的使用率、磁盤的使用率、內存的使用率、web應用服務日志以及web程序是否在正常運行等,
並將這些收集到的數據發送到zabbix server端,zabbix server 將收集到的數據存儲在數據庫中,zabbix web 再將數據庫中的數據信息以圖片或繪畫的形式展現在頁面上。
zabbix監控一般分為兩種模式:主動模式和被動模式
主動模式:zabbix-agent客戶端主動將本服務器的數據收集起來發送到zabbix-server服務器
被動模式:zabbix-server服務器去請求zabbix-agent客戶端,zabbix-agent客戶端在根據zabbix-server服務器請求的信息來收集相應要求的數據,在
把數據傳回zabbix-server服務器。
由此來看,主動模式更被大家喜歡,誰喜歡被動是吧(愛情方面也是,哈哈哈哈)
言歸正傳,實際生產中,大部分的監控都是使用主動模式,這樣可以減小zabbix-server服務端的壓力,也少部分需要使用被動模式監控,例如mysql數據庫的主從模式
就是用被動模式來監控的,主被結合動起來才爽嘛,你懂得(開車了,大家跟上)
---------------------------------------------------------------------------------------------------------------
環境
192.168.1.162 zabbix-server 服務端
192.168.1.174 zabbix-agent 客戶端
----------------------------------------------------------------------------------------------------------
zabbix-server 服務端上做
一:側方位停車
1、安裝zabbix-server以及相關軟件包
zabbix-release-3.5-1.el7.noarch.rpm
zabbix-get-3.5-1.el7.x86_64.rpm
zabbix-server-3.5-1.el7.x86_64.rpm
zabbix-server-mysql-3.5-1.el7.x86_64 .rpm
zabbix-web-3.5-1.el7.noarch.rpm
zabbix-web-mysql-3.5-1.el7.noarch.rpm
php-bcmath-5.4.16-46.1.el7.x86_64.rpm
php-mbstring-5.4.16-46.el7.x86_64.rpm
官方zabbix依賴包地址及相關php軟件包地址
http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/
https://pkgs.org/download/php-bcmath
https://pkgs.org/download/php-mbstring
根據你自己的服務器系統選擇相應的軟件包,我的是centos7的系統
將這些包下載之后放到zabbix-server服務器的/root下面
yum install -y /root/*.rpm httpd 說明:rpm包 httpd mysql php 都是安裝在zabbix-server服務端的
如果你yum install報錯有問題,請你看清楚,我上面一共有8個rpm包,是不是你少下載了一個,而且
zabbix-release-3.5-1.el7.noarch.rpm 這個軟件包尤其重要,其他包都是依賴這個包才能下載
---------------------------------------------------------------------------------------------------------------------------
二、定點停車
2、 非編譯安裝mysql數據庫。
這里的mysql用非編譯安裝的就好,不需要編譯安裝
官網下載mysql的非編譯安裝包
https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
不作為正式的數據庫用,所以版本沒有要求,5.6或者5.7都可以
yum install -y ncurses-devel libaio-devel 安裝依賴包
ls /root
mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
cd /root
tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.41 /usr/local/mysql
創建mysql用戶, 組及目錄
groupadd mysql
useradd -r -g mysql mysql
創建數據目錄
mkdir -p /data/mysql/data
初始化數據庫
cd /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
配置mysql服務開機自動啟動
chkconfig mysqld on
啟動mysql服務
service mysqld start
配置mysql登錄命令的環境變量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin 在文件的最后一行添加
使環境變量立即生效
source /etc/profile
假如你一台服務器有多個環境變量需要配置,如下舉例配置即可
export PATH=$A/bin:$B/bin:$C/bin:$PATH
配置zabbix鏈接數據庫的信息(你在頁面上配置的監控等,都是以數據的形式存在數據庫里面的)
vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.1.162 (數據庫IP地址)
DBName=zabbix (數據庫名)
DBUser=zbxuser (登錄數據庫的用戶名)
DBPassword=redhat (登錄數據庫的密碼)
DBSocket=/var/lib/mysql/mysql.sock (數據庫的sock文件的路徑)
訪問mysql數據庫,創建zabbix的數據庫信息
mysql 直接回車即可 (5.6版本免編譯安裝的mysql本地登錄不需要用戶和密碼,5.7不太清楚)
mysql> CREATE DATABASE zabbix; (創建zabbix庫)
mysql> GRANT ALL ON zabbix.* TO zbxuser@'192.168.1.%' IDENTIFIED BY 'redhat'; (給zabbix庫創建登錄用戶和密碼並授權)
mysql> FLUSH PRIVILEGES; (刷新一下,使權限立即生效)
-------------------------------------------------------------------------------------------------------------------
三、直角拐彎
3、導入zabbix基本配置數據到zabbix數據庫並啟動zabbix-server的服務。
cp /usr/share/doc/zabbix-server-mysql-3.5/create.sql.gz /tmp/
cd /tmp
gzip -d create.sql.gz 解壓數據文件
ls
create.sql
mysql
mysql> USE zabbix; 進入到zabbix庫
mysql> source /tmp/create.sql; 將sql文件導入數據庫
vim /etc/php.ini
:/time_zone 找到這一行
Asia/Shanghai
systemctl start zabbix-server.service 或者 service zabbix-server start 看你用的什么系統
systemctl start httpd.service 或者 service httpd start 看你用的什么系統
至此我們的zabbix-server服務端安裝完成了
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、s彎道
4、zabbix-agent客戶端安裝
zabbix-sender-3.5-1.el6.x86_64.rpm
zabbix-agent-3.5-1.el6.x86_64.rpm
http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/
將這兩個包下載放到zabbix-agent服務器的/root/
yum install -y /root/*.rpm
vim /etc/zabbix/zabbix_agentd.conf 修改配置文件
Server = 192.168.1.162 (zabbix-server服務器的IP地址)
ServerActive=192.168.1.162 (zabbix-server服務器的IP地址)
Hostname=192.168.1.174 (zabbix-agent客戶端的IP地址)
其他的參數都用默認的就好了
service zabbix-agent restart
至此zabbix-agent客戶端安裝完成
-------------------------------------------------------------------------------------
小插曲
我們現在可以手動測試下zabbix-server能否檢測到zabbix-agent的數據
在zabbix-server服務器(192.168.1.162)上操作
[root@zabbix-server ~]# zabbix_get -s 192.168.1.174 -k system.cpu.load[all,avg1]
0.050000
說明:
zabbix_get 是手動測試的命令
-s 目標服務器地址(也就是zabbix-agent客戶端的IP地址)
-K 監控的項目和鍵值 item[xx,xx]
我們可以看到192.168.1.174服務器cpu的使用率為5%,說明zabbix服務端可以檢測到zabbix客戶端的數據了
如果報錯可以手動測試下端口是否開放
yum install -y telnet
telnet 192.168.1.174 10050 (10050是zabbix-agent客戶端的默認端口)
注意:阿里雲的服務器需要到管理控制台的安全組開放10050端口,順便把10051端口也開放了吧
10051端口是zabbix-server服務端默認的端口
-------------------------------------------------------------------------------------
五、倒車入庫
最難也是最繁瑣的最后一個項目,能不能過就看它了
(以后的主導權在誰手上就看這最后一部了,進不去或者進錯位置就尷尬了,第一次嘛,翻車也在所難免,老司機在這,包你滿意,哈哈,跟上跟上)
192.168.1.162/zabbix
鼠標 點擊 next setp(下一步的意思)
鼠標 點擊 next setp
頁面安裝步驟省略了,很簡單的
在zabbix服務器的圖形化界面上的右上角 可以選擇profile(基本資料)改為中文版的
手動添加主機
配置自動發現
我們可以看到自動發現了zabbix-agent客戶端服務器192.168.1.174
至於發現主機192.168.1.174之后需要監聽服務器的哪些數據,請看另外一篇吧(有了第一次之后,后面還不是你想怎么樣就怎么樣,嘿嘿)
https://www.cnblogs.com/ouyangfei/p/12172183.html zabbix監控web應用日志報警並發送消息到釘釘