zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
今天在装有宝塔面板的本地虚拟机上安装了下,测试完全正常运行。而且不影响其他程序和网站。
zabbix官方手册地址(可选择中文语言):https://www.zabbix.com/documentation/3.4/zh/manual
Zabbix同时需要物理内存和磁盘空间。刚开始使用Zabbix,建议128MB物理内存和256MB可用磁盘空间。然而, 具体需要的内存大小和磁盘空间要根据主机数量和监控参数而定。如果你计划对监控的参数进行长期保存,你应该考虑至少在数据库中预留几个GB的空间,以用来保留历史数据。 每个Zabbix的守护进程需要与数据库服务器建立多个连接。分配给连接的内存数量,取决于数据库引擎的配置。
支持平台:
Linux IBM AIX FreeBSD NetBSD OpenBSD HP-UX Mac OS X Solaris
Windows: Windows 2000以后的所有桌面和服务器版本 (只可运行Zabbix agent)
本教程环境:centos7、已安装宝塔面板(nginx1.8.1+mysql5.7+php7.2)
我们首先需要新建一个zabbix的用户
SSH连接
连接进入SSH输入以下命令新建
groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin
yum -y install epel-release
yum -y install net-snmp-devel fping
下载Zabbix源码:本地也下载一份,后面需要上传自带的数据库文件
用xshell先进入root目录
cd /root
然后使用wget方式下载
然后使用wget方式下载
wget https://astuteinternet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.5/zabbix-4.0.5.tar.gz
解压下载的文件
tar -zxvf zabbix-4.0.5.tar.gz
进入解压后的目录
cd zabbix-4.0.5
编译解压后的程序
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
完成后如图
安装编译后的文件
make install
下面开始建立zabbix的数据库,进入宝塔面板–数据库–phpmyadmin
进入phpmyadmin新建zabbix数据库,注意:数据库的排序规则一定要是utf8_general_ci ,这里已经新建了个zabbix的数据库,按以下图片新建
然后我们前面本机下载的zabbix文件就用上了,本机解压文件进入/database/mysql目录 找到如下三个文件
schema.sql images.sql data.sql
按照顺序把他导入到zabbix数据库,选择对应的文件,然后下方有个执行
这样数据库就创建完成并导入初始数据了。我们下面还需要编辑zabbix的配置文件
在宝塔文件管理里面进入/usr/local/etc/目录,编辑zabbix_server.conf这个文件。
找到DBName=、DBUser=、DBPassword=这三个。其中DBPassword=我这个配置文件里没有这一项,我直接新建了这一项内容。
DBName=数据库名字zabbix
DBUser=数据库用户root
DBPassword=数据库root密码
DBPassword=这一项如果你是空的话,跟我一样创建个就行了。看好位置填进去。
数据库root密码在下图位置找
上面三项内容编辑完注意保存,一定保存。然后目录内我们看到还有个zabbix_agentd.conf这个配置文件,我们也编辑它。
Server=127.0.0.1这一项的127.0.0.1改成你自己的服务器IP。 这里也可以添加本地电脑的IP地址
然后放行zabbix的端口,zabbix使用10050和10051端口,在宝塔里放行他。如下图,放行2个端口
放行端口之后我们在SSH里启动zabbix的服务
zabbix_server
zabbix_agentd
PS:zabbix_server 服务器起不来 提示连不上数据库
解决方法:
[root@localhost lib]# mkdir /var/lib/mysql
[root@localhost lib]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@localhost lib]# /etc/rc.d/init.d/mysqld restart
Shutting down MySQL... SUCCESS!
Starting MySQL SUCCESS!
[root@localhost zabbix]# tail -f zabbix_server.log
28082:20190423:155527.231 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
28082:20190423:155527.231 database is down: reconnecting in 10 seconds
28080:20190423:155533.655 database connection re-established
28102:20190423:155533.886 database connection re-established
28088:20190423:155535.165 database connection re-established
28081:20190423:155535.226 database connection re-established
28078:20190423:155535.246 database connection re-established
28084:20190423:155535.379 database connection re-established
28083:20190423:155536.232 database connection re-established
28082:20190423:155537.232 database connection re-established
查看他们的运行状态
ps -ef | grep zabbix_server
ps -ef | grep zabbix_agentd
如下图:
宝塔里创建一个网站(不需要数据库)
进入PHP设置,把max_input_time的值改成300
在xshell使用cp -r /root/zabbix-4.0.5/frontends/php/* /www/wwwroot/zabbix.miensi.com/(这里的
zabbix.miensi.com就是上一步创建的站点目录)。 如下图
访问你的域名就进入了zabbix的WEB安装过程。 这里使用了zabbix.miensi.com,域名未解析过来,需要在本地电脑修改hosts文件 ,记得备份一份原先系统的
访问域名进入了zabbix的WEB安装过程。
第一步是检测环境组件是否正常。其中有个PHP的LDAP扩展不正常,我们不用理会。不影响使用。
PS:问题:PHP option “always_populate_raw_post_data” must be set to “-1”
centos7环境下always_populate_raw_post_data的设置
找到在你的项目先找到 CFrontendSetup.php 我这的项目在www目录下 或者find / -name CFrontendSetup.php
找到 checkPhpAlwaysPopulateRawPostData()方法大概在366行
填写数据库的信息。
地址host和端口port不要改!
下一步、下一步
会有个报错,意思是没有找到配置文件,我们把它提供的文件下载下来,传到网站的/conf/目录里面。
打开域名,进入登录界面,默认账号密码admin、zabbix
PS:报错 putenv() has been disabled for security reasons [srv_status.php:22 → require_once() → ZBase->run() →
putenv()出于安全原因被禁用了。
宝塔面板|软件商店|PHP对应版本的设置中:
禁用函数里面,删除putenv。
OK已解决!!!!
进去我们先改下语言:
点那个右上角的用户图标进去改语言。