本次安裝使用的操作系統是CentOS 6.8。
安裝zabbix需要的其他的軟件:
- 數據庫
- Apache
- PHP
1. 安裝基礎環境
1.1 安裝數據庫
此處使用yum安裝默認的MySQL數據庫的5.1.73版本,可以根據需要安裝其他版本的MySQL或者其他的數據庫。zabbix另外還支持Oracle、PostgreSQL、SQLite、IBM DB2等數據庫,可根據實際環境或需要選擇。
# yum安裝MySQL
[root@zabbix ~]# yum -y install mysql*
# 安裝完成,確認數據庫版本
[root@zabbix ~]# mysql -V
# 開機自啟MySQL
[root@zabbix ~]# chkconfig mysqld on
[root@zabbix ~]# chkconfig mysqld --list
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# 啟動數據庫
[root@zabbix ~]# service mysqld start
# 確認數據庫正在運行
[root@zabbix ~]# service mysqld status
# 設置MySQL數據庫root密碼,password后跟的是密碼(不包括單引號)
[root@zabbix ~]# mysqladmin -u root password 'root'
# 登入MySQL數據庫
[root@zabbix ~]# mysql -uroot -p
# 切換數據庫
mysql> use mysql;
# 刪除用于本機匿名連接的空密碼帳號
mysql> delete from user where password="";
1.2 安裝PHP
注意安裝zabbix 2.4需要PHP 5.3.0及以后版本。
- 如果使用使用源碼安裝,注意相應的擴展項。
PHP extensions: | ||
---|---|---|
gd | 2.0 or later | PHP GD extension must support PNG images (--with-png-dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir). |
bcmath | php-bcmath (--enable-bcmath) | |
ctype | php-ctype (--enable-ctype) | |
libXML | 2.6.15 or later | php-xml or php5-dom, if provided as a separate package by the distributor. |
xmlreader | php-xmlreader, if provided as a separate package by the distributor. | |
xmlwriter | php-xmlwriter, if provided as a separate package by the distributor. | |
session | php-session, if provided as a separate package by the distributor. | |
sockets | php-net-socket (--enable-sockets). Required for user script support. | |
mbstring | php-mbstring (--enable-mbstring) | |
gettext | php-gettext (--with-gettext). Required for translations to work. | |
ldap | php-ldap. Required only if LDAP authentication is used in the frontend. | |
ibm_db2 | Required if IBM DB2 is used as Zabbix backend database. | |
mysqli | Required if MySQL is used as Zabbix backend database. | |
oci8 | Required if Oracle is used as Zabbix backend database. | |
pgsql | Required if PostgreSQL is used as Zabbix backend database. | |
sqlite3 | Required if SQLite is used as Zabbix backend database. |
本實驗使用yum安裝PHP。
# yum 安裝所有php包
[root@zabbix ~]# yum -y install php*
1.3 安裝Apache
一般CentOS默認安裝Apache服務。可以使用rpm -qa httpd
命令查看是否安裝。
若沒有可以使用源碼或者yum安裝。若已安裝,確保服務開機自啟動。
# 查看是否安裝Apache服務
[root@zabbix ~]# rpm -qa httpd
# 若沒有安裝,安裝之
[root@zabbix ~]# yum -y install httpd
# 安裝完成,或已安裝服務。開機自啟Apache服務。
[root@zabbix ~]# chkconfig httpd on
[root@zabbix ~]# chkconfig httpd --list
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# 啟動Apache服務
[root@zabbix ~]# service httpd start
# 確認Apache服務正在運行
[root@zabbix ~]# service httpd status
httpd (pid 4070) is running...
2. 安裝zabbix
安裝前,先在官網下載頁面下載需要的安裝包
- 源碼包在
Zabbix Sources
中選擇需要的版本
本實驗使用2.4.8版本
2.1 server端安裝zabbix
server端需要同時安裝server和agent服務。安裝zabbix可以使用yum和源碼兩種方式安裝,但是需要注意的是yum安裝需要確保環境能夠連接互聯網。
本實驗兩種方式都使用安裝,由于最后使用web站點安裝時,兩者步驟都一樣,將合一起。
2.1.1 后臺安裝zabbix
a. yum安裝zabbix
先安裝zabbix的yum倉庫配置文件。然后安裝zabbix服務即可。
# 安裝yum倉庫配置文件,根據系統不同下載地址有所不同
[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
# 安裝server服務和web前端
[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql
# 安裝agent服務
[root@zabbix ~]# yum -y install zabbix-agent
# 創建zabbix數據庫
[root@zabbix ~]# mysql -uroot -proot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;
# 導入zabbix數據庫初始化數據
# proxy端只需導入schema.sql一張表
[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/
[root@zabbix create]# mysql -uroot -proot zabbix < schema.sql
[root@zabbix create]# mysql -uroot -proot zabbix < images.sql
[root@zabbix create]# mysql -uroot -proot zabbix < data.sql
# 編輯zabbix_server配置文件
[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# 啟動server服務
[root@zabbix create]# service zabbix-server start
Starting Zabbix server: [ OK ]
# 啟動agent服務
[root@zabbix ~]# service zabbix-agent start
Starting Zabbix agent: [ OK ]
# 設置開機自啟
[root@zabbix ~]# chkconfig zabbix-server on
[root@zabbix ~]# chkconfig zabbix-agent on
[root@zabbix ~]# chkconfig zabbix-server --list
zabbix-server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@zabbix ~]# chkconfig zabbix-agent --list
zabbix-agent 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# 編輯PHP中關于zabbix前端的配置
[root@zabbix ~]# vi /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
將上面時區的注釋去掉,并改成合適的時區。本實驗中改成"Asia/Shanghai"
# 重啟Apache服務
[root@zabbix ~]# service httpd restart
b. 源碼安裝zabbix
- 將從官網下載的源碼包上傳至服務器。
- 已經安裝gcc-c++編譯工具。
如果沒有安裝,先安裝。
yum -y install gcc-c++
# 創建安裝文件夾并解壓源碼包
[root@zabbix ~]# mkdir /usr/local/zabbix
[root@zabbix ~]# cp /tmp/zabbix-2.4.8.tar.gz /usr/local/zabbix/
[root@zabbix ~]# cd /usr/local/zabbix/
[root@zabbix zabbix]# tar zxf zabbix-2.4.8.tar.gz
# 創建zabbix用戶組和用戶。
# zabbix以普通用戶運行時,所有用戶和組為該普通用戶。但若以root用戶運行時,會使用zabbix用戶運行。
# 因此如果想用root用戶運行則zabbix用戶是必須的。如果不用root用戶運行則不創建也是可以的。
# web前端安裝zabbix時不需要特定的用戶或用戶組。
[root@zabbix zabbix]# groupadd zabbix
[root@zabbix zabbix]# useradd -g zabbix zabbix
# 創建zabbix數據庫
[root@zabbix ~]# mysql -uroot -proot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;
# 導入zabbix數據庫初始化數據
# proxy端只需導入schema.sql一張表
[root@zabbix ~]# cd /usr/local/zabbix/zabbix-2.4.8/database/mysql/
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
# 配置源
# --with-mysql。根據實際安裝的數據庫,選擇相應的配置。本實驗使用的是MySQL。
# --enable-ipv6。支持IPV6協議。
# --with-net-snmp。SNMP的基本功能是:取得,設置和接收代理發送的意外信息。所以需要獲得agent發來的意外信息,必須有該配置。
使用該選項需要安裝net-snmp-devel庫。
yum install -y net-snmp-devel
# --with-libcurl。libcurl是一個跨平臺的網絡協議庫,所以需要用不同的協議連接和溝通不同的服務器時需要用到,因此在監控設備較多且系統版本混雜的情況下必須安裝。一般默認都會啟用該選項。
使用該選項需要安裝libcurl-devel庫。
yum install -y libcurl-devel
# --with-libxml2選項是用來監控虛擬機的。從zabbix2.2.0之后開始支持。使用前確認需要的libxml2庫已安裝。
yum install -y libxml2*
# --prefix="location"可以指定安裝目錄
# 命令行工具zabbix_get和zabbix_sender在指定--enable-agent時,將會被編譯。
[root@zabbix mysql]# cd /usr/local/zabbix/zabbix-2.4.8
[root@zabbix zabbix-2.4.8]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
# 安裝
# 守護進程二進制文件 (zabbix_server, zabbix_agentd, zabbix_proxy) 默認安裝在/usr/local/sbin目錄下;
# 客戶端二進制文件(zabbix_get, zabbix_sender)默認安裝在/usr/local/bin下;
# 若指定了安裝目錄,則在相應的sbin和bin下。
[root@zabbix zabbix-2.4.8]# make install
# 更改配置文件
# zabbix agent配置文件默認是/usr/local/etc/zabbix_agentd.conf。
# zabbix server配置文件默認是/usr/local/etc/zabbix_server.conf。文件中必須寫入zabbix數據庫用戶名和密碼
[root@zabbix ~]# cd /usr/local/etc/
[root@zabbix etc]# vi zabbix_agentd.conf
Server=127.0.0.1 # zabbix server ip地址
ServerActive=127.0.0.1 # zabbix server ip地址
Hostname=master_db # agent的hostname
[root@zabbix etc]# vi zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# 啟動zabbix守護和客戶端進程
[root@zabbix ~]# cd /usr/local/sbin/
[root@zabbix sbin]# zabbix_server
[root@zabbix sbin]# zabbix_agentd
# 確認進程已經啟動
[root@zabbix sbin]# ps -ef | grep zabbix
# 設置開機自啟
在`/etc/rc.local`文件最后添加下面兩行
/usr/local/sbin/zabbix_server start
/usr/local/sbin/zabbix_agentd start
# 安裝zabbix的web界面
[root@zabbix ~]# cd /usr/local/zabbix/zabbix-2.4.8/frontends/php/
[root@zabbix php]# mkdir /var/www/html/zabbix
[root@zabbix php]# chown -R zabbix:zabbix /var/www/html/zabbix
[root@zabbix php]# cp -a . /var/www/html/zabbix
[root@zabbix php]# cd /var/www/html/zabbix/
[root@zabbix zabbix]# ls
2.1.2 前端安裝zabbix
a. 修改PHP配置文件參數
一般使用yum安裝的無需修改php文件參數。
使用源碼安裝的需要修改/etc/php.ini
的參數以滿足zabbix需要的最低要求。
更改完成后重啟Apache服務:
service httpd restart
最低要求見下表,另外需要去掉配置文件中date.timezone
的注釋并添加相應的時區:
Pre-requisite | Minimum value | Description |
---|---|---|
PHP version | 5.3.0 | |
PHP memory_limit option | 128MB | In php.ini: memory_limit = 128M |
PHP post_max_size option | 16MB | In php.ini: post_max_size = 16M |
PHP upload_max_filesize option | 2MB | In php.ini: upload_max_filesize = 2M |
PHP max_execution_time option | 300 seconds | In php.ini: max_execution_time = 300 |
PHP max_input_time option | 300 seconds | In php.ini: max_input_time = 300 |
PHP session.auto_start option | must be disabled | In php.ini: session.auto_start = 0. |
Database support | One of: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite | One of the following modules must be installed: ibm_db2, mysql, oci8, pgsql, sqlite3 |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
PHP mbstring.func_overload option | must be disabled | In php.ini: mbstring.func_overload = 0. |
PHP always_populate_raw_post_data option | must be disabled | Required only for PHP versions 5.6.0 or newer. In php.ini: always_populate_raw_post_data = -1 |
sockets | php-net-socket. Required for user script support. | |
gd | 2.0 or higher | php-gd. PHP GD extension must support PNG images (--with-png-dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir). |
libxml | 2.6.15 | php-xml or php5-dom |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
ctype | php-ctype | |
session | php-session | |
gettext | php-gettext. Since Zabbix 2.2.1, the PHP gettext extension is not a mandatory requirement for installing Zabbix. If gettext is not installed, the frontend will work as usual, however, the translations will not be available. |
b. 開始安裝web站點
- 瀏覽器打開zabbix網址:
http://<server_ip_or_name>/zabbix
1.png -
確認安裝條件都符合
2.png -
輸入連接zabbix數據庫的信息
3.png -
輸入zabbix server具體信息
4.png -
查看信息是否有誤
5.png -
zabbix如果沒有Apache文件夾下的寫入權限,需要下載配置文件并放入/var/www/html/zabbix/conf/目錄下
6.png -
完成安裝
7.png - 前端安裝完成。默認用戶Admin,密碼zabbix。
8.png
2.2 zabbix的agent端安裝
Windows系統和Linux系統均可以安裝zabbix的agent端。
Linux有三種方式安裝agent,分別為預編譯包、yum和源碼安裝。
Windows只有一種方式。
2.2.1 Windows安裝agent端
安裝前,先在官網下載頁面下載需要的安裝包
- Windows安裝包在
Zabbix pre-compiled agents
中選擇需要的版本
本實驗使用2.4.4版本zabbix_agents_2.4.4.win.zip
1. 新建安裝目錄,比如"C:\zabbix"。將下載的安裝包解壓后,拷貝至該目錄內。
2. 修改配置文件"zabbix_agentd.conf"。
Server=192.168.186.250 # zabbix server ip地址
ServerActive=192.168.186.250 # zabbix server ip地址
Hostname=agent # agent的hostname
3. 以管理員身份,在cmd命令行中運行以下命令。文件夾路徑根據實際情況自行更改。
C:\zabbix\bin\win64\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -i
# -c表示需要讀取的配置文件 -i表示安裝
4. 開始 > 運行 > services.msc
將zabbix_agent服務啟動,并將啟動類型設為“自動”。
5. server添加agent機
瀏覽器打開http://server IP/zabbix,輸入用戶名密碼登錄
選擇Configuration - Hosts - Create Host,輸入agent相關信息并保存
Availability顯示一個綠顏色的Z,表示成功連接。
2.2.2 Linux安裝agent端
Linux安裝agent端的方式不盡相同。本實驗以CentOS為例。
a. 預編譯包安裝agent
安裝前,先在官網下載頁面下載需要的安裝包
- 預編譯包在
Zabbix pre-compiled agents
中選擇需要的版本
本實驗使用2.4.6版本zabbix_agents_2.4.4.linux2_6.amd64.tar.gz
# 創建安裝目錄
[root@master_db ~]# mkdir /usr/local/zabbix
[root@master_db ~]# cp /tmp/zabbix_agents_2.4.4.linux2_6.amd64.tar.gz /usr/local/zabbix/
[root@master_db ~]# cd /usr/local/zabbix/
[root@master_db zabbix]# tar zxf zabbix_agents_2.4.4.linux2_6.amd64.tar.gz
[root@master_db zabbix]# rm -f zabbix_agents_2.4.4.linux2_6.amd64.tar.gz
[root@master_db zabbix]# ls
bin conf sbin
# 添加zabbix用戶和組
[root@master_db zabbix]# groupadd zabbix
[root@master_db zabbix]# useradd -g zabbix zabbix
# 先查看服務端口是否存在,若存在則無需添加。若不存在則需手動添加。
[root@master_db zabbix]# cat /etc/services | grep zabbix
# 添加服務端口
echo 'zabbix-agent 10050/tcp # Zabbix Agent' >> /etc/services
echo 'zabbix-agent 10050/udp # Zabbix Agent' >> /etc/services
echo 'zabbix-trapper 10051/tcp # Zabbix Trapper' >> /etc/services
echo 'zabbix-trapper 10051/udp # Zabbix Trapper' >> /etc/services
# 修改配置文件
[root@master_db zabbix]# cd /usr/local/zabbix/conf/
[root@master_db conf]# ls
zabbix_agent.conf zabbix_agentd zabbix_agentd.conf
[root@master_db conf]# vi zabbix_agentd.conf
Server=192.168.186.250 # zabbix server ip地址
ServerActive=192.168.186.250 # zabbix server ip地址
Hostname=master_db # agent的hostname
# 啟動agent
[root@master_db conf]# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf &
[1] 2961
# 添加開機自啟動
echo '/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf &' >> /etc/rc.local
# server添加agent機
瀏覽器打開http://server IP/zabbix,輸入用戶名密碼登錄
選擇Configuration - Hosts - Create Host,輸入agent相關信息并保存
Availability顯示一個綠顏色的Z,表示成功連接。
b. yum安裝agent
先安裝zabbix的yum倉庫配置文件。然后安裝agent即可。
# 安裝yum倉庫配置文件,根據系統不同下載地址有所不同
[root@agent ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
# 安裝agent服務
[root@agent ~]# yum -y install zabbix-agent
# 編輯agent配置文件
[root@agent ~]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.186.250 # zabbix server ip地址
ServerActive=192.168.186.250 # zabbix server ip地址
Hostname=agent # agent的hostname
# 啟動agent服務
[root@agent ~]# service zabbix-agent start
Starting Zabbix agent: [ OK ]
# 設置開機自啟
[root@agent ~]# chkconfig zabbix-agent on
[root@agent ~]# chkconfig zabbix-agent --list
zabbix-agent 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# server添加agent機
瀏覽器打開http://server IP/zabbix,輸入用戶名密碼登錄
選擇Configuration - Hosts - Create Host,輸入agent相關信息并保存
Availability顯示一個綠顏色的Z,表示成功連接。
c. 源碼安裝agent
- 先在官網下載頁面下載需要的安裝包
源碼包在Zabbix Sources
中選擇需要的版本
本實驗使用2.4.8版本 - 將從官網下載的源碼包上傳至服務器。
- 已經安裝gcc-c++編譯工具。
如果沒有安裝,先安裝。
yum -y install gcc-c++
# 創建安裝文件夾并解壓源碼包
[root@master_db ~]# mkdir /usr/local/zabbix
[root@master_db ~]# cp /tmp/zabbix-2.4.8.tar.gz /usr/local/zabbix/
[root@master_db ~]# cd /usr/local/zabbix/
[root@master_db zabbix]# tar zxf zabbix-2.4.8.tar.gz
# 創建zabbix用戶組和用戶。
# zabbix以普通用戶運行時,所有用戶和組為該普通用戶。但若已root用戶運行時,會使用zabbix用戶運行。
# 因此如果想用root用戶運行則zabbix用戶是必須的。如果不用root用戶運行則不創建也是可以的。
[root@master_db zabbix]# groupadd zabbix
[root@master_db zabbix]# useradd -g zabbix zabbix
# 配置源
[root@master_db zabbix]# cd /usr/local/zabbix/zabbix-2.4.8
[root@master_db zabbix-2.4.8]# ./configure --enable-agent
# 安裝
# 守護進程二進制文件 (zabbix_agentd) 默認安裝在/usr/local/sbin目錄下,客戶端二進制文件(zabbix_get, zabbix_sender)默認安裝在/usr/local/bin下。若指定了安裝目錄,則在相應的sbin和bin下。
[root@master_db zabbix-2.4.8]# make install
# 更改配置文件
# zabbix agent配置文件默認是/usr/local/etc/zabbix_agentd.conf。
[root@master_db ~]# cd /usr/local/etc/
[root@master_db etc]# vi zabbix_agentd.conf
Server=192.168.186.250 # zabbix server ip地址
ServerActive=192.168.186.250 # zabbix server ip地址
Hostname=agent # agent的hostname
# 啟動zabbix守護和客戶端進程
[root@master_db etc]# cd /usr/local/sbin/
[root@master_db sbin]# zabbix_agentd
# 確認進程已經啟動
[root@master_db sbin]# ps -ef | grep zabbix
# 設置開機自啟
在`/etc/rc.local`文件最后添加下面一行
/usr/local/sbin/zabbix_agentd start
或者執行以下命令
echo '/usr/local/sbin/zabbix_agentd start' >> /etc/rc.local
# server添加agent機
瀏覽器打開http://server IP/zabbix,輸入用戶名密碼登錄
選擇Configuration - Hosts - Create Host,輸入agent相關信息并保存
Availability顯示一個綠顏色的Z,表示成功連接。