简介:

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

  1. shell > yum -y install ntpdate net-snmp net-snmp-devel libcurl-devel
  2.  
  3. shell > useradd -r -s /sbin/nologin zabbix
  4. shell > wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
  5. shell > tar zxf zabbix-2.4..tar.gz
  6. 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 监控

  1. shell > make install

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

  1. shell > mysql -uroot -p123456
  2.  
  3. mysql> create database zabbixDB character set utf8; # 创建 zabbixDB 并设置编码为 utf8
  4.  
  5. mysql> grant all on zabbixDB.* to zabbix@localhost identified by 'zabbix_pass'; # 建立授权用户
  6.  
  7. mysql> flush privileges; # 刷新授权表 ( 虽然 grant 操作是不需要刷新授权表的,但那又如何 ? )
  8.  
  9. mysql> use zabbixDB;
  10.  
  11. mysql> source /usr/local/src/zabbix-2.4./database/mysql/schema.sql # 导入数据
  12. mysql> source /usr/local/src/zabbix-2.4./database/mysql/images.sql
  13. mysql> source /usr/local/src/zabbix-2.4./database/mysql/data.sql
  14.  
  15. mysql> quit

3、配置 Zabbix 服务

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

4、启动 Zabbix 服务

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

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

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

  1. 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

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

解决方法:

  1. shell > vim /usr/local/php/php.ini
  2.  
  3. post_max_size = 16M
  4. max_execution_time =
  5. max_input_time =
  6. date.timezone = Asia/Shanghai
  7. always_populate_raw_post_data = -
  8.  
  9. ## 找到对应参数,修改为上面的值,重启 Nginx 、php-fpm 即可解决!

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

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

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

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

  1. shell > ln -s /usr/local/php/lib/php/extensions/no-debug-/gettext.so /usr/lib64/
  2.  
  3. shell > vim /usr/local/php/php.ini
  4.  
  5. extension_dir = /usr/lib64/
  6. 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 配置文件 ( 其实也不用修改,这里只是看一下需要关注的地方 )

  1. shell > vim /usr/local/zabbix/etc/zabbix_agentd.conf # 注意:一定是 zabbix_agentd.conf 不是 zabbix_agent.conf
  2.  
  3. LogFile=/tmp/zabbix_agentd.log # Zabbix Agent 日志文件
  4. Server=127.0.0.1 # 被动模式
  5. ServerActive=127.0.0.1 # 主动模式
  6. 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. BZOJ3144 Hnoi2013 切糕 【网络流】*

    BZOJ3144 Hnoi2013 切糕 Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q列的 ...

  2. BZOJ1336 Balkan2002 Alien最小圆覆盖 【随机增量法】*

    BZOJ1336 Balkan2002 Alien最小圆覆盖 Description 给出N个点,让你画一个最小的包含所有点的圆. Input 先给出点的个数N,2<=N<=100000, ...

  3. Hexo+GitHub+Netlify一站式搭建属于自己的博客网站

    喜欢的话请关注我的个人博客我在马路边https://hhongwen.cn/,此文为博主原创,转载请标明出处. 更好的阅读体验请点击查看:Hexo+GitHub+Netlify一站式搭建属于自己的博客 ...

  4. NSURLSession学习笔记(一)简介

    一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain ...

  5. WinForm窗体继承自定义的模板窗体出错

    在开发Winform程序的时候,我们往往需要根据需要做一些自定义的控件模块,这样可以给系统模块重复利用,或者实现更好的效果等功能.而今天自定义一个窗体,然后子窗体继承的时候出现了一点问题. 问题: 在 ...

  6. lua中的数学库

    Lua5.1中数学库的所有函数如下表: 使用数学库,不需要require,直接math.function就可以math.pi 为圆周率常量 = 3.14159265358979323846 abs 取 ...

  7. consul 几个方便使用的类库

    consul 几个方便使用的类库 1. java  https://github.com/OrbitzWorldwide/consul-client   <dependency> < ...

  8. hadoop之 distcp(分布式拷贝)

    概述 distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具. 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成. 它把文件和目录的列表作为map任务的输入,每个任务会 ...

  9. ECMALL转空间后出现空白问题解析

    今天客户网站做完的ECMall测试站,将数据库和代码分别传到了正式空间中.通过浏览器浏览,整个页面一片空白. 第一个反应是数据库配置有问题.打开网站根目录下data/config.ini.php,内容 ...

  10. MEF学习总结(1)---总体架构

    用了很久的MEF框架来做依赖注入,最近想把它的原理和机构总结一下,主要包括如下几个方面: 1. 总体架构 2. .Net Composition Primitive 3. Attribute Mode ...