部署zabbix环境的搭建
配置LAMP环境(因为之前已经搭建过了lnmp所以这里就不一一演示了)
也可以yum源安装:
[root@centos-1 ~]#yum install make mysql-server httpd php 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安装包:
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.7/zabbix-3.2.7.tar.gz
1、新建一个zabbix账户:
[root@centos-1 ~]useradd zabbix -s /sbin/nologin
2、创建zabbix数据库、并赋给咱必须权限:
mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> flush privileges;
下载zabbix,并且导入数据库,
[root@centos-1 src]# cd /usr/local/src/zabbix-2.2.2 [root@centos-1 zabbix-2.2.2]# cd database/mysql/ [root@centos-1 mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [root@centos-1 mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [root@centos-1 mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
4、编译安装zabbix_server:
[root@centos-1 zabbix-2.2.2]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix [root@centos-1 zabbix-2.2.2]# make && make install
5、编辑nginx.conf支持index.php
(假如使用apache的时候就改apache下的配置文件原理一样)
[root@centos-1 zabbix-2.2.2]# vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /web; index index.php index.html index.htm; } ……………………………… location ~ \.php$ {###(把location里面的前面注释#去掉后修改成) root /web; ###(index.php存放的目录) fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
6、修改zabbix文件对应的数据库账号和密码:
[root@centos-1 zabbix-2.2.2]# vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=zabbix
7、复制启动脚本,并修改相应选项:
[root@centos-1 zabbix-2.2.2]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/ [root@centos-1 zabbix-2.2.2]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
修改两个配置文件把
[root@centos-1 zabbix-2.2.2]# vim /etc/init.d/zabbix_agentd ZABBIX_BIN="/usr/local/sbin/zabbix_agentd" 改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd" [root@centos-1 zabbix-2.2.2]# vim /etc/init.d/zabbix_server ZABBIX_BIN="/usr/local/sbin/zabbix_server"改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
启动:
[root@centos-1 zabbix-2.2.2]# /etc/init.d/zabbix_server start [root@centos-1 zabbix-2.2.2]# /etc/init.d/zabbix_agentd start [root@centos-1 zabbix-2.2.2]# chkconfig zabbix_agentd on [root@centos-1 zabbix-2.2.2]# chkconfig zabbix_server on
8、修改php.ini文件支持大小,不然web也没容易报错:
[root@centos-1 zabbix-2.2.2]# vim /usr/local/php/etc/php.ini max_execution_time = 300 max_input_time = 300 date.timezone =Asia/Shanghai post_max_size = 32M 重启nginx使php配置生效
9、复制zabbix的php项目早http目录下,并且给权限:
[root@centos-1 /]# cd /usr/local/src/zabbix-3.2.7/frontends/ [root@centos-1 frontends]# [root@centos-1 frontends]# cp -rf php /web [root@centos-1 htdocs]# chown -R nginx:nginx /web 在这里我是使用nginx+php的所以在php配置文件:vim /usr/local/nginx/conf/nginx.conf修改网页主目录: location ~ \.php$ { root /web; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
所以php网页目录就要放在/web目录下 以上操作改为nginx实现。
重启服务:
启动php服务:
ps -ef | grep php | awk '{print $2}' | xargs kill -9
想要达到php不会自动挂掉就执行
/usr/local/php/sbin/php-fpm --daemonize -c /usr/local/php/etc/php.ini &
####--daemonize:关闭终端php不会down掉 -c:指定配置文件 & :后台运行
启动nginx:
/usr/local/nginx/sbin/nginx -s reload [root@centos-1 frontends]# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 50648/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 50584/zabbix_server tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 35148/php-fpm tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 35053/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 24389/nginx tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 1852/X tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2327/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 26396/master tcp 0 0 :::6000 :::* LISTEN 1852/X tcp 0 0 :::22 :::* LISTEN 2327/sshd tcp 0 0 ::1:25 :::* LISTEN 26396/master
端口:80 9000 10050 10051起来了就可以!
10、然后访问web: http://IP/php/index.php默认下一步:
11、安装gettext扩展模块(有时候会出现很多模块没安装上网查找一下就ok)
面对的问题:
在安装zabbix时碰到如下错误:
PHP gettext extension missing (PHP configuration parameter --with-gettext)
分析可知道在编译安装php时,没有加上--with-gettext
扩展安装gettext时:
1、先进入php源文件中在cd /usr/local/src/php-5.5.38/ext/gettext目录下
2、在执行/usr/local/PHP/bin/phpize
3、./configure --with-php-config=/usr/local/php/bin/php-config
4、make && make install
6、系统缺少gettext-devel工具库,或者已经编译安装了gettext但是在编译php时没找到路径
vim /usr/local/php/etc/php.ini
找到extensions选项,添加如下项:
extension = "gettext.so"
5、重启php,nginx服务
安装成功,登录的账号默认为:Admin,密码为:zabbix:
访问zabbix:
zabbix其他报错
出现以下about always-populate-raw-post-data must be set -1 的问题:
find / -name CFrontendSetup.php
在/data/site/zabbix/include/classes/setup/CFrontendSetup.php 找到下面代码
添加 :
$current = -1;
如下:
public function checkPhpAlwaysPopulateRawPostData() {
$current = ini_get('always_populate_raw_post_data');
$current = -1;
return [
'name' => _('PHP always_populate_raw_post_data'),
'current' => ($current != -1) ? _('on') : _('off'),
'required' => _('off'),
'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
'error' => _('PHP always_populate_raw_post_data must be set to -1.')
];
}
12、agent安装步骤:
客户端安装的话不用依赖LAMP环境,直接装上就好
(1)添加账户:
[root@centos-1 ~]# useradd zabbix -s /sbin/nologin
(2)编译安装zabbix_agent:
[root@centos-1 zabbix-2.2.2]# ./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix [root@centos-1 zabbix-2.2.2]# make && make install
(3)设置启动项和修改配置文件:
[root@centos-1 zabbix-2.2.2]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ [root@centos-1 zabbix-2.2.2]# chmod 700 /etc/init.d/zabbix_agentd [root@centos-1 zabbix-2.2.2]# vim /etc/init.d/zabbix_agentd ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
(4)修改zabbix指向的服务器:
[root@centos-1 zabbix-2.2.2]# vim /usr/local/zabbix/etc/zabbix_agentd.conf Server=192.168.10.205 [root@centos-1 fonts]# pwd /var/www/html/zabbix/fonts
上传一个字体:替换
[root@centos-1 fonts]# mv simhei.ttf DejaVuSans.ttf