简介:

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. 前端ajax异步传值以及后端接收参数的几种方式

    原文参考 异步传值 前台往后台传值呢,有很多种方式,大家听我细细道来. 第一种呢,也是最简单的一种,通过get提交方式,将参数在链接中以问号的形式进行传递. // 前台传值方法 // 触发该方法调用a ...

  2. 监听器(Listener)学习(二)

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

  3. jest js 测试框架-简单方便人性化

    1. 安装 yarn global add jest-cli or npm install -g jest-cli 备注:可以安装为依赖不用全局安装 2. 项目代码 a. 项目初始化 yarn ini ...

  4. Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)

    http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在 ...

  5. 如何批处理多个MySQL文件

    @echo off CHCP 65001 --设置cmd编码for %%i in (E:\sql\*.sql) do (   --多个MySQL  SQL文件的存放目录echo excute %%i ...

  6. 关于WCF引用方式之WCF服务寄宿控制台

    1.创建解决方案WCFService 依次添加四个项目,如上图,Client和Hosting为控制台应用程序,Service和Service.Interface均为类库. 2.引用关系 Service ...

  7. kafka--通过python操作topic

    修改 topic 的分区数 shiyanlou:bin/ $ ./kafka-topics.sh --zookeeper localhost:2181 --alter --topic mySendTo ...

  8. MySQL查询优化器工作原理解析

    手册上查询优化器概述 查询优化器的任务是发现执行SQL查询的最佳方案.大多数查询优化器,包括MySQL的查询优化器,总或多或少地在所有可能的查询评估方案中搜索最佳方案.对于联接查询,MySQL优化器所 ...

  9. jQuery给控件赋值....

    1.jQuery给span取值:$("#id").html(); 2.jQuery给input取值:$("#id").val(); 3.jQuery给texta ...

  10. Tomcat中work目录

    Tomcat中work目录的作用: jsp运行时都要先转换成servlet,tomcat容器启动时会在目录下的work目录中生成一系列的文件夹和.java文件和编译后的.class文件. jsp最终转 ...