简介:php
Zabbix 分布式监控系统,源码编译安装记录 ( 记不得是第多少次了 )html
下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gzmysql
Lnmp 传送门:http://www.cnblogs.com/wangxiaoqiangs/p/5336180.htmlnginx
一、安装 Zabbixsql
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.5.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
shell > make install
二、建立数据库、并导入数据数据库
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.5/database/mysql/schema.sql # 导入数据 mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/images.sql mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/data.sql mysql> quit
三、配置 Zabbix 服务vim
shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/ # 服务端启动脚本 shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # 客户端启动脚本 shell > cp -R /usr/local/src/zabbix-2.4.5/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 )
四、启动 Zabbix 服务frontend
shell > chkconfig --add zabbix_server shell > chkconfig --add zabbix_agentd shell > chkconfig --level 35 zabbix_server on shell > chkconfig --level 35 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:10050 0.0.0.0:* LISTEN 80403/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 80430/zabbix_server
## 当发现有服务没有启动时,要及时查看日志文件,里面有详细的缘由dom
## 这里可能会出现以下错误:
Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory [FAILED]
## 解决方法:ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ ( 先 find 到这个文件的位置 )
五、登录网页进行配置 Zabbix ( http://your-domain/zabbix )
## 可有可无的截图就不贴了,只贴有用的!
> 第一个页面是欢迎页面,直接 Next
> 第二个页面大多会有多处检测失败,也是出问题最多的位置,以下图
解决方法:
shell > vim /usr/local/php/php.ini post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai always_populate_raw_post_data = -1 ## 找到对应参数,修改成上面的值,重启 Nginx 、php-fpm 便可解决!
## 还有可能遇到缺乏扩展的状况,单独演示一个缺乏扩展的解决方法
假如上图提示 gettext 也是红色的 fail 状态,这就说明缺乏这个扩展,须要动态添加此扩展!
shell > cd /usr/local/src/php-5.6.11/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-20100525/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 的所有安装过程!
附加:( 简单说一下监控本机 )
一、修改 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 )
二、将 Zabbix Server 中 Configuration -> Host 的 Staus 改成 Enable 便可开启对本机的监控!