zabbix服务端的安装

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix的主要特点:

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能 等等

Zabbix主要功能:

  • CPU负荷
  • 内存使用 -磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视。

下载zabbix包并且安装 去官网查看最新的zabbix包:www.zabbix.com [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz [root@localhost src]# tar xf zabbix-3.4.3.tar.gz

进入目录,在编译之前安装好依赖包 [root@localhost src]# cd zabbix-3.4.3 [root@localhost zabbix-3.4.3]# yum install -y mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml unixODBC-devel OpenIPMI-devel libxml2-devel libevent-devel

新建一个zabbix账户: [root@localhost ~]useradd zabbix -s /sbin/nologin

创建zabbix数据库、并赋给zabbix权限: mysql> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; Query OK, 0 rows affected (0.02 sec) mysql> flush privileges;

下载zabbix,并且导入数据库, [root@localhost src]# cd /usr/local/src/zabbix-3.4.3 [root@localhost zabbix-3.4.3]# cd database/mysql/ [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

编译安装zabbix_server: [root@monitor zabbix-3.4.3]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix [root@localhost zabbix-3.4.3]# make && make install

编辑nginx.conf支持index.php [root@monitor zabbix-3.4.3]# vim /usr/local/nginx/conf/nginx.conf location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

修改zabbix文件对应的数据库账号和密码: [root@localhost zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=zabbix

复制启动脚本,并修改相应选项: [root@localhost zabbix-3.4.3]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/ [root@localhost zabbix-3.4.3]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

修改两个配置文件把 [root@localhost zabbix-3.4.3]# vim /etc/init.d/zabbix_agentd ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd" [root@localhost zabbix-3.4.3]# vim /etc/init.d/zabbix_server ZABBIX_BIN="/usr/local/sbin/zabbix_server"改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"

启动: [root@localhost zabbix-3.4.3]# /etc/init.d/zabbix_server start [root@localhost zabbix-3.4.3]# /etc/init.d/zabbix_agentd start [root@localhost zabbix-3.4.3]# chkconfig zabbix_agentd on [root@localhost zabbix-3.4.3]# chkconfig zabbix_server on

修改php.ini文件支持大小,不然web也没容易报错: [root@localhost zabbix-3.4.3]# vim /etc/php.ini max_execution_time = 300 max_input_time = 300 date.timezone =Asia/Shanghai post_max_size = 32M 重启httpd使php配置生效

复制zabbix的php项目早http目录下,并且给权限: [root@localhost zabbix-3.4.3]# cp -rf frontends/php /usr/local/nginx/html/zabbix [root@localhost zabbix-3.4.3]# chown -R nginx:nginx /usr/local/nginx/html/zabbix/

[root@localhost zabbix-3.4.4]# /usr/local/nginx/sbin/nginx -s reload [root@localhost zabbix-3.4.4]# ps -ef |grep php |awk '{print $2}' |xargs kill -9 kill: sending signal to 15570 failed: No such process [root@localhost zabbix-3.4.4]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &

通过网页访问:http://192.168.163.189/zabbix/zabbix.php

出错:PHP bcmath extension missing (PHP configuration parameter --enable-bcmath). 原因:缺少bcmath模块 解决:安装完成后重启php发现并没有起作用,查阅资料发现bcmath 安装完成后需要重新编译

进入php解压的包里/usr/local/src/phpxxx解压出的目录/ext/bcmath [root@localhost ~]# cd /usr/local/src/php-5.5.38/ext/bcmath/

执行如下命令 [root@localhost ~]# /usr/local/php/bin/phpize [root@localhost ~]# ./configure --with-php-config=/usr/local/php/bin/php-config

然后执行 [root@localhost ~]# make && make install

执行完之后会生成一个路径 /usr/local/php-5.6.20/lib/php/extensions/no-debug-non-zts-20131226/(这个路径每个人不一样)进入后发现该目录下有个 bcmath.so文件 [root@localhost bcmath]# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ [root@localhost no-debug-non-zts-20121212]# ls bcmath.so opcache.a opcache.so

然后在php的配置文件中php.ini中添加extension=生成的路径 [root@localhost ~]# cat /etc/php.ini extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/bcmath.so

之后杀死php程,重启php
[root@localhost ~]# ps -ef | grep php | awk '{print $2}' | xargs kill -9 [root@localhost ~]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &

进入页面后,会出现缺少语言模块 Translations are unavailable because the PHP gettext module is missing PHP编译时没有加--with-gettext选项 解决方法如下: 此次安装是动态安装php的gettext扩展模块 在php的安装包源文件中,进入ext/gettext [root@localhost ~]# cd /usr/local/src/php-5.5.38/ext/gettext/ [root@localhost gettext]# usr/local/php/bin/phpize
[root@localhost gettext]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost gettext]# make && make install

系统缺少gettext-devel工具库,或者已经编译安装了gettext但是在编译php时没找到路径 [root@localhost ~]# vim /usr/local/php/etc/php.ini

找到extensions选项,添加如下项: extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/gettext.so 这里记得一定要加上扩展库的路径哦

一样地重启php进程 [root@localhost ~]# ps -ef |grep php |awk '{print $2}' |xargs kill -9 [root@localhost ~]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &

这样我们就可以使用中文界面,但我们会发现,有些界面中文是乱码的,所以,我们还要修改字体,在我们的电脑拉取字体上传到zabbix服务器 C:\Windows\Fonts\simkai.ttf

下面的路径是你zabbix放置的web路径 将该字体替换掉当前字体 [root@localhost local]# cd /usr/local/nginx/html/zabbix/fonts/ [root@localhost fonts]# ls DejaVuSans.ttf.bak simkai.ttf

在配置文件中,让其支持中文字体,修改为true [root@localhost fonts]# vim /usr/local/nginx/html/zabbix/include/locales.inc.php 'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],

最后还要将字体指定为simkai.ttf [root@localhost include]# vim /usr/local/nginx/html/zabbix/include/defines.inc.php define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

或者不改这个配置文件,直接将simkai.ttf 改名为 DejaVuSans.ttf