不要看步骤,看方法。授人以鱼不如授人以渔。
源码安装Zabbix4.2(遇到各种问题篇)
CentOS7 Minimal系统安装(关闭Firewalld和SELinux,实际生产环境不推荐,此处为实验方便)
yum安装lamp环境(不再详细描述)
wget zabbix4.2 tar包,解压,请自行到官网下载最新源码包
wget -O zabbix-4.2.4.tar.gz https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.4/zabbix-4.2.4.tar.gz/download
参考官方文档安装步骤(大家都知道一般官方文档坑最多)
https://www.zabbix.com/documentation/4.2/manual/installation/install
官方文档指出:
对于所有Zabbix守护进程,需要一个非特权用户。如果从非特权用户帐户启动Zabbix守护程序,它将以该用户身份运行。
但是,如果守护程序是从“root”帐户启动的,它将切换到“zabbix”用户帐户,该帐户必须存在。要创建这样的用户帐户(在其自己的组中,“zabbix”),
在基于RedHat的系统上,运行:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
UTF-8 is the only encoding supported by Zabbix. It is known to work without any security flaws. Users should be aware that there are known security issues if using some of the other encodings.
MySQL数据库中:
Character set utf8 and utf8_bin collation is required for Zabbix server to work properly with MySQL database.
shell> 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 '<password>'; mysql> quit;
创建数据库以后要导入初始化数据库文件,要不然后续安装过程会出现问题(暂时不导入也行,看一下问题出现在哪里)
在解压缩目录中的 /root/zabbix-4.2.4/database/mysql/ 目录中
[root@localhost mysql]# ls
data.sql images.sql Makefile Makefile.am Makefile.in schema.sql
mysql -uroot -p123456 zabbix < schema.sql
mysql -uroot -p123456 zabbix < images.sql
mysql -uroot -p123456 zabbix < data.sql
yum install gcc gcc-c++ -y
开始编译(编译时并未指定安装路径,可以根据自己需要更改,默认安装在/usr/local/下):
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
按照官方文档的指示,可以看到,需要安装mysql、net-snmp、libcurl、libxml2等必须安装依赖。可以通过yum方式安装。
yum install net-snmp -y后边编译的时候也会报错,所以直接安装net-snmp-devel,把net-snmp作为依赖安装
yum install net-snmp-devel -y 其他同理。
下一步就是install了
按照官方文档
make install ...... 等待 ......
查看和编辑配置文件
编辑Zabbix代理配置文件/usr/local/etc/zabbix_agentd.conf
您需要为安装了zabbix_agentd的每台主机配置此文件。
您必须在文件中指定Zabbix服务器IP地址。来自其他主机的连接将被拒绝。
编辑Zabbix服务器配置文件/usr/local/etc/zabbix_server.conf
您必须指定数据库名称,用户和密码(如果使用任何)。
如果您的安装很小(最多十个受监控主机),其余参数将适合您的默认值。如果要最大化Zabbix服务器(或代理)的性能,则应更改默认参数。
启动守护进程
在服务器端运行zabbix_server。
shell> zabbix_server
在所有受监视的计算机上运行zabbix_agentd。
shell> zabbix_agentd
安装Zabbix Web界面
复制PHP文件
Zabbix前端是用PHP编写的,因此要运行它需要PHP支持的Web服务器。只需将PHP文件从解压缩的目录中的 /root/zabbix-4.2.4/frontends/php/ 复制到webserver HTML文档目录即可完成安装。
建议使用子目录而不是HTML根目录。要创建子目录并将Zabbix前端文件复制到其中,请执行以下命令,替换实际目录:
mkdir /var/www/html/zabbix
cd /root/zabbix-4.2.4/frontends/php/
cp -a . /var/www/html/zabbix # (复制当前目录不要把 “ . ” 忘记)
开始安装前端
到这里基本上就没有什么问题了,看着官方文档的图片下一步就好了。
步骤1
在浏览器中,打开Zabbix URL:http:// <server_ip_or_name> / zabbix
您应该看到前端安装向导的第一个屏幕。(直接下一步即可)
第2步
确保满足所有必备软件。(该步骤可能会出现问题,原因是PHP环境问题,各种PHP插件未安装未启用等,按照提示要求修改配置文件 /etc/php.ini 文件,安装插件,重启 httpd 服务即可)
yum install php-
先决条件 | 最低价值 | 描述 |
---|---|---|
PHP版本 | 5.4.0 | |
PHP memory_limit选项 | 128MB | 在php.ini中: memory_limit = 128M |
PHP post_max_size选项 | 16MB | 在php.ini中: post_max_size = 16M |
PHP upload_max_filesize选项 | 2MB | 在php.ini中: upload_max_filesize = 2M |
PHP max_execution_time选项 | 300秒(允许值0和-1) | 在php.ini中: max_execution_time = 300 |
PHP max_input_time选项 | 300秒(允许值0和-1) | 在php.ini中: max_input_time = 300 |
PHP session.auto_start选项 | 必须禁用 | 在php.ini中: session.auto_start = 0 |
数据库支持 | 其中之一:MySQL,Oracle,PostgreSQL,IBM DB2 | 必须安装以下模块之一: mysql,oci8,pgsql,ibm_db2 |
bcmath时 | PHP-bcmath时 | |
MBSTRING | PHP-MBSTRING | |
PHP mbstring.func_overload选项 | 必须禁用 | 在php.ini中: mbstring.func_overload = 0 |
PHP always_populate_raw_post_data选项 | 必须禁用 | 仅适用于PHP 5.6.0或更高版本。 在php.ini中: always_populate_raw_post_data = -1 |
插座 | PHP的网窝。用户脚本支持需要。 | |
GD | 2.0.28 | PHP-GD。PHP GD扩展必须支持PNG图像( - with-png-dir),JPEG( - with-jpeg-dir)图像和FreeType 2(-- with-freetype-dir)。 |
的libxml | 2.6.15 | php-xml或php5-dom |
的XmlWriter | PHP-的XmlWriter | |
XMLReader的 | PHP-的XMLReader | |
CTYPE | PHP-CTYPE | |
会议 | PHP会话 | |
gettext的 | php-gettext 从Zabbix 2.2.1开始,PHP gettext扩展不是安装Zabbix的强制要求。如果未安装gettext,前端将照常工作,但翻译将无法使用。 |
列表中也可能包含可选的先决条件。失败的可选先决条件以橙色显示,并具有警告状态。如果选择的先决条件失败,则设置可能会继续。
第3步
输入连接数据库的详细信息。必须已创建Zabbix数据库。
第4步
输入Zabbix服务器详细信息。(默认就可以,不用输入)
第5步
查看设置摘要。
第6步
下载配置文件并将其放在conf /中将Zabbix PHP文件复制到的webserver HTML documents子目录中。
第7步
完成安装。
第8步
Zabbix前端准备好了!默认用户名为Admin,密码为zabbix。
顺便把中文乱码问题解决掉:
在 Windows 主机中的 控制面板外观和个性化字体 目录中找一个自己喜欢的字体,
上传至 Zabbix 服务器中的 /var/www/html/zabbix/assets/fonts 目录中,
然后修改 /var/www/html/zabbix/include/defines.inc.php 路径下的配置文件 (大约在 69 行)
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
注意字母大小写。