zabbix安装

部署nginx,想监控nginx的运行状态,所以就去找找了资料,一开始看到阿里的tsar项目,但是部署总是不成功,,一怒之下想起来之前看到过的zabbix,听说这个工具对于运维监控运用很广泛,但是需要安装php执行环境就放弃了,今天决定尝试一下,还是有很多坑的,好不容易填平了,来记录一下。

环境

  • ubuntu 16.04
  • nginx/1.10.0 (Ubuntu)

安装

zabbix需要php环境,所以需要安装php,mysql,nginx,zabbix。

安装mysql

apt-get install mysql

安装nginx

apt-get install nginx

安装php

# 安装php7.0,zabbix需要php5.4以上即可
apt-get install php7.0-fpm
# 安装php的mysql模块,需要安装对应php版本的模块
apt-get install php7.0-mysql
# zabbix使用到了以下几个php模块,在安装zabbix-server的时候会自动检测是否安装,一定要记得安装这几个,注意大坑
apt-get install php-xml php-mbstring   php-bcmath

修改php配置文件,/etc/php/7.0/fpm/php.ini中查找并修改以下内容(这些配置是zabbix安装必要的配置,在安装zabbix的时候会进行检测)

date.timezone = Asia/Shanghai
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

修改/etc/php/7.0/fpm/pool.d/www.conf,查找并修改以下内容(www-data是php用户、组,listen.mode 是控制/run/php/php7.0-fpm.sock的权限,不然后面nginx连接的时候会说没有权限)

listen.owner = www-data
listen.group = www-data
listen.mode = 0666

安装zabbix

# 从源码安装,一开始直接安装deb,我下载的是3.0.1,安装完成之后,导入sql发现说数据库版本不对,我惊喜的发现zabbix居然是2.4版本的,所以还是直接下载源文件安装
# 下载源码
wget http://heanet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
# 解压
tar -xvf zabbix-3.0.3.tar.gz
# 进入解压目录
cd zabbix-3.0.3
# 创建zabbix用户和组
groupadd zabbix
useradd -g zabbix zabbix
# 配置编译
./configure --prefix=/usr/local/zabbix-server --enable-server --enable-agent --with-mysql 
# 安装,上面编译没有error
make install

配置zabbix

vim /usr/local/zabbix-server/etc/zabbix_server.conf
# 设置下列内容
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1

接下来创建数据库zabbix和数据库用户zabbix

mysql -u root -proot
# 创建数据库,记得设置字符集和校对集,不然后面汉化会有问题
create database zabbix default charset utf8 default collate utf8_bin;
# 创建用户并授权
create user zabbix
identified by ‘zabbix’;
grant all on zabbix.* to zabbix@“%” identified by ‘zabbix’;
flush privileges;

将zabbix数据导入mysql

# 切换到刚刚zabbix解压的目录
cd zabbix-3.0.3/database/mysql
# 按顺序依次导入数据
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql

部署zabbix frontend,就是zabbix的界面,这里使用nginx作为php的服务器

# 切换到zabbix解压目录
cd zabbix-3.0.3/frontends
# 复制php目录到nginx网页目录
cp -r php /var/www/html
# 重命名php目录
mv php zabbix

配置nginx

#user www-data;
worker_processes 3;
#pid /run/nginx.pid;

events {
        #use epoll
    worker_connections 8192;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


        upstream web_app{
            server      127.0.0.1;
        }
        
        server{
            listen      80;
            server_name 127.0.0.1 10.10.31.119;
            location ~ .php$ {
                root /var/www/html;
                include snippets/fastcgi-php.conf;
                proxy_pass      http://web_app;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            }
        
        }
}    

记得检查nginx安装目录下有没有snippets/fastcgi-php.conf,一般来说安装nginx就带了这些模块不然不能处理php页面,如果nginx报错可以查看/var/log/nginx/access.log和/var/log/nginx/error.log排错,一定要养成查看日志的习惯

摆了这么久的姿势,终于进入关键步骤了——开始配置安装zabbix

在浏览器访问http://127.0.0.1/zabbix/setup.php,如果顺利的话就可以看到如下界面

wonderful!!!终于看到这个界面,历尽千辛万苦.....好吧,前方高能预警,下面又是一个大坑

很好,都是ok,如果顺利的话你也能看到,如果有问题的话,在/etc/php/7.0/fpm/php.ini配置文件中找到对应的选项并设置成REQUIRED的值。如果没有就需要安装,比如下面这些:

apt-get install php7.0-xml
apt-get install php7.0-bcmath
apt-get install php7.0-mbstring
apt-get install php7.0-gd

一直下一步到最后,最后可能会出现配置文件失败,需要点击“Download the configuration file”下载下来手动复制到/var/www/html/zabbix/conf下面

然后点击完成,启动zabbix-server

/usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf

打开http://127.0.0.1/zabbix/index.php页面登陆zabbix,默认用户名admin,密码zabbix,出现以下页面说明zabbix安装成功

这篇有点长的了,另起一篇继续写zabbix监控nginx吧。

原文地址:https://www.cnblogs.com/sunshine-2015/p/5656645.html