ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Centos7.4 zabbix3.4.8源码安装详细过程

Centos7.4 zabbix3.4.8源码安装详细过程

原创 Linux操作系统 作者:373303576 时间:2018-06-12 14:54:01 0 删除 编辑

zabbix介绍

Zabbix 是一个企业级的分布式开源监控方案。能够监控各种网络参数以及服务器健康性和完整性。支持灵活的通知机制,提供出色的报告和数据可视化功能。Zabbix支持主动轮询和被动捕获。最关键的是源代码都是免费发行的,可供公众任意使用。这也是它在中小企业广为流行的重要原因之一。下面就详细介绍如何在Centos7下面部署最新的zabbix。

zabbix模式:

Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。

被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据

Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。

zabbix运行:

Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低

Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows

SNMP:支持各类常见的网络设备

 

优劣势:

优点:

开源,无软件成本投入

Server 对设备性能要求低

支持设备多,自带多种监控模板

支持分布式集中管理,有自动发现功能,可以实现自动化监控

开放式接口,扩展性强,插件编写容易

当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。

Api 的支持,方便与其他系统结合

缺点:

需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

 

 

 

部署环境 OS:Centos7.4

 引言-本次实验安装7.2版本,7.2的安装包里面不存在4个补丁,且系统中均为php-bcmath-5.4.16-36.el7_1.x86_64,若是其他版本请格外注意后缀名

若存在其他版本,下载地址为 http://rpm.pbone.net/, 搜索时需要带上版本号,例如搜索php-bcmath-5.4.16-36.el7_1

SEARCH 
NEW RPMS 
DIRECTORIES 
ABOUT 
VARIOUS 
BLOG 
DONATE 
YUM REPOSITORY 
Not enough search parameters. I'm using defaults. 
FILE WASN'T FOUND IN ANY RPM FILE. TRYING TO SEARCH THIS FILE ON FTP SERVERS 
You have chosen search rpm In world FTP resources. 
Not enough search parameters. I'm using defaults. 
Display 1 -5 hits of 5. Search took 0.00 seconds. 
Search results for php-bcmath-5.4.16-36.e17_1 : 
Filename 
DhD-bcmath 
DhD-bcmath 
DhD-bcmath 
DhD-bcmath 
DhD-bcmath 
-5.4.16 
-5.4.16 
-5.4.16 
-5.4.16 
-5.4.16 
File SIZe 
_ 36. el 7 
56 kB 
_ 36. el 7 
56 kB 
_ 36. el 7 
56 kB 
_ 36. el 7 
56 kB 
_ 36. el 7 
1.x86 
1.x86 
1.x86 
1.x86 
1.x86 
64. rom 
64 .rom 
64 .rom 
64 .rom 
64 .rom 
Distribution 
Centos Other 
RedHat EL 7 
RedHat EL 7 
centos 7 
Scientific Linux 7 
56 
kg Info available.

由于本机是7.2,先提供补丁包

<<php-common-5.4.16-36.el7_1.x86_64.rpm>>

<<libevent-devel-2.0.21-4.el7.x86_64.rpm>>

<<php-mbstring-5.4.16-36.el7_1.x86_64.rpm>>

<<php-bcmath-5.4.16-36.el7_1.x86_64.rpm>>

 

[root@zabbix ~]# lsb_release -a   查看版本号

 

1、关闭selinux

[root@zabbix ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #禁用selinux,需重启

[root@zabbix ~]# setenforce 0 #临时关闭,不需要重启就关闭了

2、关闭防火墙

[root@zabbix ~]# systemctl stop firewalld.service #关闭防火强,重启后有会恢复上一次的配置情况

[root@zabbix ~]# systemctl disable firewalld.service #禁止防火墙开机自启,即重启后,防火墙就不会自动启动

[root@zabbix ~]# firewall-cmd --state #查看防火墙是否是启动状态

not running

3.修改host

[root@zabbix ~]# cat /etc/hosts

127.0.0.1 localhost

10.0.1.110 zabbix

4.安装依赖包 --rh7.2里面不存在部分依赖包,请各自下载

[root@zabbix ~]# 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  OpenIPMI-devel openldap openldap-devel libevent-devel  php-ldap

 

5.安装mysql数据库,这里我们使用MariaDB  --rh7后系统盘自带的为mariadb 

[root@zabbix ~]# yum install –y mariadb mariadb-server

[root@zabbix ~]# systemctl start mariadb.service

[root@zabbix ~]# systemctl enable mariadb.service

[root@zabbix ~]# mysqladmin -u root -p password mysql #设置root的密码为mysql 这步我没有设置,登陆直接使用mysql -u root

Enter password: #输入mysql并回车   

 

6.创建zabbix用户和组 

[root@zabbix ~]# groupadd zabbix

[root@zabbix ~]# useradd -g zabbix zabbix

7.zabbix解压及安装 

[root@zabbix src]# tar -xvf zabbix-3.4.8.tar.gz

[root@zabbix zabbix-3.4.8]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc

[root@zabbix zabbix-3.4.8]# make install

7.创建zabbix数据库,并导入表结构

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)

[root@zabbix mysql]# pwd /src/zabbix-3.4.8/database/mysql

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

8.修改PHP的配置参数

[root@zabbix ~]# vi /etc/php.ini

date.timezone = Asia/Shanghai #设置时区

max_execution_time = 300 #php脚本最大执行时间

post_max_size = 32M #上传文件大小

mbstring.func_overload = 1

max_input_time = 300 #以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制

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

[root@zabbix ~]# cp -r /src/zabbix-3.4.8/frontends/php/ /var/www/html/zabbix   --注意zabbix目录下直接为各文件,/zabbix/php/是错误的

[root@zabbix ~]# chown -R apache:apache /var/www/html/zabbix/

10.修改httpd.config

[root@zabbix ~]# vi /etc/httpd/conf/httpd.conf

DcumentRoot "/var/www/html/zabbix"

10.修改配置文件zabbix_server.conf 创建相关目录

[root@zabbix zabbix]# pwd /usr/local/zabbix

[root@zabbix zabbix]# mkdir logs/ externalscripts/ alertscripts/

修改zabbix_server.conf如下:

[root@zabbix zabbix]# grep -n '^'[a-Z] /usr/local/zabbix/etc/zabbix_server.conf 38:LogFile=/usr/local/zabbix/logs/zabbix_server.log

68:PidFile=/usr/local/zabbix/logs/zabbix_server.pid

95:DBName=zabbix 111:DBUser=zabbix

440:Timeout=4

480:AlertScriptsPath=/usr/local/zabbix/alertscripts

488:ExternalScripts=/usr/local/zabbix/externalscripts

524:LogSlowQueries=3000

11.zabbix服务启动脚本 

[root@zabbix ~]# cp /src/zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/

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

[root@zabbix ~]# vi /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

12.开机启动

[root@zabbix ~]#chkconfig --add zabbix_server

[root@zabbix ~]#chkconfig zabbix_server on

[root@zabbix ~]#systemctl enable httpd.service

[root@zabbix ~]#systemctl enable mariadb.service

[root@zabbix ~]#systemctl start httpd.service

[root@zabbix ~]#/etc/init.d/zabbix_server restart

 

--若监控本机

cp /src/zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/

chkconfig --add zabbix_agentd

chkconfig enable zabbix_agentd

 

[root@zabbix ~]# vi /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

 

vi /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1  指定允许谁访问自己

ServerActive=127.0.0.1:10051  监控端IP和端口号

 

/etc/init.d/zabbix_agentd restart

 

 

 

13.web服务初始化

输入服务器IP地址10.0.1.110

3.png

 

环境配置检测,如果有任何的报错,应返回前面的步骤进行排查 

问题:是因为缺少php-ldap包,只需要安装即可 

[root@zabbix ~]# yum install php-ldap

4.png

 

5.png

 

6.png

7.png

 

8.png

 

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

12.png

 

14.中文显示乱码:

9.png

 

处理方法:

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

[root@zabbix ~]#cd /var/www/html/zabbix/include/

[root@zabbix include]# vi defines.inc.php

54 define('ZBX_GRAPH_FONT_NAME', 'msyh');

103 define('ZBX_FONT_NAME', 'msyh');

2、拷贝字体及授权 将win7系统微软雅黑的字体C:\Windows\Fonts,先拷贝桌面,

在将msyh,msyhbd字体拷贝/var/www/html/zabbix/fonts 注意权限的问题 

[root@zabbix ~]# cd /var/www/html/zabbix/fonts/

[root@zabbix fonts]# chown -R apache.apache *

最终显示如下:

11.png

 

    客户端配置

    1. Selinux、防火墙关闭

     

    [root@localhost etc]# vi /etc/selinux/config

    SELINUX=disabled

    [root@localhost etc]# systemctl stop firewalld

    [root@localhost etc]# systemctl disable firewalld

    [root@localhost etc]# firewall-cmd --state

    not running

    1. 安装zabbix_agentd

    [root@pma zabbix-3.4.8]# groupadd zabbix

    [root@pma zabbix-3.4.8]# useradd -g zabbix zabbix

    [root@pma zabbix-3.4.8]# passwd zabbix

    zabbix用户需要创建,否则进程无法启动

    >挂载IOS磁盘  mount -o loop –t iso9660 …

    >安装依赖包

    yum install gcc*  pcre*

    ./configure --prefix=/usr/local/zabbix  --enable-agent

    Make install

    [root@pma zabbix-3.4.8]# make install

    [root@pma zabbix-3.4.8]# cp misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/

    [root@pma zabbix-3.4.8]# vi /etc/init.d/zabbix_agentd

         BASEDIR=/usr/local/zabbix

    [root@pma zabbix-3.4.8]# vi /usr/local/zabbix/etc/zabbix_agentd.conf

    Server=127.0.0.1,158.220.42.63

     

     

    创建主机

    选择模板

     

    状态正常

     

     

    新增客户端后出现问题:

    修改[root@localhost etc]# vi /usr/local/zabbix/etc/zabbix_server.conf

    StartDiscoverers=3 默认为1

     

     

Zabbix监控磁盘io

 

修改客户端配置文件

vi /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.d/*.conf

 

vi /usr/local/zabbix/etc/zabbix_agentd.d/userparameter_io.conf

 

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'                    //磁盘读的次数

UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'                     //磁盘读的毫秒数

UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'                   //磁盘写的次数

UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'                  //磁盘写的毫秒数

UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'           

UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'                       //花费在IO操作上的毫秒数

UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'             //读扇区的次数(一个扇区的等于512B)

UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}' 

 

该参数文件中字段说明:

1:文件名可以随意,但需以.conf结尾(因为在配置文件中指定的,可修改,修改后对应相应文件即可)。

2:UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'

其中custom.vfs.dev.write.sectors名称可变更。

例如,配置一个磁盘IO的参数

UserParameter=custom.vfs.dev.rw.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4 + $$8}'

重启后测试:

/usr/local/zabbix/bin/zabbix_get -s 192.168.1.76 -p 10050 -k 'custom.vfs.dev.rw.ops[sda]'

 

 

/etc/init.d/zabbix_agentd restart

 

 

服务端:

/usr/local/zabbix/bin/zabbix_get -s 192.168.1.76 -p 10050 -k 'custom.vfs.dev.read.ops[sda]'

 

 

 

 

监控中发现:cpu load与TOP值不同  ---其实监控是正确的,因为监控项本身就是process load per cpu,只是看起来与TOP总负载不同。

修改process load 模板(1min 5min 15min) 修改键值为system.cpu.load[all,avg1]等或system.cpu.load[,avg5],修改名称

 

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29602085/viewspace-2156026/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 为了规范自身
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-04-11

  • 博文量
    2
  • 访问量
    1795