centos7安装zabbix监控

centos7安装zabbix

本文是基于LNMP环境进行安装zabbix,搭建LNMP环境的方法请参考:centos7.2源码编译安装LNMP

配置源

Zabbix在CentOS基本源里不可获得,因此必须配置EPEL 和Zabbix 官方repository。

因为需要一款名叫fping的软件(这款软件你下载源码编译安装貌似行不通!)。

其他的yum源将mysql全部识别为mariadb了,所以想yum安装mysql,请安装mysql社区版官方源,或者编译安装。

安装EPEL repository and fping

yum -y install epel-release
yum -y install fping

配置ZabbixZone package repository and GPG key

rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-A14FE591
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

安装Zabbix server and agent(agent是可选的)

安装Zabbix server and agent:(因为配置自己监控自己,所以安装了zabbix-agent)

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

也可以在zabbix rpm官网查看或下载相应包,zabbix rpm官网:http://repo.zabbix.com/

创建mysql数据库和用户

登陆mysql:

mysql -uroot -p

创建一个数据库zabbix和数据库用户zabbix:

create database zabbix character set utf8;

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

flush privileges;

数据库导入zabbix template

看yum安装的zabbix-server-mysql-3.x.x 这个文件的版本是多少就改成多少

zcat /usr/share/doc/zabbix-server-mysql-3.2.11/create.sql.gz |mysql -uzabbix -pzabbix -b zabbix

配置Zabbix server

vi /etc/zabbix/zabbix_server.conf

配置下面的几个参数

带#号的就去掉#号,并修改其值。

ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/usr/local/mysql/data/mysql.sock
DBPort=3306

配置zabbix-agent

vim /etc/zabbix/zabbix_agentd.conf

配置zabbix server的ip

## Line 95 - Specify Zabbix server ##

Server=127.0.0.1

## Line 136 - Specify Zabbix server ##

ServerActive=127.0.0.1

## Line 147 - Specify Zabbix server Hostname or IP address

Hostname=127.0.0.1

修改PHP 设置

修改php.ini为zabbix 建议的设置

编辑文件 php.ini,

vim /usr/local/php/etc/php.ini

设置下面参数:

max_execution_time = 300

max_input_time = 300

memory_limit = 128M

post_max_size = 32M

upload_max_filesize = 2M

date.timezone = Asia/Shanghai

安装php扩展

centos7.2源码编译安装LNMP 文章中已经把以下扩展安装完成,不需要重新安装。

如果未安装 sokets,bcmath,gettext 扩展,点击下方【展开/收缩】按文档安装。

[collapse title=”说明文字”]

[root@localhost ext]# cd /software/ezhttp-master/soft/php-7.1.0/ext
[root@localhost ext]# pwd
/software/ezhttp-master/soft/php-7.1.0/ext
[root@localhost ext]# cd sockets/
[root@localhost sockets]# /usr/local/php/bin/phpize
[root@localhost sockets]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost sockets]# cd ..
[root@localhost ext]# cd bcmath/
[root@localhost bcmath]# /usr/local/php/bin/phpize
[root@localhost bcmath]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost bcmath]# cd ..
[root@localhost ext]# cd 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

把以下内容添加到php.ini

extension=bcmath.so
extension=gettext.so
extension=sockets.so

[/collapse]

配置zabbix-web站点文件

方法一、使用nginx服务器

把zabbix程序文件拷贝到我们指定的目录,并修改属主和属组

[root@localhost local]# cp -r /usr/share/zabbix /usr/local/nginx/html/
[root@localhost local]# chown -R nginx:nginx /usr/local/nginx/html/zabbix
[root@localhost local]# chown -R nginx:nginx /etc/zabbix
[root@localhost local]# chown -R nginx:nginx /usr/share/zabbix
[root@localhost local]# chown -R nginx:nginx /usr/lib/zabbix
[root@localhost local]# chmod -R 755 /etc/zabbix/web

创建存放web站点配置文件的目录

[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# mkdir conf.d/

配置nginx.conf,把新建的目录包含进去

[root@localhost conf]# vi nginx.conf

listen 80 default_server;      ===> 改为 listen 90 default_server;

添加  include /usr/local/nginx/conf/conf.d/*.conf;

配置zabbix.conf(zabiix站点的配置文件)

[root@localhost conf]# cd conf.d/
[root@localhost conf.d]# vi zabbix.conf

zabbix.conf 内容如下:

 server {
        listen 80;
        server_name localhost;
        root /usr/local/nginx/html/zabbix;
        index index.php index.html index.htm;
        access_log  logs/zabbix.access.log;
        error_log   logs/zabbix.error.log;

        location / {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ .*\.(php)?$ {
            expires -1s;
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            include        fastcgi_params;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PHP_VALUE        open_basedir=$document_root:/tmp/:/proc/:/usr/share/zabbix/:/etc/zabbix/web/:/etc/zabbix/;
        }

    }

启动zabbix 和 各服务

启动zabbix-server 和zabbix-agent。并设置zabbix-server和zabbix-agent开机自动启动

systemctl start zabbix-server

systemctl start zabbix-agent

systemctl enable zabbix-server

systemctl enable zabbix-agent
/etc/init.d/nginx restart 

/etc/init.d/mysqld restart 

/etc/init.d/php-fpm restart 

根据《centos7.2源码编译安装LNMP》进行安装的LNMP,自启动之前已经设置完成,不需要重新设置。

chkconfig php-fpm on

chkconfig nginx on 

chkconfig mysqld on
方法二、使用apache服务器

apache配置zabbix-web站点文件

[root@localhost etc]# cd /etc/httpd/

vi conf/httpd.conf
修改下面内容:

Listen 80

User www
Group wwww

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

vi conf.d/zabbix.conf
修改内容如下:

<IfModule mod_php5.c>
    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 32M
    php_value upload_max_filesize 8M
    php_value max_input_time 300
    php_value always_populate_raw_post_data -1
    php_value date.timezone Asia/Shanghai
</IfModule>

然后重启apache、mysql、php、zabbix-server

修改Firewall 和SELinux 设置

开放zabbix端口10050 and 10051

firewall-cmd --permanent --add-port=10050/tcp

firewall-cmd --permanent --add-port=10051/tcp

重启firewall

systemctl restart firewalld

修改配置文件,禁用selinux

[root@localhost local]# setenforce 0
[root@localhost local]# vi /etc/selinux/config

SELINUX=disabled

如果是测试环境可以直接关闭防火墙

[root@localhost local]# systemctl stop firewalld
[root@localhost local]# chkconfig firewalld off

输入ip/setup.php进入zabbix-web界面进行后续安装操作

images

确认状态都是ok

images

配置数据库信息(填写上面我们设置的数据库账户和密码:zabbix,zabbix,测试环境可以直接用root)

images

进入下一步,默认即可

images

如果出现下面错误

images

解决方法:

sed -i 's#cgi.fix_pathinfo=0#cgi.fix_pathinfo=1#' /usr/local/php/etc/php.ini
/etc/init.d/php-fpm restart

刷新浏览器, 一直下一步

登录,默认用户名: Admin , 默认密码:zabbix

images

使用php7.0版本初始化完成后页面有如下的报错:

images

这个是因为PHP 7.1.0类型强化,处理方法也很简单找到Zabbix WEB目录下include/func.inc.php文件,执行下面命令,并重启php服务:

sed -i ‘/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);’ /var/www/zabbix/include/func.inc.php
/etc/init.d/php-fpm reload
然后刷新页面可以看到已经正常。

设置语言为中文

images

解决图形中文乱码

images

这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可
解决办法如下
1.从windows下控制面板->字体->选择一种中文字库例如“楷体

images

2.把它拷贝到zabbix的web端的fonts目录下例如:/usr/local/nginx/html/zabbix/fonts,确认后缀为ttf

images

3、更改属主:属组,把原来的tff文件删除或重命名,将上传的tff文件更改为原来的文件名。

例如 :更改属主:属组 chown nginx:nginx STKAITI.TTF ,重命名graphfont.ttf 为 graphfont.ttf.bak,重命名STKAITI.TTF 为 graphfont.ttf

images

刷新浏览器,恢复正常

images

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏
分享
评论 抢沙发