Zabbix3.x-Server服务端安装
一 环境基础
1.1 部署基础环境
部署Zabbix需要LAMP或LANP环境,数据库可以为MySQL或者MariaDB。硬件及存储条件按需配置。
1.2 常见依赖列表
Web前端需要支持的软件环境如下:
软件
|
版本
|
描述
|
Apache
|
1.3以上
|
主程序
|
PHP
|
5.3以上
|
主程序
|
PHP扩展库
|
||
gd
|
2.0以上
|
PHP GD扩展库需支持PNG/JPEG/FreeType2
|
bcmath
|
php-bcmath(--enable-bcmath)
|
|
ctype
|
php-ctype(--enable-ctype)
|
|
libXML
|
2.6以上
|
php-xml
|
xmlreader
|
php-xmlreader
|
|
xmlwriter
|
php-xmlreader
|
|
session
|
php-net-socket
|
|
sockets
|
php-net-socket(--enable-sockets)
|
|
mbstring
|
php-mbstring(--with-gettext)
|
|
ibm_db2
|
使用DB2虚此支持
|
|
mysqli
|
使用MySQL需此支持
|
|
oci8
|
使用oracle需此支持
|
|
pgsql
|
使用postgresql需此支持
|
|
sqlite3
|
使用sqlite需此支持
|
注意:如是RHEL系统,自带的RPM包可能缺少php-mbstring和php-bcmatch包,若编译安装,请确保以上参数开启。
1.3 Zabbix-Server需要软件环境
依赖的软件包
|
描述
|
OpenIPMI
|
如需支持IPMI
|
libssh 2
|
如需支持SSH,则需此包
|
fping
|
ICMP ping的支持
|
libcurl
|
Web监控
|
libiksemel
|
Jabber告警介质
|
net-snmp
|
SNMP的支持
|
注意:Zabbix-Server对时间精度要求很高,尽量采用NTP自动同步。
二 安装
准备安装zabbix
[root@master~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# yum -y install wget [root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo [root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak [root@localhost yum.repos.d]# mv CentOS7-Base-163.repo CentOS7-Base.repo [root@localhost yum.repos.d]#yum -y install epel-release.noarch [root@localhost yum.repos.d]# yum clean all [root@localhost yum.repos.d]# yum makecache [root@localhost yum.repos.d]#rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
安装zabbix
[root@localhost yum.repos.d]#yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent
注意:1 Zabbix官方的yum源为:http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/。
2 服务器端也需要监控,因此也安装Zabbix-Agent。
yum -y install php-bcmath yum -y install php-mbstring #安装缺少的两个包,v3版本可以不安装。
安装MariaDB
[root@master ~]## yum -y install mariadb mariadb-server [root@master ~]## vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 character-set-server=utf8 #设置字符集为utf8 innodb_file_per_table=1 #设置innodb的每个表文件单独存储 [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid …… [root@master ~]## systemctl enable mariadb #设为开机启动 [root@master ~]## systemctl start mariadb #开启MariaDB数据
三 创建相关数据库
3.1 设置数据库相关项
[root@master~]# groupadd zabbix #添加Zabbix组,3.x不需要手动添加 [root@master~]# useradd -g zabbix zabbix #添加Zabbix组,3.x不需要手动添加 [root@master~]# mysql_secure_installation #设置安全性,并设置数据库root密码 [root@master~]# mysql -u root -p MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; #创建数据库且字符集为utf8,使web界面显示中文不出现乱码 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'x120952576'; #创建zabbix数据库和Zabbix用户,且赋予此用户拥有此数据库全部权限。 MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;
注意:1 若之后忘记该密码可使用以下命令修改密码——
1 UPDATE zabbix.user SET passwd=md5('zabbix') WHERE alias='Admin'
导入数据库
[root@imxhy01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.1/ #进入数据库模板所在目录 [root@imxhy01 zabbix-server-mysql-3.2.0]# ls AUTHORS ChangeLog COPYING create.sql.gz NEWS README [root@imxhy01 zabbix-server-mysql-3.2.0]# zcat create.sql.gz | mysql -uroot -p zabbix #将模板数据恢复至Zabbix数据库 Enter password: [root@imxhy01 ~]# mysql -u zabbix -p #用Zabbix用户登录
注意:也可以gunzip create.sql.gz解压后使用mysql -uroot -p zabbix < create.sql恢复模板。
MariaDB [(none)]> show databases; +-----------------------+ | Database | +-----------------------+ | information_schema | | zabbix | +-----------------------+ 2 rows in set (0.00 sec) MariaDB [(none)]> use zabbix; MariaDB [zabbix]> show tables; #查看数据表项
四 Zabbix服务配置
4.1 配置Zabbix_server.conf项
1 [root@imxhy01 ~]# vi /etc/zabbix/zabbix_server.conf 2 LogFile=/var/log/zabbix/zabbix_server.log 3 LogFileSize=0 4 PidFile=/var/run/zabbix/zabbix_server.pid 5 DBHost=localhost #修改主机 6 DBName=zabbix 7 DBUser=zabbix 8 DBPassword=x120952576 #修改DB密码(之前所创建密码) 9 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 10 Timeout=4 11 AlertScriptsPath=/usr/lib/zabbix/alertscripts 12 ExternalScripts=/usr/lib/zabbix/externalscripts 13 LogSlowQueries=3000
4.2 启动Zabbix服务
1 [root@imxhy01 ~]# systemctl enable zabbix-server #设为开机启动Zabbix服务 2 [root@imxhy01 ~]# systemctl start zabbix-server #启动Zabbix服务 3 [root@imxhy01 ~]# systemctl start zabbix-agent #需要监控自己,因此也开启agent 4 [root@imxhy01 ~]# systemctl enable zabbix-agent #启动Zabbix服务
4.3 配置php
1 [root@imxhy ~] vi /etc/php.ini 2 date.timezone= Asia/Shanghai 3 max_execution_time = 300 4 post_max_size = 16M 5 memory_limit = 128M 6 [root@imxhy ~]# vi /etc/httpd/conf.d/zabbix.conf 7 Alias /zabbix /usr/share/zabbix 8 <Directory "/usr/share/zabbix"> 9 Options FollowSymLinks 10 AllowOverride None 11 Require all granted 12 Allow from all 13 php_value max_execution_time 300 14 php_value memory_limit 128M 15 php_value post_max_size 16M 16 php_value upload_max_filesize 2M 17 php_value max_input_time 300 18 php_value always_populate_raw_post_data -1 19 php_value date.timezone Asia/Shanghai 20 </Directory>
注意:1 若之后配置web时,提示任何参数不满足安装配置要求,修改对应的参数后重启httpd即可。
2 yum安装可能zabbix.conf中已包含相关配置。
五 服务测试
5.1 防火墙及SELinux
1 [root@imxhy01 ~]# firewall-cmd --permanent --add-service=http #防火墙开放Apache服务 2 [root@imxhy01 ~]# firewall-cmd --permanent --add-port=10051/tcp #防火墙开放Zabbix所需端口 3 [root@imxhy01 ~]# firewall-cmd --permanent --add-port=10050/tcp #防火墙开放Zabbix所需端口 4 [root@imxhy01 ~]# firewall-cmd --reload 5 [root@imxhy01 ~]# chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf 6 [root@imxhy01 ~]# yum -y install policycoreutils-python 7 [root@imxhy01 ~]# setsebool -P httpd_can_network_connect=true 8 [root@imxhy01 ~]# semanage port -a -t http_port_t -p tcp 10051
5.2 启动Apache服务
1 [root@imxhy01 ~]# systemctl start httpd.service 2 [root@imxhy01 ~]# systemctl enable httpd.service
注意:此处建议为了防止不必要的问题,可关闭SELinux和防火墙。
六 配置Web界面
6.1 确认各项参数
打开浏览器。输入http://IP地址/zabbix。