文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 02:43

关注

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

IP:192.168.168.103

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

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

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

软件说明:

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

https://www.zabbix.com/documentation/current/manual/installation/requirements#required_software

目录说明:

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

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

https://www.toutiao.com/i6961593096903705092/

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

https://www.toutiao.com/i6955761888323961381/

CentOS7编译安装php-7.4.16:

https://www.toutiao.com/i6947278581865366052/

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

二、配置MySQL

## 创建Zabbix数据库

  1. CREATE DATABASE db_zabbix default charset utf8 collate utf8_bin;  

## 创建Zabbix用户及授权

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

三、安装Zabbix

1.安装依赖

  1. rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
  2. yum -y install gcc gcc-c++ unixODBC-devel \ 
  3. mysql-devel libcurl libcurl-devel \ 
  4. libevent libevent-devel fping curl-devel \ 
  5. libxml2 libxml2-devel net-snmp-devel net-snmp 

2.创建Zabbix用户组及用户

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

3.下载源码

  1. cd /data/tools 
  2. wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz 

4.解压编译安装

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

## 参数说明:

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

5.修改配置文件

## 创建日志目录

  1. mkdir -p /data/logs/zabbix 

## 修改目录权限

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

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

  1. cd /usr/local/zabbix/etc/ 
  2. cp zabbix_server.conf zabbix_server.conf.bak 
  3. vi zabbix_server.conf  
  4. //找到如下对应的属性项进行修改 
  5. LogFile=/data/logs/zabbix/zabbix_server.log 
  6. PidFile=/data/logs/zabbix/zabbix_server.pid 
  7. DBHost=127.0.0.1 
  8. DBName=db_zabbix 
  9. DBUser=zabbix 
  10. DBPassword=123456 
  11. DBSocket=/usr/local/mysql/mysql.sock 
  12. DBPort=3306 
  13. AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts 

## 修改agent配置文件

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

6.配置Zabbix服务管理脚本

## 复制管理脚本

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

## 添加脚本执行权限

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

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

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

## 建立软链接

  1. ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/ 
  2. ln -s /usr/local/zabbix/bin/zabbix_* /usr/local/bin/ 

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

7.导入数据

## 登录数据库

mysql -uroot -p

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

启动zabbix-server及zabbix-agent

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

四、配置WEB站点

1.拷贝前端文件

  1. mkdir -p /data/www/zabbix 
  2. cd /data/tools/zabbix-5.2.6/ 
  3. cp -a uidisable_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

  1. systemctl start php-fpm.service 

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

  1. vi /usr/local/nginx/conf/vhost/zabbix.conf 
  2. //添加如下内容,仅供参考 
  3. server{ 
  4.     listen 80; 
  5.     server_name 192.168.168.103; 
  6.     root /data/www/zabbix; 
  7.     index index.php index.html index.htm; 
  8.  
  9.     access_log  /data/logs/nginx/zabbix.log  json; 
  10.  
  11.     location ~ \.php(.*)$ { 
  12.         fastcgi_pass   127.0.0.1:9000; 
  13.         fastcgi_index  index.php; 
  14.         fastcgi_param  SCRIPT_FILENAME  /data/www/zabbix/$fastcgi_script_name; 
  15.         include        fastcgi_params; 
  16.     } 
  17.  
  18.     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { 
  19.         expires 15d; 
  20.     } 
  21.  
  22.     location ~ .*\.(js|css)?$ { 
  23.         expires 1d; 
  24.     } 

## 启动Nginx

  1. systemctl start nginx.service 

五、部署WEB站点

1.进入欢迎界面

在浏览器中打开:http://IP/setup.php 本文中IP为192.168.168.103,

选择默认语言,可以选择"Chines(zh_CN)",此处保持默认,安装完成后再调整为中文界面。点击"Next step"开始安装。


2.检查先决条件

确保满足所有软件先决条件。如下图所示,下拉滚动条,检查所有软件是否都是"OK"。若没有出现error,即可点击"Next step"(出现 “Warning”可忽略也可先修复)

具体请参照官方说明:

https://www.zabbix.com/documentation/current/manual/installation/frontend


3.配置数据库连接


4.Zabbix服务器详细信息


5.GUI用户界面设置


6.安装前摘要

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


7.完成安装

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

/data/www/zabbix/conf/zabbix.conf.php"配置文件,该文件记录了刚刚安装zabbix前端时定义的配置信息。感兴趣可以登录zabbix web服务器进行查看。


8.登录zabbix前端页面

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

9.Zabbix前端首页

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

六、简单配置

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

## WEB页面左侧边栏,点击"Use settings"


## 点击"Change password"修改密码


## 输入2次新密码,并点击"Update"按钮更新密码


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


2.修改界面语言为中文

## WEB页面左侧边栏,点击"Use settings"→“User”→“Language”,从下拉列表中选择“Chinese(zh_CN)”


## 点击"Update"按钮更新设置


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


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

## 问题的原因是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

  1. cd /data/www/zabbix/assets/fonts 
  2. mv DejaVuSans.ttf DejaVuSans.ttf.bak  
  3. ln -sf simhei.ttf DejaVuSans.ttf 

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

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯