(一)zabbix-agent介紹和工作原理
1 介紹
zabbix([`z?biks])是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。zabbix agent可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系統之上。
zabbix server可以單獨監視遠程服務器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(agent方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
2 工作原理
一個監控系統運行的大概的流程是這樣的:
zabbix agent需要安裝到被監控的主機上,它負責定期收集各項數據,并發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展現和繪圖。這里agent收集數據分為主動和被動兩種模式:
主動:agent請求server獲取主動的監控項列表,并主動將監控項內需要檢測的數據提交給server/proxy
被動:server向agent請求獲取監控項的數據,agent返回數據。
(二)zabbix-agent的安裝----官網預編包下載安裝。
首先登陸到https://www.zabbix.com/download_agents 該網站下面,如下圖。
下面看一下自己的linux系統,我使用的是centOS 6.9 ,所以我下載下面的安裝包到我的服務器上。
https://www.zabbix.com/downloads/3.2.7/zabbix_agents_3.2.7.linux2_6.amd64.tar.gz將這個zabbix-agent安裝包下載下來。下完之后,我們來一步一步的安裝吧。
1、創建zabbix用戶和組
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin 新建zabbix用戶并將其加入到zabbix組,并將他設置為不可登錄的類型的用戶。
2、解壓zabbix預編譯包
tar -zxvf zabbix-3.2.2.tar.gz
解壓之后,出現下面三個目錄:
bin conf sbin
3 、我們進入到bin目下,看到如下命令。
zabbix_sender zabbix_get /
將這兩個命令建立軟連接到usr/bin目錄下面。
ln -s zabbix_sender zabbix_get /usr/bin
4 、接下來我們進入到sbin目錄下。ls可以看到這里面有個zabbix_agentd的可執行文件,這個可執行文件是zabbix 的客戶端的可執行文件,agent可以用來獲取和監控數據環境。同樣建立軟連接到usr 下面的sbin目錄下。
ln -s zabbix_agentd /usr/sbin/
5、接下來我們進入到conf目錄下。cd ../conf
這里面有一個zabbix_agentd.conf,這個就是zabbix-agent的配置文件。我們將它copy到/usr/local/etc目錄下面。
cp zabbix_agentd.conf /usr/local/etc/
6 、進入到zabbix_agentd.conf進行修改
vim /usr/local/etc/ zabbix_agentd.conf
zabbix_agentd.conf修改如下:
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=192.168.14.66#地址主動模式,填寫Server的IP
ServerActive=192.168.14.66 #修改為Server的IP地址
Hostname=Zabbix server #重要:客戶端的hostname,不配置則使用主機名
保存退出。
7 創建/var/log/zabbix/并給予權限。
mkdir /var/log/zabbix/
chown zabbix:zabbix /var/log/zabbix/
chmod 777 /var/log/zabbix/
touch /var/log/zabbix/zabbix_agentd.log
chmod 777 /var/log/zabbix/zabbix_agentd.log
8 、在客戶端上添加zabbix的監控端口
vim /etc/services
添加如下內容
zabbix_agent 10050/tcp
zabbix_agent 10050/udp
保存退出!
9 、拷貝啟動腳本
cp /usr/local /sbin/zabbix_agentd /etc/init.d
拷貝啟動腳本到/etc/init.d下
chmod a+x /etc/init.d/zabbix_agentd
為/etc/init.d下的啟動添加可執行權限
10、啟動zabbix客戶端
/etc/init.d/zabbix_agentd
11 、查看進程,確實zabbix客戶端是否啟動
ps -ef | grep zabbix
現在zabbix的服務并沒有起來,報沒有權限的錯誤,
12 、建立zabbix_agentd.pid并賦予權限
touch /tmp/zabbix_agentd.pid
chmod 777 /tmp/zabbix_agentd.pid
13 、關閉防火墻
service iptables stop
查看selinux:getenforce 狀態是開啟,
將它臨時關閉:setenforce 0
14 、在啟動一下
/etc/init.d/zabbix_agentd
輸入ps -ef | grep zabbix 可以看到啟動成功了。
現在安裝成功了!
(三)zabbix-agent安裝----yum的安裝方式
1.應用場景:
Zabbix監控系統提供兩種監控Linux主機的方法,一種是啟用主機上的SNMP協議,另一種是在主機上安裝Zabbix Agent服務,本篇介紹Linux系統下Zabbix Agent的安裝與使用。
2.添加Repository:
本文使用yum方式安裝Zabbix Agent,在安裝前首先添加對應的yum repository,以下列出了CentOS/RHEL版本的添加地址:
CentOS/RHEL 7:
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
CentOS/RHEL 6:
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
CentOS/RHEL 5:
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
其實這個rpm包是可以在官網上找到的。在該網址下:https://www.zabbix.com/download
3.安裝Zabbix Agent
yum install zabbix-agent
4.編輯Zabbix Agent 配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=[zabbix server ip]
ServerActive=[zabbix server ip]
Hostname=[ Hostname of client system ]
5.重啟Zabbix Agent
service zabbix-agent restart
6.添加開機啟動
chkconfig zabbix-agent on
參考: