CentOS 7.7 Zabbix-4.4.7,nginx 1.16.1,php 5.4.16 ,mariadb
遇到的问题:zabbix进入首页安装的时候,点击next step,没有任何反应,也不能跳转。
网上的方案是 : 修改/var/lib/php/session/宿主或者添加777权限
但是我的php默认是没有这个session目录的。 后面的话 ,确定了zabbix依赖于启动用户zabbix 而网页的启动依赖nginx ; 然后一个一个服务检查,发现nginx的启动用户出错 (可能是因为之前的环境没铲干净);然后修改启动用户后,重新启动服务,解决问题了。
细节:每个版本的服务的配置文件可能会有所出入,所以要检查清楚 。
1.环境准备
:CentOS Linux release 7.7.1908 (Core) Zabbix-4.4.7,nginx 1.16.1,php 5.4.16 ,mariadb(简单替代mysql)
两台虚拟机,一台做server服务端,另外一台做agent监控端。
防火墙和selinux都关闭。
2. 简单在Server端部署LNMP。
(因为zabbix依赖于lnmp或者lamp的环境)
## LNMP的部署
yum -y install gcc pcre-devel zlib-devel openssl-devel
yum -y install php php-mysql mariadb mariadb-devel mariadb-server
yum -y install php-fpm
tar -xf nginx-1.16.1.tar.gz
cd nginx-1.16.1/
./configure --with-http_ssl_module
make && make install
yum -y install php-fpm
## 以上lnmp的部署可以选择其他方式亦可
## 我是直接用阿里的yum源直接install 把所有依赖都装上即可
# 修改nginx的主配置文件
]# vim /etc/nginx/nginx.conf
location / {
}
### 开启php页面功能
location ~ \.php$ {
root /usr/share/nginx/html;
#指定存放 网页文件的目录 !!! 很重要哦!!!
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#在以往的nginx 版本里,是不需要声明该文件路径的
include fastcgi_params;
}
#测试配置文件
#ali的安装nginx等资源 直接提供了systemctl 启动命令
]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#全部服务开启 并设置开机自启
[root@shian ~]# systemctl restart nginx.service
[root@shian ~]# systemctl enable nginx.service
[root@shian ~]# systemctl restart php-fpm.service
[root@shian ~]# systemctl enable php-fpm.service
[root@shian ~]# systemctl restart mariadb.service
[root@shian ~]# systemctl enable mariadb.service
##新建一个php页面进行配置,是否可以访问
/usr/share/nginx/html/test.php
<?php
phpinfo();
如果LNMP的部署出错的话,大概率是由于修改nginx配置文件的时候出错了。
需要注意的是,检查nginx 的默认用户是否为nginx ;zabbix默认服务的用户是选择nginx或者apache的。
3. Zabbix Server的安装配置
安装依赖:
]# yum -y install net-snmp-devel curl-devel libevent-devel
]# tar -xf zabbix-4.4.7.tar.gz
]# cd zabbix-4.4.7/
]# ./configure
--enable-server // 安装 部署Zabbix服务器端软件
--enable-proxy // zabbix 代理相关软件
--enable-agent // 被监控端软件
--with-mysql=/usr/bin/mysql_config //配置mysql_config路径
--with-net-snmp //允许zabbix通过snmp协议监控其他设备
--with-libcurl //安装相关curl 库文件
这样zabbix 就可以通过curl连接http等服务 测试被监控主机服务的状态
]# make && make install
## 验证zabbix是否安装成功
## 安装成功的话,对应的目录下会成功这些文件
[root@shian 下载]# ls /usr/local/etc/
zabbix_agentd.conf zabbix_proxy.conf zabbix_server.conf
zabbix_agentd.conf.d zabbix_proxy.conf.d zabbix_server.conf.d
[root@shian 下载]# ls /usr/local/bin/
zabbix_get zabbix_js zabbix_sender
[root@shian 下载]# ls /usr/local/sbin/
zabbix_agentd zabbix_proxy zabbix_server
4. Zabbix数据 初始化准备
1.创建存储数据的库,表及连接用户
]# mysql
MariaDB [(none)]> create database zabbix character set utf8;
// 创建存储数据的库 支持中文
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
//授权连接用户 这是链接zabbix用户的账号名和密码
]# cd zabbix-4.4.7/database/mysql/
//导入时间较长 耐心等待
mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
2.创建网页连接文件
]# cd zabbix-4.4.7/frontends/php/
php]# cp -a * /usr/local/nginx/html/
php]# chmod -R 777 /usr/local/nginx/html/* //修改权限
##这一步很关键,若没有修改权限的话;zabbix在进入首页后,将无法进行next step的操作
5.修改nginx的部分配置
### 以下配置需求 根据自身环境进行调试配置
]# vim /etc/nginx/nginx.conf
http{
.......
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; //缓存php生产的头部信息
fastcgi_connect_timeout 300; //连接php的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
.......
}
#重启nginx服务
]# systemctl restart nginx.service
6.安装部分php依赖和修改php配置
]# yum -y install php-gd php-xml php-ldap php-bcmath.x86_64 php-mbstring.x86_64
###修改php配置文件
#同样根据实际需求修改即可
]# vim /etc/php.ini
date.timezone=Asia/Shanghai //设置时区 878行
max_execution_time=300 //最大执行时间 秒 384
post_max_size=32M //POST数据最大容量 672
max_input_time=300 //服务器接收数据的时间限制 394
]#systemctl restart php-fpm //重启服务
7. 修改zabbix server的配置文件。 启动服务
vim /usr/local/etc/zabbix_server.conf
### 这里面的配置要和刚才数据库授权的信息一致,否则读取数据库信息失败
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
#启动服务:
]# useradd zabbix //不创建用户无法启动服务
]# zabbix_server //启动服务
]# netstat -antulp | grep :10051 //查看端口
//停止服务的命令 killall -9 zabbix_server
8. 开始检查zabbix配置 完成Server端配置
浏览器访问测试 firefox http://127.0.0.1/index.php
提示: 如果遇到NEXT STEP无法跳转到下一步的问题;有2个解决方法,修改网页目录权限 ;还有确定进程中的zabbix启动用户是否为nginx 即可。
正常情况的话,会出现全部显示OK的状态 。 若出现Fail,则安装对应的依赖即可。
默认的登录账号为Admin
密码为zabbix
至此,zabbix Server端的配置完成 。
9.被监控的主机agent的配置。
6 yum -y install gcc pcre-devel //安装编译工具
7 tar -xf zabbix-4.4.7.tar.gz
8 cd zabbix-4.4.7/
9 ./configure --enable-agent
10 make && make install
11 ls /usr/local/etc/ //验证配置
12 ls /usr/local/bin/
13 ls /usr/local/sbin/
#修改zabbix agent的配置文件
##必须确定 指的服务器地址准确无误
]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.137.102 //允许访问服务地址列表
ServerActive=192.168.137.101:10051 //监控服务器ip地址
LogFile=/tmp/zabbix_agentd.log //日志文件
启动服务
[root@zb100 zabbix-3.4.4]# useradd zabbix
[root@zb100 zabbix-3.4.4]# zabbix_agentd
[root@zb100 zabbix-3.4.4]# ss -antulp | grep :10050
完成配置后,即可在Zabbix Server里面 的监控主机里,加入该台被监控主机agent了。