Centos7.4 zabbix3.4.7源码安装的方法步骤

2020-10-19 16:38:15 浏览数 (1)

一、概述

Zabbix 是一个企业级的分布式开源监控方案。能够监控各种网络参数以及服务器健康性和完整性。支持灵活的通知机制,提供出色的报告和数据可视化功能。Zabbix支持主动轮询和被动捕获。最关键的是源代码都是免费发行的,可供公众任意使用。这也是它在中小企业广为流行的重要原因之一。本文简要描述Zabbix特性以及基于CentOS 7下安装Zabbix 3.4。

特性功能

Zabbix自3.4.5rc1版本开始支持Elasticsearch作为历史数据存储,17年12月28日发布了3.4.5

BUG

最近发现zabbix3.4.5后的版本出现饼型图形只显示一般的问题

二、安装及配置

1、下载源码包 zabbix官网:https://www.zabbix.com/ zabbix下载:https://www.zabbix.com/download

代码语言:javascript复制
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.7-1.el7.x86_64.rpm

2、所依赖的安装包

复制代码 代码如下:

yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-devel

3、创建安装目录

代码语言:javascript复制
mkdir -pv /app/zabbix

4、创建zabbix用户和组

代码语言:javascript复制
groupadd zabbix
useradd -g zabbix zabbix

5、解压及安装

代码语言:javascript复制
tar -xvf zabbix-3.4.7.tar.gz 
cd zabbix-3.4.7/
./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc 

6、启动及配置数据库

代码语言:javascript复制
systemctl start mariadb.service
systemctl status mariadb.service

mysqladmin -u root -p password 10880347
mysql -uroot -p10880347

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix2018';

7、导入数据库

代码语言:javascript复制
mysql -uzabbix -pzabbix2018 zabbix < schema.sql
mysql -uzabbix -pzabbix2018 zabbix < images.sql
mysql -uzabbix -pzabbix2018 zabbix < data.sql

8、修改PHP的配置参数

代码语言:javascript复制
vim /etc/php.ini 
date.timezone= Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
max_input_time = 300

9、移动zabbix项目到httpd目录中去

代码语言:javascript复制
cp -r frontends/php/ /var/www/html/zabbix
ll /var/www/html/
chown -R apache.apache /var/www/html/zabbix/

10、修改配置文件zabbix_server.conf

创建相关目录

代码语言:javascript复制
mkdir logs
mkdir alertscripts
mkdir externalscripts

grep -n '^'[a-Z] /app/zabbix/etc/zabbix_server.conf
38:LogFile=/app/zabbix/logs/zabbix_server.log
68:PidFile=/app/zabbix/logs/zabbix_server.pid
95:DBName=zabbix
111:DBUser=zabbix
119:DBPassword=zabbix
440:Timeout=4
481:AlertScriptsPath=/app/zabbix/alertscripts
490:ExternalScripts=/app/zabbix/externalscripts
526:LogSlowQueries=3000

11、zabbix服务启动脚本

代码语言:javascript复制
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/

将启动脚本的路径修改为/app/zabbix

代码语言:javascript复制
vim /etc/init.d/zabbix_server
BASEDIR=/app/zabbix

12、zabbix安装目录授权

代码语言:javascript复制
cd /app/
chown -R zabbix.zabbix zabbix/

13、开机启动

代码语言:javascript复制
chkconfig --add zabbix_server
chkconfig zabbix_server on
systemctl enable httpd.service
systemctl enable mariadb.service
systemctl start httpd.service
/etc/init.d/zabbix_server restart

14、web服务初始化

输入服务器IP地址172.16.8.254

下一步

环境配置检测,如果不OK,应返回前面的步骤进行排查

问题:是因少一个/usr/lib64/php/modules/ldap.so 找不到这个文件

root@devops-zabbix modules]# tail -f /var/log/httpd/error_log PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/ldap.so’ – /usr/lib64/php/modules/ldap.so: cannot open shared object file: No such file or directory in Unknown on line 0

解决方法:

1、首先查看源码安装的php模块中是否有ldap.so

2、重新拷一个ldap.so文件到/usr/lib64/php/modules/目录

至此zabbix 前面安装 “Check of pre-requisites”全部OK

下面配置到数据库的连接

下一步

服务器名称及端口配置

登陆,默认用户名Admin,密码zabbix

三、BUG

最近发现zabbix3.4.5-3.4.7后的版本出现饼型图形只显示一半的问题

四、中文显示乱码的问题

1、修改配置文件defines.inc.php

代码语言:javascript复制
cd /var/www/html/zabbix/include/
vi defines.inc.php
54 define('ZBX_GRAPH_FONT_NAME', 'msyh'); 
103 define('ZBX_FONT_NAME', 'msyh');

2、拷贝字体及授权

将win7系统微软雅黑的字体C:WindowsFonts,先拷贝桌面,在将msyh,msyhbd字体拷贝/var/www/html/zabbix/fonts

注意权限的问题(最近很多网友,遇见字体不生效的问题)

代码语言:javascript复制
cd /var/www/html/zabbix/fonts
chown -R apache.apache *

以上就是本文的全部内容,希望对大家的学习有所帮助。

0 人点赞