zabbix部署--Grafana

新博客网站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后,再做修改


zabbix部署--Grafana_第1张图片
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 


#修改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,如果有类似如下页面,说明配置成功


zabbix部署--Grafana_第2张图片
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,会看到类似如下页面

zabbix部署--Grafana_第3张图片
image.png

点击下一步
zabbix部署--Grafana_第4张图片
image.png

进行检查,全部OK后,下一步
zabbix部署--Grafana_第5张图片
image.png

填写DB相关信息,下一步
zabbix部署--Grafana_第6张图片
image.png

填写Name(可选),下一步
zabbix部署--Grafana_第7张图片
image.png

检查信息,下一步
zabbix部署--Grafana_第8张图片
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


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

你可能感兴趣的:(zabbix部署--Grafana)