阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix源码安装流程及报错解决方法

498次阅读
没有评论

共计 8073 个字符,预计需要花费 21 分钟才能阅读完成。

一. Zabbix 的介绍

1) Zabbix 是什么

Zabbix 是一款基于 web 页面的、开源的、企业级的,支持分布式部署的监控软件。

2)2.Zabbix 的作用

  • 监控 Windows 和 Linux 主机上的软硬件状态。

  • 监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。

  • 支持邮件短信微信等平台发送告警通知。

  • 通过 web 页面及图形展示监控数据。

3)Zabbix 的特性

  • 由 Zabbix server 和 agent 程序协同工作,还支持分布式监控,这时需要安装 zabbix proxy 程序

  • Zabbix 分为主动监控 (agent active) 和被动监控:

Zabbix 主动模式:Agent 主动请求 server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给 server/proxy,zabbix agent 首先向 ServerActive 配置的 IP 请求获取 active items,获取并提交 active tiems 数据值 server 或者 proxy;

Zabbix 被动模式:Server 向 agent 请求获取监控项的数据,agent 返回数据,Server 打开一个 TCP 连接,Server 发送请求 agent.ping,Agent 接收到请求并且响应,Server 处理接收到的数据。

  • 监控手段 (server 或 proxy 通过什么方式来收集监控到的数据) 常用的有:

SNMP(polling,trapping)

IPMI(监控硬件状况)

JMX(监控 Java 应用)

自定义监测(自定义各类监控脚本监测)

  • 灵活的阈值设定:支持自定义问题阈值,即触发器(trigger), 储存于数据库中。
  • 高级的报警设置:自定义报警升级、接受者以及报警的方式, 在配置中允许使用宏变量,可以通过远程命令来实现自动化动作。
  • 实时图像:课通过内置的绘图方式实现监控数据绘图,并可以自定义视图等。
  • 模板:支持模板中添加组监控,并允许继承使用。
  • 网络自动发现及自动注册:自动发现主机、网卡设备、SNMP 等
  • zabbix API:提供程序级别的访问接口,第三方程序可以很快接入

4)zabbix 系统的组成

  • zabbix_server:服务端守护进程,负责处理 zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy 提供的数据,并通过 web 界面呈现这些数据。

  • zabbix_agentd:客户端守护进程,负责收集客户端上的数据并发送给 server 或 proxy。

  • zabbix_get : 服务端工具, 在服务器上执行,用于手动收集客户端的监控数据,可以用于监控测试或者排错。

  • zabbix_sender: 客户端工具, 用于发送数据给 server 或者 proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致 zabbix 超时。于是我们在脚本执行完毕之后,使用 sender 主动提交数据;

  • zabbix_proxy : 类似于 server,但它只是一个中转站,当跨地区,跨机房部署 zabbix 系统时,需要用到它,以将它收集到的数据发送给 server。

5)zabbix 的监控流程:

Zabbix 监控完整流程包括:Agentd 安装在被监控的主机上,Agent 负责定期收集客户端本地各项数据,并发送到 Zabbix Server 端,Zabbix Server 收到数据,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。

二. zabbix 安装前准备zabbix3.2

1)zabbix 安装不同硬件配置环境样例:

Zabbix 源码安装流程及报错解决方法

2)zabbix 安装需要的数据库版本:

Zabbix 源码安装流程及报错解决方法

3)zabix 安装需要的前端软件版本:

Zabbix 源码安装流程及报错解决方法

4)zabbix 安装需要的 php 扩展:

Zabbix 源码安装流程及报错解决方法

下面是我源码安装 php 的流程及编译参数:

# wget 
# tar -zxf mirror # cd php-5.6.31/ 
# ./configure --prefix=/usr/local/php5.6  --with-config-file-path=/usr/local/php5.6/etc  \
    --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 \
    --with-gd --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/ \
    --with-freetype-dir=/usr/local/  --enable-gd-native-ttf \
    --with-iconv-dir=/usr/local/ --enable-mbstring --enable-calendar \
    --with-gettext --with-libxml-dir=/usr/local/ --with-zlib \
    --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \
    --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath \ 
    --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs
  1. 报错:checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution

解决:# yum -y install bzip-devel
  1. 报错: configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/. Note that the MySQL client library is not bundled anymore!

其实这跟 PHP 没有关系,那是因为在编译 APACHE 的时候,使用 –with-mpm 模块 所以就必须在编译 MYSQL 的时候加上 –enable-thread-safe-client. 参数就行 下面是一些比较简便的办法:

网上主流的办法:1. # cd /usr/local/mysql/lib/mysql/ 
                 # ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so	
                 #可是我并在 /lib 下并没有 mysql 这个库。所有此种方法没有成功 #最后用下面这种办法解决:2.# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64

整合 PHP 和 Apache:

# cp php.ini-development /usr/local/php5.6/etc/php.ini
# 在 apachede 的主配置文件中添加下面两条指令:AddType application/x-httpd-php .php     // 设置 PHP 文件类型
LoadModule php5_module  modules/libphp5.so  // 加载 PHP 模块

#指明 index.php 文件:<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

测试 PHP 是否加载成功:(通过浏览器访问 IP)

#echo "<?php phpinfo(); ?>" /usr/local/apache2/htdocs/index.php

三. 安装 zabbix

1)安装环境:

CentOS7 httpd2.4.27 php5.6.31 mysql5.5.20

2)安装 zabbix_server:

下载安装 zabbix:

# wget  http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download
# groupadd zabbix# useradd  -g zabbix zabbix
# tar zxf zabbix-3.2.6.tar.gz
# cd   zabbix-3.2.6
#./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl# make&&make install# ln -s /usr/local/zabbix/sbin/zabbix_*  /usr/local/sbin/

创建 zabbix 数据库并授权:

# /etc/init.d/mysqld restart
# mysql -uroot -p
mysql> CREATE DATABASE zabbix charset=utf8;
mysql> GRANT ALL ON zabbix.* to zabbix@localhost IDENTIFIED BY 'jiajie';mysql> FLUSH PRIVILEGES;
mysql> EXIT#cd zabbix-3.2.6

将 Zabbix 基础 SQL 文件导入 mysql 数据至 Zabbix 数据库,注意 server 端应该导入下面 三个数据库 文件

# cd zabbix-3.2.6
# mysql -uzabbix -pjiajie zabbix<database/mysql/schema.sql 
# mysql -uzabbix -pjiajie zabbix<database/mysql/images.sql 
# mysql -uzabbix -pjiajie zabbix<database/mysql/data.sql

备份 zabbix_server 配置文件,并打开配置文件修改为上面设置的数据库密码DBPassword=jiajie

# cd /usr/local/zabbix/etc/
# cp  zabbix_server.conf{,.bak}# vim zabbix_server.conf
 DBPassword=jiajie  // 数据库授权的密码

同时复制 zabbix_server 启动脚本至 /etc/init.d/ 下

# cd  ../zabbix-3.2.6
# cp  misc/init.d/tru64/zabbix_server  /etc/init.d/zabbix_server
# chmod  o+x  /etc/init.d/zabbix_server

接下来配置 web 端,并重启 zabbix 以及 mysql 服务 并查看相关端口是否起来。zabbix_server 的端口是 10051,agent 的端口是 10050

# cp  -a zabbix-3.2.6/frontends/php/* /usr/local/apache2/htdocs/
# /etc/init.d/mysqld restart
# /etc/init.d/zabbix_server restart

然后修改 PHP 的配置文件,使其支持 zabbix。这个上面就有说明。之后重启 httpd 服务即可。

# vim /usr/local/php5.6/etc/php.ini 
date.timezone = PRC
post_max_size =16M
max_execution_time=300
max_input_time=300
always_populate_raw_post_data = -1
# /etc/init.d/httpd restart

开始安装 zabbix_web 页面,浏览器访问 httpd 服务的 IP 地址即可。根据提示安装即可。

Zabbix 源码安装流程及报错解决方法

 

错误:修改了 php.ini 参数依然报错,显然是那些参数没有生效。这时候查看 php.ini 的路径是否正确。

如果 php.ini 的路径是正确。查看了 php.ini 的路径是正确的,但是还是没有生效。

这时候你可以在 apache 的配置文件中指明 php.ini 的路径。加上 PHPIniDir “/usr/local/php5.6/etc/” 这条指令即可。

重启 apache, 获取到路径。完美解决。

wKiom1mbwuOCZPriAAAsJI7aE6c072.png

Zabbix 源码安装流程及报错解决方法

 

配置数据库连接,输入数据库名、用户、密码,单击Test connection,显示OK,单击下一步即可。

 

 

Zabbix 源码安装流程及报错解决方法

填写 Zabbix Title 显示,可以为空,可以输入自定义的名称:

Zabbix 源码安装流程及报错解决方法

Zabbix 源码安装流程及报错解决方法单击下一步,出现需修创建 zabbix.conf.php 文件,执行如下命令,或者单击 Download the configuration file 下载 zabbix.conf.php 文件,将该文件上传到 /usr/local/apache2/htdocs/conf,并设置可写权限,刷新WEB 页面,最后单击 Finish 即可:

Zabbix 源码安装流程及报错解决方法

登录 Zabbix WEB 界面,默认用户名和密码为:admin/zabbix

 

 

Zabbix 源码安装流程及报错解决方法

 

zabbix 安装完成后, 但是显示服务没有起来一直显示 zabbix server is not running,这时候查看端口和进程, 没有任何 显示。

排错首先查看日志和端口:

# ss -tnl|grep 10051
# ps -ef|grep zabbix
# tail -f  /tmp/zabbix_server.log
 54587:20170821:151740.795 [Z3001] connection todatabase 'zabbix' failed: [2002]
 Can't connect to local MySQL server throughsocket'/var/lib/mysql/mysql.sock' (13)
54587:20170821:151740.795 database is down:reconnecting in 10 seconds
解决办法:一看就是找不到 mysql.sock 的路径,找到 mysql.sock 的路径并打开 zabbix_server 的配置文
件指明 DBSocket 的路径。重启服务即可
# find / -name mysql.sock
/tmp/mysql.sock
# vim/usr/local/zabbix/etc/zabbix_server.conf 
DBSocket=/tmp/mysql.sock

3)安装 zabbix_agent 端:安装客户端和服务端的差不多,这里就直接给出脚本吧:

 

#!/bin/bash#auto install zabbix agent
#by jiajie 20170822#############
ZABBIX_SOFT="zabbix-3.2.6"
INSTALL_DIR="/usr/local/zabbix"
URL=http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download
IP=`ifconfig ens33|sed -n '2p'|awk '{print $2}'`
read -p "Please input zabbix_server IP:" SERVER_IP
###jump IP is rightful
if [[$SERVER_IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then
   	     continue
   	else
            echo -e  "\033[31mIP format error!\033[0m"
	    exit 0
fi

AGENT_INSTALL(){if [ -d $INSTALL_DIR];then
	echo "zabbix_agent is already install..."
        exit 1
    else
        if [! -d /software];then
	    mkdir /software	
        fi
fi
cd /software   	
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI 
groupadd zabbix ;useradd -g zabbix zabbix
wget $URL tar -xf download 
cd  $ZABBIX_SOFT
./configure  --prefix=/usr/local/zabbix  --enable-agent
if [$? -eq 0];then
        make install
    else 
	echo "./configure is error,please check..."
	exit 2
fi
ln -s $INSTALL_DIR/sbin/zabbix_* /usr/local/sbin/
cp  misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agentd &&
chmod o+x /etc/init.d/zabbix_agentd
#config zabbix agentdcat >$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF
LogFile=/tmp/zabbix_agentd.log
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname = $IP 
EOF
#start zabbix agentd
iptables -F
setenforce 0
/etc/init.d/zabbix_agentd restart
}
AGENT_INSTALL

更多 Zabbix 相关教程集合

在 Ubuntu 16.04 服务器上安装 Zabbix 3.2  http://www.linuxidc.com/Linux/2017-07/145519.htm

CentOS 7 LNMP 环境搭建 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140134.htm

Ubuntu 16.04 安装部署监控系统 Zabbix2.4  http://www.linuxidc.com/Linux/2017-03/141436.htm

Zabbix 监控安装部署及警报配置  http://www.linuxidc.com/Linux/2017-03/141611.htm

Zabbix 触发器表达式详解 http://www.linuxidc.com/Linux/2017-03/141921.htm

Ubuntu 16.04 下安装部署 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140395.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146467.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计8073字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7976454
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...