1. 下载地址
https://www.zabbix.com/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=nginx
2.无法安装的yum
安装的时候带上-y 不然我去喝杯水回来,服务器都断开了
yum install zabbix-server-mysql zabbix-agent -y
zabbix-server-mysql-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try. zabbix-agent-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
好好的官方软件步骤,安装出个这个问题,又是我们神奇的网络,无法连接。
第一步就走不走了,发现安装不下去。报错
试图修改,步骤 更换官方的源, 无效
cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) cd /etc/yum.repos.d wget http://mirrors.163.com/.help/CentOS7-Base-163.repo yum clean all yum makecache
无效
网上有说更换DNS能解决的,DNS换成4.4.4.4 因为我的服务器是阿里云的看了半天不敢乱动,怕重启动网络,连不上就麻烦了。
3. 源码安装
以我之前对其他软件的理解,linux其实都有源码安装的办法,只要能yum
3.1 选择zabbix Sources 2020年3月7日版本为4.4.6
https://www.zabbix.com/documentation/3.4/zh/manual/installation/install
tar -zxvf zabbix-4.4.6.tar.gz
3.2 创建用户和组zabbix
提示:使用root,bin或其他特殊权限的账户运行Zabbix是一个安全风险,这句话来自官方文档
groupadd zabbix useradd -g zabbix zabbix
3.3 创建Zabbix数据库
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbi111!';
如果mysql出现
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
说明密码强度不够,包含大写字母,数字,特殊字符就好了
3.4. 编译
官方文档有点啰嗦,直接这句话就好了
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
踩坑1:mysql库的问题
configure: error: MySQL library not found
这里的关键不是去找Mysql的事儿,是要看mysql_config
我找了mysql的事儿
which mysql mysqladmin -u root -p variables
找到类似日志的地方,就能判断mysql到底安装在哪里了。
| slow_query_log_file | /var/lib/mysql/rh64-slow.log | | socket | /var/lib/mysql/mysql.sock | mysql
结果
yum install mysql-devel whereis mysql_config
就好了
踩坑2.libxml2
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
报错
configure: error: Not found libxml2 library
这个页面下载
http://www.xmlsoft.org/downloads.html
wget ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz /configure make make install
踩坑3.Curl (注意不是curl)
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
configure: error: Curl library not found
yum install curl yum install curl-devel
踩坑4. libxml无法执行
./configure 成功运行,到了make的时候
# make && make install expression.c:31:28: fatal error: libxml/parser.h: No such file or directory # find / -name parser.h /usr/local/include/libxml2/libxml/parser.h
发现安装到了/usr/local/include/下了
一般情况下都是查找 /usr/lib在这个下面的库
所以在/usr/include下建一个软连接libxml
# ln -s /usr/local/include/libxml2/libxml /usr/include/libxml
# make && make install
服务器成功安装
3.5 启动服务端和客户端
在 Zabbix server 端运行 zabbix_server:
# zabbix_server
在此编辑 Zabbix server 的配置文件 /usr/local/etc/zabbix_server.conf
# zabbix_agentd
在此编辑 Zabbix agent 的配置文件 /usr/local/etc/zabbix_agentd.conf
如果您安装了 Zabbix proxy,请运行 zabbix_proxy:(月小升手工编译的文件,并没有这个玩意)
# zabbix_proxy
3.6 配置php
前端文件路径
cd /backup/soft/zabbix-4.4.6/frontends/php cp -a . /var/www/zabbix
配置自己的nginx 这里不多说 路径/var/www/zabbix即可。
在您的浏览器打开 Zabbix 链接:http:///zabbix
https://java-er.com/zabbix/setup.php
踩坑1.修改php.ini半天无效,最终修改了php-fpm的www.conf
转存失败重新上传取消
安装的时候出错,php的选项都在php.ini里改一遍然后重启php-fpm
whereis php.ini whereis php-fpm.conf
部分属性在php-fpm配置里,这个文件比php.ini优先级别高。
php -i | grep php.ini php-fpm -i | grep php.ini
反复修改/etc/php.ini 重启php-fpm 无效
修改
/etc/php-fpm.d/www.conf 立即生效了
php_value[post_max_size] = 16M php_value[max_execution_time] = 300 php_value[date.timezone] = Asia/Shanghai php_value[always_populate_raw_post_data] = -1
php_value[always_populate_raw_post_data] = -1 #提示里把off 改成on,我写了on没用,查了下,写-1 有效
bcmath 我开始以为是个变量,查了一下才知道是个插件
安装bcmath
yum install php-bcmath yum provides php-bcmath
php56w-bcmath-5.6.40-1.w7.x86_64 找到我的版本
yum install php56w-bcmath-5.6.40-1.w7.x86_64
重启php-fpm 就都显示OK了
踩坑2.说前端数据库不匹配
下一步出来(月小升有时候觉得能遇到的问题都被我撞上了)
The frontend does not match Zabbix database
我最终去下载的源代码的包里,找到了mysql文件
ls /backup/soft/zabbix-4.4.6/database/mysql data.sql images.sql Makefile Makefile.am Makefile.in schema.sql
一共三个
1. /backup/soft/zabbix-4.4.6/database/mysql/schema.sql
2. /backup/soft/zabbix-4.4.6/database/mysql/data.sql
3. /backup/soft/zabbix-4.4.6/database/mysql/images.sql
最原始的办法导入数据库
mysql -u zabbix -p
source /backup/soft/zabbix-4.4.6/database/mysql/schema.sql
相继倒入文件刷新直接过去了
默认账号Admin
默认密码为zabbix
踩坑3.说时区设置不对
DateTime::__construct(): Invalid date.timezone value 'Asia/Shaihang', we selected the timezone 'UTC' for now. DateTime::__construct(): Invalid date.timezone value 'Asia/Shaihang', we selected the timezone 'UTC' for now.
vi /etc/php-fpm.d/www.conf
修改为UTC
php_value[date.timezone] = UTC