美文网首页linux 运维
安装Zabbix(多种方式)

安装Zabbix(多种方式)

作者: 己乙孔 | 来源:发表于2016-12-12 14:31 被阅读297次

    本次安装使用的操作系统是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站点

    1. 浏览器打开zabbix网址:
      http://<server_ip_or_name>/zabbix
      1.png
    2. 确认安装条件都符合


      2.png
    3. 输入连接zabbix数据库的信息


      3.png
    4. 输入zabbix server具体信息


      4.png
    5. 查看信息是否有误


      5.png
    6. zabbix如果没有Apache文件夹下的写入权限,需要下载配置文件并放入/var/www/html/zabbix/conf/目录下


      6.png
    7. 完成安装


      7.png
    8. 前端安装完成。默认用户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,表示成功连接。
    

    相关文章

      网友评论

      • 有点小骚:老师,yum安装php,用 # yum -y install php* 是否有不妥,这样会装上很多多余的包。

      本文标题:安装Zabbix(多种方式)

      本文链接:https://www.haomeiwen.com/subject/eipmmttx.html