zabbix4.0已经推出有一段时间了,针对之前版本做了很多优化配置,易用性得到提高,特别lts(long team support)长技术支持版本,官方说提供5年的稳定技术支持,在商业化运用上,是比较稳定的。目前zabbix的安装和部署已经是比较简单的了。
更加详细的部署可以参见官方手册。
整体部署采用centos7+php+apache+mariadb
一、初始化安装环境
systemctl disable firewalld #禁止防火墙服务启动
systemctl stop firewalld #关闭防火墙服务
vi /etc/sysconfig/selinux #修改将“SELINUX=enforcing”更改为“SELINUX=disabled”,关闭SELINUX
cd /etc/yum.repos.d/ #修改yum源 更改为阿里云 mv CentOS-Base.repo CentOS-Base.repo.bak #备份文件 wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里云镜像仓库 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #下载epel仓库 yum clean all #清理缓存 yum makecache #重新生成缓存 iptables -F #清理iptables规则 iptables -I INPUTE -j ACCEPT &&iptables-save #配置iptables yum install tree net-tool net-snmp vim ntpdate #安装部分基础软件包
为了满足基本配置,需要提前准备以下软件包,并安装完成
yum install httpd php php-mysql php-gd php-bcmath php-common php-xml php-mbstring php-cli
Zabbix 需要的 PHP 扩展库:
- php-mysql:使用MySQL作为Zabbix后端数据库所需要的组件;
- php-gd:PHP GD扩展库必须支持 PNG 图像(--with-png-dir)、JPEG 图像 (--with-jpeg-dir)和FreeType2(--with-freetype-dir);
- php-bcmath:包含所需的bcmath;
- php-common:包含所需的ctype和php-session扩展;
- php-xml:包含所需的libXML、xmlreader和xmlwriter扩展。
- php-mbstring:包含所需的mbstring扩展。
安装zabbix需要的依赖包
yum install pcre glibc gcc livevent zlib libcurl-devel curl-devel OpenIPMI-devel libssh2 fping net-snmp-devel perl-DBI openssl-devel iksemel libxml2 ntp
- pcre:为强制安装的包。用来支持Perl Compatible Regular Expression(PCRE);
- gcc:为强制安装的包。即编译器,
- glibc:为强制安装的包。即libc运行库,其中包含了所需的Libpthread
- libevent:为强制安装的包,用来支持 IPMI;
- zlib:为强制安装的包。用来支持压缩;
- libcurl-devel、curl-devel:为可选安装包,但建议安装。用来支持 Web 监控;
- OpenIPMI-devel:为可选安装包,按需安装。用来支持IPMI监控;
- libssh2:为可选安装包。用来支持SSH功能;
- fping: 为可选安装包,但建议安装。用来支持ICMP Ping监控;
- net-snmp-devel:为可选安装包,按需安装。用来支持SNMP监控;
- iksemel:为可选安装包,按需安装。用来支持 Zabbix 报警媒介 Jabber;
- libxml2:为可选安装包,按需安装。用来支持 VMware 监控;
- ntp:为可选安装包,但强烈建议安装。用来保持 Zabbix 精准的时间。
zabbix对时间要求比较高,可以配置外网访问同步ntp服务器,并开启计划任务
二、数据库的配置
采用mariadb的数据库,直接使用yum安装即可。但是为了要求,将数据库的数据存储路径配置到指定路径,同时开放可以远程登陆数据库进行登陆
yum -y install mariadb mariadb-server #安装mariadb数据库
mkdir -p /home/data/lib/mysql #创建指定目录路径
chown -R mysql:mysql /home/data/lib/mysql #配置数据库文件归属
编辑/etc/my.cnf配置文件
#修改datadir=/var/lib/mysql
datadir=/home/data/lib/mysql
#在[mysqld]下添加
编辑/etc/my.cnf.d/server.cnf ,在[mysqld]下添加
datadir=/home/data/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8
slow_query_log=on
slow_query_log_file=home/data/lib/mysql/slow_query_log.log long_query_time=2
编辑完成后,开启数据库慢查询
touch /home/data/lib/mysql/slow_query_log.log
chown mysql:mysql /home/data/lib/mysql/slow_query_log.log
完成配置后启动数据库
systemctl enable mariadb
systemctl start mariadb
初始化数据库
mysql_secure_installation #初始化
进去后回车,配置root密码后,一路按Y即可
三、安装配置zabbix
安装zabbix4.0的rpm包
# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
安装Zabbix server,Web前端,agent
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
创建初始数据库
mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #根据实际情况设定密码 mysql> quit;
导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
我们需要对zabbix用户进行调整,让他可以进行远程登陆数据库,控制权限,不能删库
create user 'zabbix-test'@'%'; #创建zabbix-test用户
grant all privileges on zabbix.* to 'zabbix-test'@'%' identified by 'zabbix'; #让zabbix-test用户可用从任何位置访问zabbix数据库 revoke drop on *.* from 'zabbix-test'@'%'; #收回zabbix-test用户删除库的权限
测试,可以使用zabbix-test用户远程登陆数据库
为zabbix-server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
#修改125行
DBPassword=zabbix
配置前端PHP
#修改/etc/php.ini,修改为中国时区
启动zabbix
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
配置前端
登陆连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix,按照提示配置即可
默认账户密码
Admin
zabbix
完成后,修改字体文件
在windows主机里面找到mysh文件,上传到zabbix目录 /usr/share/zabbix/fonts下 然后重命名为graphfont.ttf