您好,登錄后才能下訂單哦!
Zabbix簡介:
zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能
工作原理:
zabbix由幾個主要的軟件組件構成:
server: zabbix server是一個核心組件,agent可以向它報告可用性和完整性信息和統計數據。該server所有的配置,數據和業務數據都存在數據庫中。
數據庫存儲:所有的配置信息包括采集的數據都被zabbix存儲在數據庫中。
Web界面: 通過一個基于web的平臺,我們可以從任何一個地方訪問zabbix。這個web是zabbix server的一部分,通常跟server運行在同一臺物理機上。(SQLite必須得配置在同一臺物理機上)
Proxy: proxy可以代替server收集性能和可用性的數據。proxy是一個可選的部分,但它對于減弱zabbix server的負載非常有用。
agent: zabbix agent被部署在監控的目標上,主機監控本地的資源和應用并匯報數據給zabbix server。
Zabbix的幾個定義組件:
host: 你要監控的網絡設備,使用ip/域名.
host group: 主機的邏輯分組,可能包含主機和模板。主機組內的主機和模板是不以任何方式彼此連接。為不同的用戶分配權限時,使用主機組。
item: 你想從監控主機獲取到的某些數據
trigger: 定義一個閥值來看看從item中接收的數據是否有問題,使用邏輯表達式。當接收一個超過比閥值的,trigger從ok變成problem。當接收的數據低于閥值,trigger變成ok狀態。
event:一些值得關注的例如trigger狀態變化或者發現機制,agent自動注冊發生了。
action: 基于事件一個預定義的裝置.一個action包含條件和操作(發送一個郵件)。
escalation: 在action的操作中自定義,發送通知/遠程執行命令
media: 發送通知的一種手段。
notification: 一個事件經由選擇的媒體發送給用戶.
remote command: 當一些條件觸發時,預定義的遠程命令執行.
template: 準備被應用到一臺或多臺主機的實體(items, triggers, graphs, screens,applications, low-level discovery rules, web scenarios),模板加快了監控的部署。大規模的更改應用到監測任務。模板直接關聯到主機。
application: item的邏輯分組
web scenario: 一個或多個HTTP請求來檢查網站的可用性
frontend: zabbix提供的web界面
zabbix api: Zabbix API允許你使用json rpc協議來創建,更新和獲取zabbix對象(likehosts, items, graphs and others) 或執行其它自定義任務.
zabbix server: zabbix軟件的中心,用來執行監控,跟proxy和agent交互,計算trigger,發送通知,中央數據存儲。
zabbix agent:一個進程部署在監控主機上,主動監控本地資源和應用。
zabbix proxy:代替zabbix server采集數據,代替server承受些壓力。
Zabbix安裝:
服務器上面:
yum install -y gcc*
yum -y install httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath
同步服務器時間:
服務器端:
yum install -y ntp*
service ntpd start
chkconfig ntpd on
客戶端同步時間:
yum install -y ntp*
service ntpd start
chkconfig ntpd on
chkconfig ntpdate on
服務器上:
添加Zabbix運行所需要的用戶和組
useradd zabbix
啟動mysql并進行密碼設置及用戶授權
#service mysqld start
#mysqladmin –uroot password ‘123456’
#mysql –uroot –p
#create database zabbix;
#grant all on zabbix.* to zabbix@'%' identified by '123456';
編譯安裝Zabbix:
此次使用的軟件包是Zabbix.iso
編譯安裝Zabbix:
./configure --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql
若報錯:Not found mysqlclient library
則:cd /usr/lib64/mysql
ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
ln -s libmysqlclient.so.16.0.0 libmysqlclient.so
make && make install
#此處指定sysconfdir配置文件的路徑就在/etc/zabbix/目錄下了,如果不指定默認在/usr/local/etc下
復制 zabbixserver端跟agent端的啟動腳本,并設置執行權限:
將zabbix的頁面文件copy到指定目錄(跟apache配置的相同即可):
配置php配置文件:(/etc/php.ini)
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
配置zabbix-server端配置文件(定義數據庫的IP、用戶名、密碼):
選項較多,根據需要進行開啟,主要針對zabbix任務處理優化
啟動zabbix和apache
service zabbix_server start
service httpd start
瀏覽器訪問Zabbix:
檢查web程序的config文件,如果沒問題會顯示OK,直接點擊finish即可完成安裝(如果此處有問題一般是zabbix虛擬主機目錄文件的權限問題,上面已經有設置的過程一般不會出現問題)
客戶端:
安裝gcc環境
yum –y install gcc*
同步時間
ntpdate –u 192.168.88.10
創建運行用戶
useradd zabbix
解壓安裝zabbix-agent
#tar xf zabbix-2.2.2.tar.gz
#cd zabbix-2.2.2
#./configure --sysconfdir=/etc/zabbix --enable-agent
#make && make install
復制agent端運行所需要的腳本
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
配置agent端配置文件
vim /etc/zabbix/zabbix_agentd.conf
#此處千萬別寫成zabbix_agent.conf,否則配置了不生效
Server=192.168.88.10 #填寫Server的IP地址
ServerActive=192.168.88.10 #修改為Server的IP地址
Hostname=Centos-2
#填寫本機的HostName,注意Server端要能解
UnsafeUserParameters=1
#是否允許自定義的key,1為允許,0為不允許
Include= etc/zabbix/zabbix_agentd.conf.d/
#自定義的agentd配置文件(key)可以在這里面寫;
不自定義可以不開啟這兩個選項!否則會有報錯!
啟動zabbix agent端
service zabbix_agentd start
web端添加新的主機:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。