系统监控工具Zabbix的安装
创始人
2024-07-24 12:51:40
0

  跨平台系统监控工具Zabbix教程

  Zabbix 是一个提供 Web 管理界面的开源系统/网络监控服务器。

  本文只记录我的 Zabbix 1.8 的安装过程。

  以下我要在同一台服务器上安装 Zabbix Server、Zabbix Proxy 和 Zabbix Agent。

  安装前先配置好PHP,要求支持 php-gd、php-bcmath、php-xml、php-mysql、php-net-socket、php-mbstring,即 configure 参数中加上 --with-gd --enable-bcmath --enable-xml --with-mysql --enable-sockets --enable-mbstring。

  我的配置参数如下:

  1.   ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-fpm --enable-sockets --enable-pdo --with-pdo-mysql=/usr/local/mysql --with-gd --enable-bcmath --enable-xml --enable-mbstring  
  2.  

  下面开始安装 Zabbix:

  * 下载并解压:

  tar zxf zabbix-1.8.tar.gz

  cd zabbix-1.8

  * 创建 zabbix 用户组和用户:

  1.   groupadd zabbix  
  2.  
  3.   useradd zabbix -g zabbix  
  4.  

  * 创建 mysql 数据库:

  1.   create database zabbix character set utf8;  
  2.  

  * 创建 mysql 用户:

  1.   grant all on zabbix.* to zabbix@localhost identified by 'zabbix';  
  2.  

  * 导入表和数据:

  1.   mysql -uroot -p zabbix < create/schema/mysql.sql  
  2.  
  3.   mysql -uroot -p zabbix < create/data/data.sql  
  4.  
  5.   mysql -uroot -p zabbix < create/data/images_mysql.sql  
  6.  

  * 配置编译:

  1.   ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl  
  2.  
  3.   make && make install  
  4.  

  配置参数说明:

  1.   --enable-server 安装 Zabbix Server  
  2.  
  3.   --enable-proxy 安装 Zabbix Proxy  
  4.  
  5.   --enable-agent 安装 Zabbix Agent  
  6.  
  7.   --with-mysql 使用 mysql 做数据库服务器  
  8.  
  9.   --with-net-snmp 支持 SNMP  
  10.  
  11.   --with-libcurl 支持 curl,用于 web 监控  
  12.  

  * 服务端口定义:

  编辑 /etc/services,在后面追加:

  1.   zabbix-agent 10050/tcp Zabbix Agent  
  2.  
  3.   zabbix-agent 10050/udp Zabbix Agent  
  4.  
  5.   zabbix-trapper 10051/tcp Zabbix Trapper  
  6.  
  7.   zabbix-trapper 10051/udp Zabbix Trapper  
  8.  

  * 复制配置文件:

  1.   mkdir /etc/zabbix  
  2.  
  3.   cp misc/conf/zabbix_server.conf /etc/zabbix/  
  4.  
  5.   cp misc/conf/zabbix_proxy.conf /etc/zabbix/  
  6.  
  7.   cp misc/conf/zabbix_agent.conf /etc/zabbix/  
  8.  
  9.   cp misc/conf/zabbix_agentd.conf /etc/zabbix/  
  10.  

  * 修改 zabbix server 配置文件 /etc/zabbix/zabbix_server.conf 中的数据库用户名和密码:

  1.   DBUser=zabbix 
  2.  
  3.   DBPassword=zabbix 
  4.  

  * 安装启动脚本

  1.   cp misc/init.d/gentoo/zabbix-server /etc/init.d/  
  2.  
  3.   cp misc/init.d/gentoo/zabbix-agentd /etc/init.d/  
  4.  

  添加可执行权限:

  1.   chmod +x /etc/init.d/zabbix-server  
  2.  
  3.   chmod +x /etc/init.d/zabbix-agentd  
  4.  

  修改 zabbix-server 头部变量定义:

  1.   NAME=zabbix_server 
  2.  
  3.   PATH=/bin:/usr/bin:/sbin:/usr/sbin  
  4.  
  5.   DAEMON=/usr/local/sbin/${NAME}  
  6.  
  7.   DESC="Zabbix 1.4" 
  8.  
  9.   PID=/var/run/$NAME.pid  
  10.  

  修改 zabbix-agentd 头部变量定义:

  1.   NAME=zabbix_agentd 
  2.  
  3.   PATH=/bin:/usr/bin:/sbin:/usr/sbin  
  4.  
  5.   DAEMON=/usr/local/sbin/${NAME}  
  6.  
  7.   DESC="Zabbix 1.4" 
  8.  
  9.   PID=/var/run/$NAME.pid  
  10.  

  * 添加到启动服务:

  1.   rc-update add zabbix-server default  
  2.  
  3.   rc-update add zabbix-agentd default  
  4.  

  * 启动 Zabbix Server:

  1.   /etc/init.d/zabbix-server start  
  2.  

  我启动时提示错误:

  1.   zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory  
  2.  

  因为我的 mysql client 库不在系统默认库中,做以下修改后重新启动就可以了:

  1.   echo /usr/local/mysql/lib/mysql/ >> /etc/ld.so.conf  
  2.  
  3.   ldconfig  
  4.  

  * 启动 Zabbix Agentd

  1.   /etc/init.d/zabbix-agentd start  
  2.  

  * 复制 Web Interface 到 web 目录:

  1.   cp -r frontends/php /work/www/zabbix  
  2.  

  * 新建 nginx 配置:

  1.   server {  
  2.  
  3.   listen 80;  
  4.  
  5.   server_name zabbix.local zabbix.hily;  
  6.  
  7.   access_log /work/www/logs/zabbix.local.access.log main;  
  8.  
  9.   location / {  
  10.  
  11.   root /work/www/zabbix;  
  12.  
  13.   index index.html index.htm index.php;  
  14.  
  15.   }  
  16.  
  17.   location ~ \.php$ {  
  18.  
  19.   root /work/www/zabbix;  
  20.  
  21.   fastcgi_index index.php;  
  22.  
  23.   include fastcgi_params;  
  24.  
  25.   }  
  26.  
  27.   }  
  28.  

  * 开始安装 Zabbix Web Interface

  打开 http://zabbix.local/,看到提示:

  1.   Timezone for PHP is not set. Please set "date.timezone" option in php.ini.  
  2.  

  按照提示,修改 php.ini 中时区设置:

  1.   date.timezone = Asia/Shanghai  
  2.  

  重启 PHP-FPM:

  1.   /etc/init.d/php-fpm restart  
  2.  

  监测环境时提示:

  

 

监控/Zabbix

 

  再次修改 php.ini:

  1.   post_max_size = 16M 
  2.  
  3.   max_execution_time = 300 
  4.  
  5.   mbstring.func_overload = 2 
  6.  

  解决后按提示继续安装即可。

  * 结束:

  安装完后直接访问:

  http://zabbix.local/

  默认用户名和密码是:

  Admin/zabbix

  监控工具Zabbix的安装到此安装完成!

【编辑推荐】

Zabbix安装介绍

Zabbix,Nagios和Zenoss分析比较

Zabbix守护进程例子的分析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...