简介:

Zabbix 分布式监控系统,源码编译安装记录 ( 记不得是第多少次了 )

下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz

Lnmp 传送门:http://www.cnblogs.com/wangxiaoqiangs/p/5336180.html

1、安装 Zabbix

shell > yum -y install ntpdate net-snmp net-snmp-devel libcurl-devel

shell > useradd -r -s /sbin/nologin zabbix
shell > wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
shell > tar zxf zabbix-2.4..tar.gz
shell > ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

# --prefix  指定安装路径
# --enable-server  安装 Server 端
# --enable-agent  安装 Agent 端
# --with-mysql  使用 Mysql 数据库
# --with-net-snmp  支持 SNMP 协议
# --with-libcurl  支持 libcurl URL 监控

shell > make install

2、创建数据库、并导入数据

shell > mysql -uroot -p123456

mysql> create database zabbixDB character set utf8; # 创建 zabbixDB 并设置编码为 utf8

mysql> grant all on zabbixDB.* to zabbix@localhost identified by 'zabbix_pass'; # 建立授权用户

mysql> flush privileges; # 刷新授权表 ( 虽然 grant 操作是不需要刷新授权表的,但那又如何 ? )

mysql> use zabbixDB;

mysql> source /usr/local/src/zabbix-2.4./database/mysql/schema.sql # 导入数据
mysql> source /usr/local/src/zabbix-2.4./database/mysql/images.sql
mysql> source /usr/local/src/zabbix-2.4./database/mysql/data.sql mysql> quit

3、配置 Zabbix 服务

shell > cp /usr/local/src/zabbix-2.4./misc/init.d/fedora/core/zabbix_server /etc/init.d/ # 服务端启动脚本
shell > cp /usr/local/src/zabbix-2.4./misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # 客户端启动脚本
shell > cp -R /usr/local/src/zabbix-2.4./frontends/php/ /usr/local/nginx/html/zabbix # 网页文件 shell > vim /usr/local/zabbix/etc/zabbix_server.conf # 服务端配置文件 LogFile=/tmp/zabbix_server.log # 日志文件存放位置
DBName=zabbixDB # 数据库名
DBUser=zabbix # 连接用户
DBPassword=zabbix_pass # 连接密码 shell > vim /etc/init.d/zabbix_server # 服务端启动脚本 BASEDIR=/usr/local/zabbix # 修改后的位置 ( 原:/usr/local ) shell > vim /etc/init.d/zabbix_agentd # 客户端启动脚本 BASEDIR=/usr/local/zabbix # 修改后的位置 ( 原:/usr/local )

4、启动 Zabbix 服务

shell > chkconfig --add zabbix_server
shell > chkconfig --add zabbix_agentd shell > chkconfig --level zabbix_server on
shell > chkconfig --level zabbix_agentd on shell > service zabbix_server start
Starting zabbix_server: [确定]
shell > service zabbix_agentd start
Starting zabbix_agentd: [确定] shell > netstat -anpt | grep zabbix ( 注意:要来确认一下到底有没有启动成功,因为当授权用户无法连接数据库时,zabbix_server 是无法启动的,但是启动过程显示成功 )
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_server

## 当发现有服务没有启动时,要及时查看日志文件,里面有详细的原因

## 这里可能会出现如下错误:

Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.: cannot open shared object file: No such file or directory [FAILED]

## 解决方法:ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ ( 先 find 到这个文件的位置 )

5、登陆网页进行配置 Zabbix ( http://your-domain/zabbix )

## 无关紧要的截图就不贴了,只贴有用的!

> 第一个页面是欢迎页面,直接 Next

> 第二个页面大多会有多处检测失败,也是出问题最多的位置,如下图

解决方法:

shell > vim /usr/local/php/php.ini

post_max_size = 16M
max_execution_time =
max_input_time =
date.timezone = Asia/Shanghai
always_populate_raw_post_data = - ## 找到对应参数,修改为上面的值,重启 Nginx 、php-fpm 即可解决!

## 还有可能遇到缺少扩展的情况,单独演示一个缺少扩展的解决方法

假如上图提示 gettext 也是红色的 fail 状态,这就说明缺少这个扩展,需要动态添加此扩展!

shell > cd /usr/local/src/php-5.6./ext/gettext/ # 切换到源码目录下的对应扩展目录下
shell > /usr/local/php/bin/phpize # 执行此指令,生成 configure
shell > ./configure --with-php-config=/usr/local/php/bin/php-config ; make ; make install # 安装此扩展,生成 .so 文件

## 如果是缺少 mysqli 扩展,这一步要多加一个参数 --with-mysqli=/usr/local/mysql/bin/mysql_config

shell > ln -s /usr/local/php/lib/php/extensions/no-debug-/gettext.so /usr/lib64/

shell > vim /usr/local/php/php.ini

extension_dir = /usr/lib64/
extension = gettext.so

## 找到对应的参数,添加或修改成上面的值即可

全部解决完成后 ( 页面没有红色的 Fail ,全部变为 OK ) 点击 Next

> 第三个页面设置数据库连接的一些信息,正常填写即可,点击 “Test connection” 显示 ok 后,Next

> 第四个页面是关于 Zabbix Server 的一些信息,默认即可,Next

> 第五个页面是预览,没有问题的话,Next

> 第六个页面通常也会出错,需要将此配置文件下载到本地,然后通过 WinSCP 或某种方式传到 Zabbix Server 的 /usr/local/nginx/html/zabbix/conf/ 这里!( 也许你的跟我的不一样,但根据提示你可以的 )

> 终于到达登陆页面,默认用户名:admin 密码:zabbix

## 到这里已经完成了 Zabbix 的全部安装过程!

附加:( 简单说一下监控本机 )

1、修改 Zabbix Server 上的 Zabbix Agent 配置文件 ( 其实也不用修改,这里只是看一下需要关注的地方 )

shell > vim /usr/local/zabbix/etc/zabbix_agentd.conf # 注意:一定是 zabbix_agentd.conf 不是 zabbix_agent.conf

LogFile=/tmp/zabbix_agentd.log # Zabbix Agent 日志文件
Server=127.0.0.1 # 被动模式
ServerActive=127.0.0.1 # 主动模式
Hostname=Zabbix server # 自定义 ( 这又是一个非常关键的点,Zabbix Server 中添加主机时,Hostname 的值一定要跟这里定义的相同,否则无法监控 )

## 这里的主动、被动模式是指 Zabbix Agent , 默认为被动模式!( 被动模式为 Zabbix Agent 被动等待 Zabbix Server 连接,主动模式为 Zabbix Agent 主动去连接 Zabbix Server )

2、将 Zabbix Server 中 Configuration -> Host 的 Staus 改为 Enable 即可开启对本机的监控!

Zabbix 源码编译安装的更多相关文章

  1. zabbix源码编译安装以及添加第一台host监控

    基础准备 硬件需求 数据库需求   软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系 ...

  2. Zabbix源码包安装

    Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg  /bin  /lib   / ...

  3. 日常工作之Zabbix源码编译,兼容mysql5.6

    原文链接:http://www.leleblog.top/daily/more?id=6 Zabbix源码编译 环境: centOS7.mysql5.6.21(已存在). 任务简述: 服务器搭建zab ...

  4. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  5. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  6. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  7. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  8. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  9. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

随机推荐

  1. jenkins for mac

    Mac环境中Jenkins的停止和启动命令启动sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist停止sudo launchc ...

  2. js中怎么去掉数组的空值

    for(var i = 0 ;i<array.length;i++)  {              if(array[i] == "" || typeof(array[i] ...

  3. 《DSP using MATLAB》示例Example 8.26

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  4. 一个解决在非UI线程中访问UI 异常的小方法

    写 WPF 的童鞋可能都会碰到 在非UI线程中访问 UI 异常的问题.这是为了防止数据不一致做的安全限制. 子线程中更新UI还要交给主线程更新,引用满天飞,实在是麻烦. 接下来,我们推出一个可以称之为 ...

  5. Android模糊图像

    在Android中.我们能够实现非常多非常酷的处理图片的效果. 在2014年某次会议的讲演<图像的魔力>中,我介绍了当中的一部分. 当中的一项技术是怎样模糊图像.演示样例代码是使用Rend ...

  6. UCML 2.0 For ASP.NET开发平台简介

    互联网时代,我们能跟上网络变革的步伐吗?我们的产品领先于竞争对手吗?我们能够满足日益个性化的客户需求吗? 采用新的软件开发方法是我们的首要选择. 第一个全面支持ASP.NET的应用框架开发平台诞生了— ...

  7. STM32的启动过程分析

    对于stm32的启动过程一直心存疑惑.今天找了很多资料,进行了一个大致的分析. 1.cortex M3的复位过程(来自官方资料) 上述开机启动流程比较详细,内容较为全面,但部分步骤可以省略(红字可省略 ...

  8. elasticSearch Java Spring Data Api

    1. BoolQueryBuilder qb=QueryBuilders. boolQuery(); qb.should(QueryBuilders.matchQuery("keyWord& ...

  9. python 变量 不断 相加 or 相减的简便写法 a +=1

    相加: 相减:

  10. Easyui combotree 获取自定义ID属性方法

    1.设置属性 <input id="cc" class="easyui-combotree" data-options="url:'tree_d ...