衆所周知,Zabbix是一個基於Web界面的提供分佈式系統監視以及網絡監視功能的企業級開源解決方案。Zabbix能監視各種網絡嘗試,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統工程師快速定位/解決存在的問題。當我們的監控的服務器增多或者需要監控異地IDC服務器的時候,單臺服務器的Server-Client 架構可能就不能滿足我們的需求了,此時就需要考慮使用分佈式的Server-Proxy-Client/Server-Node-Client架構了,現在就Server-Proxy-Client 架構給大家演示下。
拓撲
實驗拓撲如下:
Zabbix server
1.ZabbixServer 系統版本和內核版本
cat/etc/redhat-release
CentOS release 5.9 (Final)
uname-rmos
Linux 2.6.18-348.16.1.el5 x86_64 GNU/Linux
2.安裝Zabbix依賴軟件包
yuminstall -y make gcc gcc-c++ httpd php php-mysql mysql mysql-server php-gdphp-common php-xml net-snmp net-snmp-devel net-snmp-utils curl-develmysql-devel gnutls openldap-devel OpenIPMI OpenIPMI-devel ncurses-develunixODBC unixODBC-devel mysql-connector-odbc *libX* alsa-lib jpackage-utils php-bcmath php-mbstringjava
3.安裝額外依賴軟件包(需要獨立下載安裝,系統默認倉庫沒有)
rpm-ivh libssh2-1.2.4-1.el5.x86_64.rpm
rpm -ivhlibssh2-devel-1.2.4-1.el5.x86_64.rpm
rpm -ivh fping-2.4b2-7.el5.art.x86_64.rpm
rpm -ivh iksemel-1.4-2_2.el5.x86_64.rpm
rpm -ivhiksemel-devel-1.4-2_2.el5.x86_64.rpm
rpm -ivhlibiksemel3-1.4-2_2.el5.x86_64.rpm
4.添加Zabbix運行賬戶,解壓tar包
useradd-r zabbix
tar-zxvf zabbix-2.0.8.tar.gz
5.Mysql啓動和配置
servicemysqld start
mysqladmin-u root password redhat
mysql-u root –p
>createdatabse zabbix character set utf8;
>grantall privileges on zabbix.* to zabbix@localhost identified by ‘redhat’;
>flushprivileges;
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/schema.sql
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/images.sql
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/data.sql
6.Zabbix編譯安轉
./configure--prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy -- with-mysql--with-net-snmp --with-libcurl --with-ldap --with-ssh2 --with-jabber--with-openipmi --with-unixodbc
make install
7.添加服務端口及描述,將下面內容加入services文件裏
grepzabbix /etc/services
zabbix-agent10050/tcp# Zabbix Agent
zabbix-agent10050/udp# Zabbix Agent
zabbix-trapper10051/tcp# Zabbix Trapper
zabbix-trapper10051/udp# Zabbix Trapper
8.創建日誌和PID存放目錄,設定權限
mkdir /var/log/zabbix
mkdir/var/run/zabbix
chown -R zabbix.zabbix /usr/local/zabbix/etc/
chown -R zabbix.zabbix /var/run/zabbix/
chown -R zabbix.zabbix /var/log/zabbix/
9.配置zabbix_server.conf文件如下
catzabbix_server.conf |grep -v ^#|grep -v ^$
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=redhat
10.配置zabbix_agentd.conf文件如下
catzabbix_agentd.conf |grep -v ^#|grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=ws128.example.com
11.設定Zabbix server前端文件
cpzabbix-2.0.8/frontends/php/ /var/www/html/zabbix -rf
chown-R zabbix.zabbix /var/www/html/zabbix/
12.PHP.INI文件設置
vim/etc/php.ini
max_execution_time = 300
date.timezone =Asia/Shanghai
post_max_size = 32M
max_input_time = 300
13.重啓服務,設定開機啓動
servicehttpd restart ; chkconfig httpd on
servicemysqld restart ; chkconfig mysqld on
14.Zabbix服務腳本配置
cpzabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cpzabbix-2.0.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/
chownzabbix.zabbix /etc/init.d/zabbix_*
vim/etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid
vim/etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid
15.啓動Zabbix服務腳本,設定開機啓動
servicezabbix_server restart ;chkconfig zabbix_server on
servicezabbix_agentd restart ;chkconfig zabbix_agentd on
16.前端安裝配置,使用瀏覽器訪問
firefox http://localhost/zabbix &
17.運行環境檢查
18.數據庫連接檢查
20.安裝信息彙總
21.點擊Download configuration file 下載該文件,拷貝到/var/www/html/zabbix/conf/下,點擊Retry重試,點擊Finish
Zabbix proxy
1.ZabbixServer 系統版本和內核版本
cat/etc/redhat-release
CentOS release 5.9 (Final)
uname-rmos
Linux 2.6.18-348.16.1.el5 x86_64 GNU/Linux
2.安裝Zabbix依賴軟件包
yum-y install net-snmp net-snmp-devel net-snmp-utils curl-devel mysql-servermysql-devel gnutls openldap-devel OpenIPMI ncurses-devel unixODBC unixODBC-develmysql-connector-odbc *libX* gcc gcc-c++make alsa-lib jpackage-utils php-bcmath php-mbstring OpenIPMI OpenIPMI-develjava
3.安裝額外依賴軟件包(需要獨立下載安裝,系統默認倉庫沒有)
rpm-ivh libssh2-1.2.4-1.el5.x86_64.rpm
rpm -ivhlibssh2-devel-1.2.4-1.el5.x86_64.rpm
rpm -ivhfping-2.4b2-7.el5.art.x86_64.rpm
rpm -ivhiksemel-1.4-2_2.el5.x86_64.rpm
rpm -ivh iksemel-devel-1.4-2_2.el5.x86_64.rpm
rpm -ivhlibiksemel3-1.4-2_2.el5.x86_64.rpm
4.添加Zabbix運行賬戶,解壓tar包
useradd-r zabbix
tar -zxvf zabbix-2.0.8.tar.gz
5.Mysql啓動和配置
servicemysqld start
mysqladmin-u root password redhat
mysql-u root –p
>createdatabse zabbix character set utf8;
>grantall privileges on zabbix.* to zabbix@localhost identified by ‘redhat’;
>flushprivileges;
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/schema.sql
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/images.sql
mysql-u zabbix -p zabbix </root/zabbix-2.0.8/database/mysql/data.sql
6.Zabbix編譯安轉
./configure--prefix=/usr/local/zabbix_proxy --enable-agent --enable-proxy --with-mysql--with-net-snmp --with-libcurl --with-ldap --with-ssh2 --with-jabber--with-openipmi --with-unixodbc
makeinstall
7.創建日誌和PID存放目錄,設定權限
mkdir /var/run/zabbix
mkdir /var/log/zabbix
chown -R /var/run/zabbix/
chown -R zabbix.zabbix /var/run/zabbix/
chown -R zabbix.zabbix /var/log/zabbix/
chown -R zabbix.zabbix/usr/local/zabbix_proxy/etc/
8.配置zabbix_server.conf文件如下
cat/usr/local/zabbix_proxy/etc/zabbix_proxy.conf |grep -v ^#|grep -v ^$
Server=192.168.150.128
Hostname=ws129.example.com
LogFile=/var/log/zabbix/zabbix_proxy.log
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix
DBUser=zabbix
DBPassword=redhat
9.配置zabbix_agentd.conf文件如下
cat/usr/local/zabbix_proxy/etc/zabbix_agentd.conf |grep -v ^#|grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.150.128
ServerActive=192.168.150.128
Hostname=ws129.example.com
Zabbix client
這裏就以一臺Zabbixagent爲例,其他Client設置都雷同。
1.ZabbixServer 系統版本和內核版本
cat/etc/redhat-release
CentOS release 5.9 (Final)
uname-rmos
Linux 2.6.18-348.16.1.el5 x86_64 GNU/Linux
2.添加Zabbix運行賬戶,解壓tar包
useradd-r zabbix
tar-zxvf zabbix_agents_2.0.8.linux2_6.amd64.tar.gz
3.創建日誌和PID存放目錄,設定權限
mkdir/usr/local/zabbix_agent
mkdir/var/log/zabbix
mkdir/var/run/zabbix
chown-R zabbix.zabbix /var/run/zabbix/
chown-R zabbix.zabbix /var/log/zabbix/
chown-R zabbix.zabbix /usr/local/zabbix_agent/conf/
4.配置zabbix_agentd.conf文件如下
cat/usr/local/zabbix_agent/conf/zabbix_agentd.conf |grep -v ^#|grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=192.168.150.129
ServerActive=192.168.150.129
Hostname=ws130.example.com
Zabbix Server前臺設置
1.登錄Zabbix Server前臺,在AdministrationàDM選項設置代理服務器,如圖
1.在ConfigurationàHost設置新加入的主機,如圖