zabbix服务端的安装

zabbix服务端的安装

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

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

Zabbix主要功能:html

  • 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 mysql

进入目录,在编译以前安装好依赖包
[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-develnginx

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

建立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;sql

下载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 installvim

编辑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
'zhCN' => ['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