Zabbix-Server监控部署

作者: 十二楼中月 | 来源:发表于2018-03-10 16:28 被阅读60次

    已经好久没有更新文章了,今天会将最近学习zabbix整理以后发送出来。其他学习的会陆续更新。

    1. 环境

    虚拟机ip:192.168.199.57
    Linux:centos 6.5
    Nginx:1.9.15
    PHP:5.5.35
    MySQL:5.5.49
    Zabbix:3.0
    

    2. 安装nginx

    yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
    · 创建用户
    useradd nginx -s /sbin/nologin M *#创建一个非登录账户Nginx*
    · 上传或下载Nginx文件(nginx
    下载wget http://nginx.org/download/nginx-1.9.5.tar.gz

    tar zxvf nginx-1.9.15.tar.gz 解压文件
    cd  nginx-1.9.15
    ./configure --prefix=/usr/local/product/nginx1.9.14 --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre  
    编译
    *#参数含义:*
    --prefix 指定编译的位置
    --user=www --group=www 指定用户
    --with-http_stub_status_module:支持nginx状态查询
    --with-http_ssl_module:支持https
    -with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
    --with-pcre:为了支持rewrite重写功能,必须制定pcre
    make && make install  安装
    ln -s /usr/local/product/nginx1.9.14 /usr/local/nginx 创建一个软连接
    

    3 安装php

    tar xvf php-5.5.35.tar.gz #解压
    cd php-5.5.35
    #编译
    ./configure --prefix=/usr/local/product/php-5.5.35 --with-config-file-path=/usr/local/product/php-5.5.35/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
    安装
    make&& make install 
    配置文件
    cp php.ini-production /usr/local/php/etc/php.ini
    cd /usr/local/php/etc/
    cp php-fpm.conf.default php-fpm.conf
    修改php.ini参数:(zabbix环境需要修改的参数)
    max_execution_time = 300 
    memory_limit = 128M 
    post_max_size = 16M 
    upload_max_filesize = 2M 
    max_input_time = 300 
    date.timezone = PRC
    

    4. 安装mysql

    • 添加mysql用户
    groupadd mysql
    mkdir -pv /data/mysql
    useradd -r -g mysql -d /data/mysql -s /sbin/nologin mysql
    chown -R mysql.mysql /data/mysql
    
    • 安装依赖
      yum install cmake gcc* ncurses-devel -y
    • 安装myslq
    wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz #下载
    tar -xvf mysql-5.5.49.tar.gz && cd mysql-5.5.49 #解压
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/product/mysql5.5.49 -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci 
    #编译
    make && make install #安装
    ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql #创建软连接
    chown -R mysql.mysql /usr/local/mysql #修改文件所属
    cd /usr/local/mysql/support-files/ 
    cp my-medium.cnf /data/mysql/my.cnf 拷贝配置文件
    cp mysql.server /etc/init.d/mysqld 拷贝启动文件
    chmod +x /etc/init.d/mysqld 增加执行权限
    cd /usr/local/mysql/scripts
    ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/ 初始化数据
    
    • 修改MySQL配置文件my.cnf中数据目录:datadir=/data/mysql/
    • 新建mysql数据库和建立zabbix监控的数据库用户名和密码:
    mysql> create database zabbix default charset utf8;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix'; #后面配置zabbix-server.cnf会用到
    Query OK, 0 rows affected (0.03 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    | zabbix |
    +--------------------+
    5 rows in set (0.00 sec)
    

    注意:此种安装的mysql 所有的命令都不在/usr/bin /usr/sbin 中需要在安装目录中找到 建立软连接。才能直接使用命令否则需要补全命令所在目录

    mysqladmin -uroot password  "zabbix" #创建mysql root账户密码
    ln -s /tmp/mysql.sock /var/lib/mysql/ #解决无法使用mysql登陆问题
    

    编辑安装mysql不推荐这个只是方法之一。可以yum安装也可以使用rpm包安装。其实只要安装就可以,用来存储监控信息就可以了。

    5. 安装zabbix-server

    • yum安装(这周方法最简单,也不会存在启动问题,配置文件都在/etc下面客户端agent和jmx(java-gateway)都可以直接安装)
    rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
    yum install -y  zabbix-server
    service zabbix-server start|stop|restart
    注意这里需要找下mysql数据zabbix导入结构文件(一般在源码包的database/mysql文件下的三个)
    
    • 源码安装(我选择是这种安装)
    tar zxvf zabbix-3.0.3.tar.gz 
    cd zabbix-3.0.3
    在编译之前安装依赖包否则会报错
    yum install mysql-devel net-snmp-devel –y
    ./configure --prefix=/usr/local/zabbix-3.0.3/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
    make && make install
    创建zabbix用户:
        groupadd zabbix
        useradd zabbix -s /sbin/nologin -M –g zabbix
    导入zabbix的mysql文件
        mysql -uroot -pzabbix zabbix < database/mysql/schema.sql 
        mysql -uroot -pzabbix zabbix < database/mysql/images.sql 
        mysql -uroot -pzabbix zabbix < database/mysql/data.sql
    

    6. zabbix管理网站配置(nginx)

    • 建立网站目录拷贝zabbix前端到指定位置
    mkdir /data/web/zabbix.lifec.com –p
    mkdir /data/logs/zabbix -p
    cp -rp frontends/php/* /data/web/zabbix.lifec.com/
    
    • 配置Nginx配置文件
    1.新建zabbix.conf
    /usr/local/product/nginx1.9.14/conf
    mkdir extra
    cd extra/
    vi zabbix.conf
    
    server {
    listen 8027; #端口根据需要更改
    server_name zabbix.lifec.com; #根据域名修改,也可以直接写IP
    access_log /data/logs/zabbix/zabbix.lifec.com.access.log main;
    index index.html index.php index.html;
    root /data/web/zabbix.lifec.com;
    location /{
           try_files $uri $uri/ /index.php?$args;
    }
    location ~ ^(.+.php)(.*)$ {
           fastcgi_split_path_info ^(.+.php)(.*)$;
           include fastcgi.conf;
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;
           fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    }
    2.配置Nginx.conf
    user  nginx;
    worker_processes  1;
    #error_log  logs/error.log warning;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    pid        logs/nginx.pid;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  logs/access.log  main;
        sendfile        on;
        #tcp_nopush     on;
        #keepalive_timeout  0;
        keepalive_timeout  65;
        #gzip  on;
        include extra/*.conf;
    }
    3.编辑zabbix_server.conf文件 在 /usr/local/zabbix-3.0.3/etc下面
    LogFile=/tmp/zabbix_server.log
    PidFile=/tmp/zabbix_server.pid
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix #根据数据库的用户名和密码填写
    

    7. 启动服务

    /usr/local/nginx/sbin/nginx
    /usr/local/php/sbin/php-fpm
    /usr/local/zabbix-3.0.3/sbin/zabbix_server
    将服务加入开机自启动:
    echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local 
    echo "/usr/local/php/sbin/php-fpm" >>/etc/rc.local 
    echo "/etc/init.d/mysqld start" >>/etc/rc.local
    echo "/usr/local/zabbix-3.0.3/sbin/zabbix_server" >>/etc/rc.local
    上面重启zabbix添加到系统服务中
    cp packet/zabbix-3.0.3/misc/init.d/ fedora/core/zabbix_server /etc/init.d/
    chmod +x /etc/init.d/zabbix_server #添加之后可以直接使用系统服务启动
    ln -s /usr/local/zabbix-3.0.3/sbin/zabbix_server /usr/local/sbin/zabbix_server 如果不增加链接会有报错  或者在zabbi_server修改代码也可以
    

    8.web端配置zabbix

    在登录时候一定要注意我们配置的端口是8027,再就是防火墙一定要注意端口打开。 因为在设置nginx时候设置了server name: zabbix.lifec.com所以修改hosts文件后可以使用 zabbix.lifec.com:8027配置和登录


    zabbix配置1
    zabbix配置2
    zabbix配置3,注意用户名密码和数据库名称就是前期建立的
    zabbix配置4
    zabbix配置5
    zabbix配置6

    上面的提示下载并上传文件到指定位置。
    上传文件以后要注意修改文件的属主权限

    [root@localhost-zabbix etc]# cd /data/web/zabbix.lifec.com/conf
    [root@localhost-zabbix conf]# ls
    maintenance.inc.php  zabbix.conf.php  zabbix.conf.php.example
    [root@localhost-zabbix conf]# ll
    总用量 12
    -rw-r--r--. 1 1001 1001 1036 11月  9 19:33 maintenance.inc.php
    -rw-r--r--. 1 root root  415 12月 25 11:54 zabbix.conf.php
    -rw-r--r--. 1 1001 1001  411 11月  9 19:33 zabbix.conf.php.example
    [root@localhost-zabbix conf]# chown -R 1001.1001 zabbix.conf.php
    
    zabbix配置完成
    登陆,默认用户名admin密码zabbix
    登陆

    登录进去以后是英文界面可以修改为中文界面;


    修改中文界面
    如果没有中文选择项可以在配置文件修改如下:
    /data/web/zabbix.lifec.com/include/locales.inc.php
    #'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => false],
    'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],
    

    为了防止图形中的字符出现乱码:
    上传字体:


    windows字体

    将选择的字体上传到Linux服务器的zabbix的fonts目录:
    并修改以下配置:

    vim /data/web/zabbix.lifec.com/include/defines.inc.php
    define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
    define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name        ==>此行为新增行;
    define('ZBX_FONT_NAME', 'DejaVuSans');
    define('ZBX_FONT_NAME', 'simsun');       ==>此行为新增行;
    

    重启服务即可。

    相关文章

      网友评论

        本文标题:Zabbix-Server监控部署

        本文链接:https://www.haomeiwen.com/subject/hdfbfftx.html