Centos下Zabbix_Server/agent/proxy的安裝配置
--------源碼編譯
完整版請查看附件
一、環境說明
a)軟件環境
由於是源碼安裝,官方的zabbix源碼包內已經包含了Server,Proxy, Agent, GUI所有組件和必要的執行腳本,截至本文正式版本限於2.2.3;
LAMP環境
n操作系統使用Centos6.5 X86_64 最小化安裝,並yum update到最新狀態,內核版本爲2.6.32-431.17.1.el6.x86_64;
nMysql 使用mysql-5.1,本文不介紹mysql的安裝和配置,僅於下文中有關zabbix配置時的概述;
nPHP使用5.3版本;
nhttpd使用2.2.15版本
b)網絡環境
i.服務端:
1.網卡eht0:
地址:192.168.13.222
掩碼:255.255.255.0
網關:192.168.13.1
ii.客戶端
1.網卡eht0:
地址:192.168.254.222
掩碼:255.255.255.0
網關:192.168.254.1
iii.代理端
1.網卡eht0:
地址:192.168.13.223
掩碼:255.255.255.0
網關:192.168.13.1
2.網卡eht1:
地址:192.168.254.223
掩碼:255.255.255.0
網關:192.168.254.1
二、獲取軟件
a)獲取zabbix
地址:http://www.zabbix.com/download.php
b)獲取其他軟件
i.yum install httpdphp-xml php-mbstring mysql-server mysqlphp-mysql php php-bcmath php-gd mysql-devel curl-devel gcc libgcc make net-snmpnet-snmp-develnet-snmp-utils –y
三、部署過程
a)操作系統配置
i.網絡配置
1.vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.13.222
PREFIX=24
GATEWAY=192.168.13.1
DNS1=114.114.114.114
2.service network restart
ii.Selinux配置
1.vi /etc/sysconfig/selinux
2.修改SELINUX=enforcing爲SELINUX=disabled
iii.防火牆配置
1.iptables -A INPUT -p tcp --dport10051 -j ACCEPT
2.iptables -A INPUT -p tcp --dport 80-j ACCEPT
3.service iptables save
以上配置完成後,注意重啓操作系統!
b)服務端安裝
i.創建zabbix運行用戶和用戶組
groupadd zabbix
useradd –g zabbix zabbix
ii.配置zabbix數據庫
1.修改root密碼,默認密碼爲空;(略)
2.修改/etc/my.cnf,在[mysqld]下新增一行;
default-character-set=utf8\\默認數據庫字符集爲utf8
3.重啓mysql;
service mysqld restart
4.新建zabbix-server使用的數據庫(數據庫名稱爲zabbix)
Mysql –uroot –p
Mysql> create database zabbix;
5.創建一個名爲zabbix,密碼爲zabbix123的mysql用戶,並賦予本地登入zabbix數據庫的所有權限
grant allprivileges on zabbix.* to zabbix@localhost identified by "zabbix123";
6.導入zabbix數據庫結構;
a)解壓zabbix-2.2.3;
i.tar zxvf zabbix-2.2.3.tar.gz
[root@operation~]# ls && pwd
zabbix-2.2.3zabbix-2.2.3.tar.gz
/root
b)導入數據庫結構;
i.mysql> use zabbix;
mysql> source /root/zabbix-2.2.3/database/mysql/schema.sql
mysql> source/root/zabbix-2.2.3/database/mysql/images.sql
mysql> source /root/zabbix-2.2.3/database/mysql/data.sql
iii.編譯源碼
參考的編譯參數,具體可以./configure –help
./configure --prefix=/usr/local --enable-server --enable-agent--enable-proxy --enable-java --with-mysql --enable-ipv6 --with-net-snmp--with-libcurl --with-libxml2 --with-ldap --with-openipmi --with-unixodbc--with-jabber
編譯錯誤處理:
以下操作可能需要第三方源,參考此進行安裝第三方Yum源
rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
configure: error: Jabber library not found
#yum install iksemel-devel即可,
configure: error: LIBXML2 library not found
#yuminstall libxml2-devel
configure: error: unixODBC library not found
#yum install unixODBC-devel
configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
#yum install OpenIPMI-devel
configure:error: Unable to find "javac" executable in path
#yum install java*具體什麼包沒找,直接通配算逑,生產環境可去掉--enable-java選項
configure: error: Curl library not found
# yum install curl-devel
Make && make install
iv.編輯配置文件
vi/usr/local/etc/zabbix_server.conf
替換下列行
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix123
v.設置後臺服務啓動
cp ~/zabbix-2.2.3/misc/init.d/fedora/core/zabbix_server/etc/init.d/
chkconfig –add zabbix_server
vi.設置web前端
1.設置PHP
Vi /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Chongqing
2.設置web目錄
mkdir /var/www/html/zabbix
cp -R ~/zabbix-2.2.3/frontends/php/* /var/www/html/zabbix/
service httpdstart
vii.WEB安裝
1.打開http://zabbix_server_ip/zabbix;
2.點擊Next,出現下圖的檢測頁面,確保所有均爲OK;
3.點擊Next,出現數據庫設置窗口,填入之前設置好的數據庫信息;填寫好後,點擊Test connection,出現OK後方可點擊Next;
4.Server設置頁面建議不要修改;
5.點擊如下圖中的”Download configuration file” ,將下載的文件上傳到/var/www/html/zabbix/conf/
上傳完成後,點擊“Retry”,出現“OK”後,點擊“Finish”。
介此,server端的安裝完成。
c)客戶端安裝
i.Selinux配置
1.vi /etc/sysconfig/selinux
2.修改SELINUX=enforcing爲SELINUX=disabled
ii.防火牆配置
1.iptables -A INPUT -p tcp --dport10051 -j ACCEPT
2.iptables -A INPUT -p tcp --dport 10050-j ACCEPT
3.service iptables save
以上配置完成後,注意重啓操作系統!
iii.解壓軟件包
tar zxvf zabbix-2.2.3.tar.gz
解壓的路徑爲/root/zabbix*****
iv.編譯前的準備工作
1.建立用戶組
gourpaddzabbix
useradd –g zabbix zabbix
2.安裝gcc
yum install gcc
v.編譯軟件
cd /root/zabbix****
./configure –enable-agent
Make && make install
vi.編譯後的工作
1.設置後臺服務啓動
cp misc/init.d/fedora/core/zabbix_agentd/etc/init.d/
chkconfig –add zabbix_agentd
vii.編輯配置文件
1.vi /usr/local/etc/zabbix_agentd.conf
修改下列行:
LogFile=/var/log/zabbix_agentd.log\\修改日誌位置;
Hostname=zabbix_agent\\主機名稱,一定要與後面server端配置的一致;
Server=192.168.254.223\\代理端的IP地址
ServerActive=192.168.254.223:10051\\代理端的IP和端口
ListenPort=10050\\agent監聽端口
ListenIP=0.0.0.0\\監聽的地址
Servicezabbix_agentd start啓動zabbix_agent
基本錯誤處理:
zabbix_agentd[8235]: cannot open [/var/log/zabbix_agentd.log]: [13] Permission denied
這個錯誤是由於/var/log/下沒有寫的權限;
使用root用戶創建/var/log/zabbix_agentd.log文件並給予zabbix用戶和用戶組所有權;
touch/var/log/zabbix_agentd.log
chownzabbix.zabbix /var/log/zabbix_agentd.log
d)代理端安裝
i.創建zabbix運行用戶和用戶組
groupadd zabbix
useradd –g zabbix zabbix
ii.配置zabbix數據庫
1.修改root密碼,默認密碼爲空;(略)
2.修改/etc/my.cnf,在[mysqld]下新增一行;
default-character-set=utf8\\默認數據庫字符集爲utf8
3.重啓mysql;
service mysqld restart
4.新建zabbix-server使用的數據庫(數據庫名稱爲zabbix)
Mysql –uroot –p
Mysql> create database zabbix_proxy;
5.創建一個名爲zabbix_proxy,密碼爲zabbix_proxy 123的mysql用戶,並賦予本地登入zabbix_proxy數據庫的所有權限
grant allprivileges on zabbix_proxy.* to zabbix_proxy @localhost identified by " zabbix_proxy123";
6.導入zabbix數據庫結構;
a)解壓zabbix-2.2.3;
i.tar zxvf zabbix-2.2.3.tar.gz
[root@operation~]# ls && pwd
zabbix-2.2.3zabbix-2.2.3.tar.gz
/root
b)導入數據庫結構;
i.mysql> use zabbix;
mysql> source /root/zabbix-2.2.3/database/mysql/schema.sql
\\proxy只需要導入架構即可
iii.編譯源碼
參考的編譯參數,具體可以./configure –help
./configure --prefix=/usr/local --enable-agent --enable-proxy--enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl--with-libxml2 --with-ldap --with-openipmi --with-unixodbc--with-jabber
編譯錯誤處理:
以下操作可能需要第三方源,參考此進行安裝第三方Yum源
rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
configure: error: Jabber library not found
#yum installiksemel-devel 即可,
configure: error: LIBXML2 library not found
#yuminstall libxml2-devel
configure: error: unixODBC library not found
#yuminstall unixODBC-devel
configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
#yum install OpenIPMI-devel
configure:error: Unable to find "javac" executable in path
#yum install java*具體什麼包沒找,直接通配,生產環境可去掉--enable-java選項
configure: error: Curl library not found
# yum install curl-devel
Make && make install
iv.安裝後配置
1.修改zabbix_proxy.conf配置文件
vi/usr/local/etc/zabbix_proxy.conf
修改如下行:
Server=192.168.13.222\\ Server端的地址
Hostname=Zabbix_proxy\\ 主機名稱,在Server設置代理時候必須一致
DBName=zabbix_proxy\\數據庫名稱
DBUser=zabbix_proxy\\數據庫用戶
DBPassword=zabbix_proxy123\\數據庫密碼
ProxyLocalBuffer=0\\最好設置爲0,除非有插件要求。
ProxyOfflineBuffer=1\\離線緩存記錄,設置爲1小時
ConfigFrequency=600\\server和proxy配置修改同步時間間隔,單位秒
DataSenderFrequency=10\\數據發送時間間隔,單位秒
StartPollers=10\\開啓多線程
StartPollersUnreachable=1\\該線程用來單獨監控無法連接的主機,1個即可
StartTrappers=10\\trapper線程數
StartPingers=1\\fping線程數
CacheSize=64M\\用來保存監控數據的緩存數,根據監控主機數量適當調整
Timeout=10\\超時時間,單位秒
TrapperTimeout=30\\Trappe超時時間,單位秒
LogFile=/var/log/zabbix_proxy.log\\日誌位置
2.啓動zabbix_proxy
/usr/local/sbin/zabbix_proxy
3.Server端設置
a)Web頁面設置
i.中文
1.“管理”-->“分佈管理”-->“創建代理”(創建的爲系統代理程式)
2.名稱填入之前在proxy配置文件裏面的hostname的值
3.以後創建主機時,由“系統代理程式監測”裏在選上使用的代理即可