美文网首页
zabbix部署--Grafana

zabbix部署--Grafana

作者: Amliya | 来源:发表于2018-05-31 11:24 被阅读0次

    新博客网站1

    新博客网站2

    一,环境准备

    1. 两台ContOS7的虚拟机,一台作为web,一台作为db
    2. web包含nginx,php,db包含mysql
    3. 关闭selinux和firewalld

    二,部署LNMP

    1. 安装配置nginx
    #安装nginx依赖
    yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5 -y
    #下载nginx源码并解压
    [root@web software]# ls ~/software/
    nginx-1.10.1  nginx-1.10.1.tar.gz  pcre-8.39  pcre-8.39.tar.gz 
    [root@web software]# cd nginx-1.10.1
    #构建并编译安装
    [root@web nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8
    [root@web nginx-1.10.1]# make && make install
    
    #编写nginx启动文件(需根据实际情况修改相关路径)
    vim /lib/systemd/system/nginx.service
     
    [Unit]
    Description=nginx
    After=network.target
       
    [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true
       
    [Install]
    WantedBy=multi-user.target
     
    ====================================
     #加入开机启动并启动nginx
    systemctl enable nginx.service          #设置开机自启动
    systemctl start nginx.service       #启动nginx服务
    

    ps:访问本机ip,即可进行测试,如果出现如下页面,说明nginx启动成功,配置等下安装后php后,再做修改


    nginx.png
    1. 安装配置php
    #安装依赖
    yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel
    #准备php源码包并解压
    [root@web bin]# ls ~/software/
    php-5.6.30  php-5.6.30.tar.gz  
    [root@web software]# cd php-5.6.30
    #编译安装
     ./configure --prefix=/usr/local/product/php-5.6.30 --with-config-file-path=/usr/local/product/php-5.6.30/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 --with-mysqli --with-mysql --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
    
    make&&make install
    #链接目录
    ln -s /usr/local/product/php-5.6.30 /usr/local/php-fpm
    
    #根据zabbix需要修改php.ini配置文件
    max_execution_time = 300 (Default is 30)
    memory_limit = 128M (no change, default is 128M)
    post_max_size = 16M  (default is 8M)
    upload_max_filesize = 2M (no change, default is 2M)
    max_input_time = 300   (default is 60)
    date.timezone = PRC    (default is empty)
    #参考nginx编写php-fpm.service并启动
    
    #完成后编写测试页面
    [root@web html]# cat test.php 
    <?php
    phpinfo();
    ?>
    
    #修改nginx配置文件开启php
    location ~ \.php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
                include        fastcgi_params;
            }
    
    修改fastcgi_params文件
    [root@web conf]# cat fastcgi_params
    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    nginx;
    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI       $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
    fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;
    
    #reload nginx
    

    ps:访问ip/test.php,如果有类似如下页面,说明配置成功


    php-fpm.png
    1. 安装配置mysql
    #安装mysql相关依赖包,以及Cmake
    yum -y install ncurses-devel gcc gcc-c++ cmake autoconf
    #准备源码包并解压
    [root@db software]# ls 
    mysql-5.6.31  mysql-5.6.31.tar.gz 
    [root@db software]# cd mysql-5.6.31
    [root@db mysql-5.6.31]# 
    #编译安装(时间较长,需耐心等待)
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
    make 
    make install
    
    #创建mysql用户和组,并授权data所属为mysql
    groupadd mysql
    useradd -r -g mysql mysql
    
    chown -R mysql:mysql /usr/local/mysql/data
    
    #可以使用mysqld_safe做安全配置
    
    #准备启动脚本
    cp support-files/mysql.server /etc/init.d/mysqld
    #启动
    service mysqld start
    
    #测试
    mysql -uroot -p #输入密码登录
    

    ps:因为db与web分离,所以mysql要监听在0.0.0.0或者可与外部主机通信的地址上

    至此一个基本的LNMP环境已经部署完成,下面开始安装配置zabbix

    三,部署zabbix

    1. 编译安装zabbix server和agent
    #安装相关依赖包
    yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel libcurl  mysql-devel  libcurl curl-devel net-snmp-devel bzip2 bzip2-devel
    
    #准备zabbix源码包并解压
    [root@web software]# cd zabbix-3.4.3
    [root@web zabbix-3.4.3]# ls ../
    zabbix-3.4.3  zabbix-3.4.3.tar.gz
    
    #编译安装(这里带有agent)
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    
    make && make install
    
    #在db机器上准备zabbix所需的sql,scp到db
    [root@web zabbix-3.4.3]# ls database/mysql/
    data.sql  images.sql  schema.sql
    
    #在db上导入数据
    #创建zabbix数据库,zabbix用户,并授权在任意ip可以访问,或指明具体的ip
    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> grant all privileges on *.* to zabbix@"%" identified by 'zabbixtest';
    mysql> flush privileges;
    
    #修改server和agent配置文件并启动
    #这里zabbix_server.conf主要配置db的信息
    DBHost=192.168.197.130
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbixtest
    DBPort=3306
    
    #这里zabbix_agentd.conf主要配置server的信息
    #因为此agent与server同一台机器,这里配置文件不需要修改,这里采用被动方式
    
    #参考agent的编译方式,在db上也安装agent并指向server为web服务器
    
    #准备zabbix web页面,在源码包的frontends中,可以复制过去,也可以修改nginx
    cp -r /root/software/zabbix-3.4.3/frontends/php/* /usr/local/nginx/html
    

    在浏览器访问http://ip,会看到类似如下页面

    image.png
    点击下一步
    image.png
    进行检查,全部OK后,下一步
    image.png
    填写DB相关信息,下一步
    image.png
    填写Name(可选),下一步
    image.png
    检查信息,下一步
    image.png
    至此zabbix前端以及配置完成

    下面可以登录zabbix ,默认用户为Admin,密码为zabbix,添加agent,选择linux相关模板,收集数据

    四,Grafana

    1. 简述:Grafana是一款前端插件,可以更好的展示数据,数据源可以选择常用的DB等
    2. 这里Grafana部署在web上
    #安装并启动
    yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm
    systemctl enable grafana-server
    systemctl start grafana-server
    

    ps grafana默认监听在3000端口,可以在浏览器访问,默认用户名为Admin,密码为admin


    image.png
    1. 安装zabbix插件
    grafana-cli plugins install alexanderzobnin-zabbix-app
    systemctl restart grafana-server
    
    1. 安装完成后,在插件中找到zabbix并启用
    image.png
    1. 配置数据源,根据需要填写相关zabbix信息并校验
    image.png
    1. 这时zabbix已经收集到一些数据,使用默认模板进行简单显示
    image.png

    相关文章

      网友评论

          本文标题:zabbix部署--Grafana

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