1.准备工作
-
安装Nginx,MySQL,PHP
- Nginx 1.16.1
- MySQL 5.7.28
- PHP 7.1
-
使用源码编译安装Zabbix
- 下载源码包
- 编译前配置
- 编译并安装
2.下载zabbix源码包文件
1.下载zabbix源码包
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.14/zabbix-4.0.14.tar.gz
2.解压源码包
tar xf zabbix-4.0.14.tar.gz
3.创建一个运行zabbix的守护用户
对于所有 Zabbix 守护进程,需要一个非特权用户。 如果从非特权用户帐户启动 Zabbix 守护程序,它将以该用户身份运行。
groupadd zabbix
useradd -g zabbix zabbix
3.Nginx
3.1 安装Nginx
直接使用yum安装就是1.16.1版本的nginx
yum install -y nginx
3.2 配置Nginx默认配置文件
Ps:这个版本的nginx有默认网站,在/etc/nginx/nginx.conf里面有一个默认的server,删掉就好
3.3 配置zabbix的虚拟主机
1.配置启动nginx进程的用户
useradd -M -s /sbin/nologin www
2.创建zabbix主页目录
mkdir /zabbix-web
chown www.www /zabbix-web
3.导入zabbix网页文件
cp -rp zabbix-4.0.14/frontends/php/* /zabbix-web/
4.配置nginx虚拟主机
[root@znmp ~]# cat /etc/nginx/conf.d/zabbix.xiaoqiang.com.conf
server {
listen 80;
server_name zabbix.xiaoqiang.com;
root /zabbix-web;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4.MySQL
4.1安装MySQL
1.安装MySQL源
rpm -ivh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2.安装MySQL服务
yum install mysql-community-server mysql-community-devel -y
3.启动MySQL服务
systemctl start mysqld
MySQL默认有密码,需要在日志文件里过滤出来密码
grep 'temporary password' /var/log/mysqld.log
4.2 登陆MySQL修改密码
1.登陆MySQL
mysql -uroot -pEJ5V?sT6oQEu
单引号内的字符就是新密码,不包括单引号,密码需要包含字母、数字、字符三种,区分大小写
2.修改mysql密码
mysql> alter user root@localhost identified by 'Root123.'
4.3 创建zabbix需要的库
创建zabbix库并授权zabbix用户访问zabbix库
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Root123.';
4.4 导入zabbix库数据
cd zabbix-4.0.14/database/mysql
mysql -uzabbix -pRoot123. zabbix < schema.sql
mysql -uzabbix -pRoot123. zabbix < images.sql
mysql -uzabbix -pRoot123. zabbix < data.sql
如果是配置zabbix代理只导入第一条就ok,这里是server所以三条都导入
注意要按照这个顺序导入,否则可能会报错!
5.PHP
5.1 配置PHP源并安装
1.php官方源地址
[root@web01 ~]# cat /etc/yum.repos.d/php.repo
[webtatic-php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
2.安装php相关软件包
yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb php71w-bcmath php71w-ldap
3.配置php-fpm程序启动的身份
[root@znmp ~]# grep '^[a-Z]' /etc/php-fpm.d/www.conf
....
user = www
group = www
....
4.更改/var/lib里的php目录权限
chown www.www -R /var/lib/php
5.调整修改php.ini配置
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
6.在php.ini里新增这一条
always_populate_raw_post_data = -1
6.编译并配置zabbix-server
6.1 编译zabbix-server
1.配置编译环境
yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2 libxml2-devel curl curl-devel
2.进入解压的目录配置
cd zabbix-4.0.14/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
make && make install
--prefix=/usr/local/zabbix #指定安装目录
--enable-server #安装zabbix server
--enable-agent #安装zabbix agent
--with-mysql=/usr/bin/mysql_config #用mysql来存储
4.添加路径变量(临时生效,重启失效)
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
6.2 配置zabbix-server
[root@znmp ~]# grep '^[a-Z]' /usr/local/zabbix/etc/zabbix_server.conf
....
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Root123.
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
7.启动nginx、php-fpm、zabbix-server...
重启nginx、php-fpm服务
systemctl restart nginx php-fpm
启动zabbix-server
zabbix_server
如果需要监控自身状态就执行以下命令启动agent端
zabbix_agentd
8.访问网页并配置
9.解决中文字体乱码
1.先备份一下字体文件
cd /zabbix-web/assets/fonts
mv DejaVuSans.ttf DejaVuSans_bak.ttf
2.将在window拷贝的字体文件rz进来
rz simhei.ttf
3.重新命令字体文件名字即可立即生效
mv simhei.ttf DejaVuSans.ttf