Zabbix系列—①源码编译安装 5.2.6版本(Server服务端)

网友投稿 678 2023-04-05

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Zabbix系列—①源码编译安装 5.2.6版本(Server服务端)

一、环境说明

本文中使用本地VM虚机部署测试。

OS:CentOS 7.8 (3.10.0-1160.15.2.el7.x86_64)

IP:192.168.168.103

虚机配置:2核CPU、4G内存

注:①系统为最小化安装,部署前已完成系统初始化、内核及安全优化;

②Iptables防火墙已启用,相应服务(如Nginx)端口已添加至Iptables防火墙相关规则中。

软件说明:

5.2版本的安装需要PHP 7.2.x以上版本,且不支持PHP 8.0版本,官方说明:

目录说明:

本文中省略NGINX/PHP/MySQL/JDK安装过程,关于NGINX/PHP/MySQL安装过程可参照本人之前发布的文章。

CentOS7下编译安装Nginx-v1.20.0:

MySQL系列-二进制包安装(v5.7.34):

CentOS7编译安装php-7.4.16:

特别说明:源码编译安装PHP7.4.20时,configure配置时不要添加"--enable-gd-jis-conv",经本人测试,此参数影响后续将zabbix服务WEB界面设置为中文时会出现乱码。就算按照本文中最后步骤中的设置也无法正常显示中文。

二、配置MySQL

## 创建Zabbix数据库

CREATE DATABASE db_zabbix default charset utf8 collate utf8_bin;

## 创建Zabbix用户及授权

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON db_zabbix.* to 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456';  FLUSH PRIVILEGES;

三、安装Zabbix

1.安装依赖

2.创建Zabbix用户组及用户

groupadd zabbix useradd -g zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

3.下载源码

4.解压编译安装

tar xf zabbix-5.2.6.tar.gz cd zabbix-5.2.6 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \ --with-mysql --with-net-snmp --with-libcurl --with-libxml2 \ --with-unixodbc --enable-java --enable-ipv6 make && make install ## 更改Zabbix安装目录和文件属主属组 chown -R zabbix.zabbix /usr/local/zabbix/

## 参数说明:

--prefix=/usr/local/zabbix:指定zabbix安装路径 --enable-server:启动server端 --enable-agent:启动agent端 --with-mysql:编译连接mysql相关依赖包 --with-net-snmp:启动snmp相关,用于snmp监控设备 --with-libcurl:启动curl相关 --with-libxml2:启动xml相关 --with-unixodbc:启动odbc相关用于监控数据库 --enable-java:启动java-agent 用于监控java类,需要安装JAVA环境 --enable-ipv6:启用IPv6

5.修改配置文件

## 创建日志目录

mkdir -p /data/logs/zabbix

## 修改目录权限

chown -R zabbix.zabbix /data/logs/zabbix

## 修改server配置文件,配置数据库连接等

cd /usr/local/zabbix/etc/ cp zabbix_server.conf zabbix_server.conf.bak vi zabbix_server.conf  //找到如下对应的属性项进行修改 LogFile=/data/logs/zabbix/zabbix_server.log PidFile=/data/logs/zabbix/zabbix_server.pid DBHost=127.0.0.1 DBName=db_zabbix DBUser=zabbix DBPassword=123456 DBSocket=/usr/local/mysql/mysql.sock DBPort=3306 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

## 修改agent配置文件

cp zabbix_agentd.conf zabbix_agentd.conf.bak vi zabbix_agentd.conf //找到如下对应的属性项进行修改 PidFile=/data/logs/zabbix/zabbix_agentd.pid LogFile=/data/logs/zabbix/zabbix_agentd.log Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix Server Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

6.配置Zabbix服务管理脚本

## 复制管理脚本

cd /data/tools/zabbix-5.2.6/ cp misc/init.d/tru64/{zabbix_agentd,zabbix_server} /etc/init.d/

## 添加脚本执行权限

chmod o+x /etc/init.d/zabbix_*

## 修改启动脚本中PID文件路径

sed -i "s#PIDFILE=/tmp/zabbix_server.pid#PIDFILE=/data/logs/zabbix/zabbix_server.pid#g" /etc/init.d/zabbix_server sed -i "s#PIDFILE=/tmp/zabbix_agentd.pid#PIDFILE=/data/logs/zabbix/zabbix_agentd.pid#g" /etc/init.d/zabbix_agentd

## 建立软链接

ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/ ln -s /usr/local/zabbix/bin/zabbix_* /usr/local/bin/

注:若不创建软链接,则需修改脚本中的DAEMON路径,指向zabbix安装目录路径。

7.导入数据

## 登录数据库

mysql -uroot -p

## 登录数据库 mysql -uroot -p ## 切换至zabbix库 use db_zabbix; ## 导入数据(表结构、图片相关数据、模版相关数据) source /data/tools/zabbix-5.2.6/database/mysql/schema.sql; source /data/tools/zabbix-5.2.6/database/mysql/images.sql; source /data/tools/zabbix-5.2.6/database/mysql/data.sql;

8.启动zabbix-server及zabbix-agent

/etc/init.d/zabbix_server start /etc/init.d/zabbix_agentd start

四、配置WEB站点

1.拷贝前端文件

2.配置PHP

①修改php-fpm.conf配置文件

注:用户组及用户nginx为NGINX服务和PHP服务运行用户,安装服务前创建。

②修改php.ini配置文件

sed -i 's/post_max_size = 8M/post_max_size = 20M/g' /etc/php.ini sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php.ini sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.ini sed -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php.ini sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /etc/php.ini

③启动php-fpm

systemctl start php-fpm.service

3.添加zabbix虚拟主机配置文件

## 启动Nginx

systemctl start nginx.service

五、部署WEB站点

1.进入欢迎界面

2.检查先决条件

具体请参照官方说明:

3.配置数据库连接

Database type:选择数据库类型,本文中使用的是MySQL,因此保持默认即可。Database host:选择数据库的主机,可以指定主机名或者是IP地址,根据实际情况填写即可。本文中web服务器和数据库部署在同一个节点,且授权用户也是仅允许本地127.0.0.1访问,因此该项值改为127.0.0.1。Database port:指定数据库的连接端口,默认值为0,表示使用默认值,以MySQL为例,默认值自然是3306。Database name:指定数据库的名称,默认值为zabbix,根据实际情况填写。本文中数据库名为db_zabbix。User:指定连接数据库的用户名,默认值为zabbix,根据实际情况填写。本文中用户名为zabbix。Password:指定连接数据库的密码,强烈建议不要使用官方默认的密码,而是自定义一个安全度比较高的,生产环境中建议用类似于密码生成器之类的工具定期更换用户名密码。

4.Zabbix服务器详细信息

Host:指定zabbix server的主机名或者IP地址,默认值为localhost,由于web服务器和zabbix server部署在一起,因此localhost这个默认值也可以不修改。Port:指定zabbix server的端口,默认值为10051,这个是zabbix server进程的默认端口,使用默认值即可。Name:这个Name其实就是给zabbix server起一个名字,当然也可以不填,默认值应该和Host同名。本文中自定义了一个名称,名为"Test Monitor"。

5.GUI用户界面设置

Default time zone:默认时区,根据实际情况选择,本文中保持默认。Default theme:默认主题样式,根据实际情况选择,本文中保持默认。

6.安装前摘要

检查配置参数。如果一切正常,则“Next step”,否则“Back”更改配置参数。

7.完成安装

如下图所示,前端安装成功。安装成功的同时,会创建一个"

8.登录zabbix前端页面

如下图所示。默认用户名:Admin,密码:zabbix

9.Zabbix前端首页

登录后的默认首页界面,可按右上角的“Edit Dashboard”编辑首页,调整仪表板显示位置及删除不需要显示的仪表板。

六、简单配置

1.修改WEB管理员的默认密码

## 用户信息更新成功,如下图所示。

2.修改界面语言为中文

## 更新成功后,页面即为中文

## 但查看监控数据页面发现出现乱码(方框),如下图所示

## 问题的原因是zabbix默认的字体文件不支持中文,所以中文字符的显示成了乱码。查看zabbix的web目录下include/defines.inc.php文件中对于字体的定义:

## 可以看到zabbix使用了自己定义的字体文件,而没有使用linux的系统字体。路径位于web目录下的assets/fonts目录。

## 解决方法:我们可以从windows的字体目录下或者从互联网获取黑体的字体文件simhei.ttf,windows下的字体文件位于:C:\Windows\Fonts 。将字体文件通过sftp上传到服务器上zabbix的web目录下assets/fonts目录内。然后把黑体的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf

## 刷新页面之后,中文字体显示正常

上一篇:告警分析处理包括(告警分类)
下一篇:SpringCloud之Hystrix Dashboard监控搭建与配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~