mysql项目实战,zabbix监控部署

时间:2022-02-14 04:50:54

案例1:配置逻辑卷(192.168.4.11,192.168.4.22)                                     

.环境准备:

1.图形模式下手动添加磁盘(25G)-需要在关机状态下添加

2.fdisk -l 查看磁盘分区情况

装包:yum -y install lvm2(提供逻辑卷命令服务)

.磁盘分区:

vdb1:fdisk /dev/vdb 一路回车最后w保存为5G的磁盘

            修改模式为8e fdisk /dev/vdb ,e进入模式修改,8e,w保存并退出.

vdc1:fdisk /dev/vdc一路回车最后w保存为5G的磁盘

             修改模式为8e fdisk /dev/vdb ,e进入模式修改,8e,w保存并退出.

        查看 fdisk -l 查看模式为8eok

.创建逻辑卷:

 1.创建物理卷pvcreate /dev/vdb1 /dev/vdc1 --->pvscan

 2.卷组创建:vgcreate vg0 /dev/vdb1 /dev/vdc1--->vgscan

 3.创建逻辑卷 lvcreate -n lv0  -L 9.9G vg0--->lvscan

 4.格式化: mkfs.xfs /dev/vg0/lv0 

 5.查看格式化:blkid    查看逻辑卷:vgdisplay

案例2:配置数据库服务器(4.11,4.22)4.11为例

.环境准备:先从真机上将mysql-5.7.17.tar包分别拷贝到两台机器上(11;22)

1.解压缩

tar -xf mysql-5.7.17.tar

2.装包:

yum -y insatll mysql-community-*

3.挂载mysql到逻辑卷下

   1)添加到Vim /etc/fstab

     /dev/vg0/lv0     /var/lib/mysql    mkfs   defaults  0 0

   2)挂载:Mount -a

4.查看挂载信息 df -f

.启动数据库服务

 1.Systemctl start mysqld (初始化启动比较慢,耐心等待)

   Systemctl enable mysqld(设置开机自启动)

 2.查看初始化生成文件ls /var/lib/mysql

 3.查看端口信息    ss -nutlp | grep 3306

:管理员登录

1.首次登录需要抓取初始密码

 grep password /var/log/mysqld.log

 Mysql -uroot -p’ dhasidhwqd ’

2.修改密码:

 mysql>alter user user() identified by “123qqq...A”;

 mysql> Set password for [email protected]”localhost”=password(“123qqq...A”);

3.新密码确认登录:mysql -uroot -p123qqq...A

案例3:配置主从同步

.配置主服务器(4.11)

 1.修改配置文件: vim /etc/my.cnf

      server_id=11

 2.打开binlog日志 bin_log=master11

 3.添加授权用户:

   ]#mysql -uroot -p123qqq...A

     mysql> grant replication slave on *.* to [email protected]”%” identified by “123qqq...A”;

4.重启服务:systemctl restart mysqld

5.查看主状态

Mysql> show master status; 

.配置从服务器(4.22)

1.改配置文件:vim /etc/my.cnf    

   server_id=22   

2.重启:systemctl restart mysqld

3.登录添加指定主服务器

]# mysql -uroot -p123qqq...A

 mysq>change master to master_host=”192.1684.11”,master_user=jeff,master_password=123qqq...A,

       master_log_file=master11.000001,master_log_pos=225;

mysql>start slave;

Mysql>show slave statusG;

案例4:配置读写分离服务(maxscale77)

.配置读写分离服务器(4.77)

1.先从真机上将maxscale包拷过来

2.装包 

 rpm -ivh  maxscale-2.1.2-1.rhel.7.x86_64.rpm

 ls /etc/maxscale.cnf  //主配置文件

 ls /var/log/maxscale/   //日志目录

3.修改配置文件

Vim /etc/maxscale.cnf

[maxscale]  //服务线程数量

threads=auto

[server1] //1台数据库服务器

type=server

address=192.168.4.11

port=3306

protocol=MySQLBackend

[server2]  //2台数据库服务器

type=server

address=192.168.4.22

port=3306

protocol=MySQLBackend

[MySQL Monitor] //指定监控数据库服务器server1 和 server2

type=monitor

module=mysqlmon

servers=server1, server2

user=maxscalemon   //监控用户

passwd=123qqq...A  //密码

monitor_interval=10000

[Read-Write Service]  //定义读写分离服务

type=service

router=readwritesplit

servers=server1, server2

user=maxscalerouter  //路由用户

passwd=123qqq...A  //密码

max_slave_connections=100%

[MaxAdmin Service]  //定义管理服务

type=service

router=cli

[Read-Write Listener]  //定义读写分离服务端口

type=listener

service=Read-Write Service

protocol=MySQLClient

port=4006  //端口号

[MaxAdmin Listener]  //定义管理服务端口

type=listener

service=MaxAdmin Service

protocol=maxscaled

socket=default

port=4016 //端口

二:配置数据库服务器(4.11上做,4.22自动同步)

1.授权用户:在主服务器上添加,从服务器查看即可

Mysql>grant replication slave,replication client on *.* to [email protected]”%” identified by “123qqq...A”;

Mysql>Grant select on mysql.* to [email protected]”%” identified by “123qqq...A”;

2.在从服务器上查看(4.22)

Mysql -uroot -p123qqq...A -e ‘select user,host from mysql.user where name like “maxscale%”’

3.启动maxscale 服务

maxscale -f /etc/maxscale.cnf

4.查看服务信息 ps -C maxscale         ss -nutlp | grep maxscale

5.在maxscale服务本机访问管理服务,查看监控信息

  maxscale]#maxadmin -uadmin -pmariadb P4016

   maxscale> list servers

------------------- ----------------- ------- ------------- --------------------

Server             | Address         | Port  | Connections | Status

------------------- ----------------- ------- ------------- --------------------

server1            | 192.168.4.11    |  3306 |           0 | Master, Running

server2            | 192.168.4.22    |  3306 |           0 | Slave, Running

------------------- ----------------- ------- ------------- --------------------

案例5:准备NFS服务存储磁盘(192.168.4.30)

具体配置如下:

1.添加磁盘

  手动添加一块10G的磁盘,需要关闭机器.

2.磁盘分区

 fdisk /dev/vdb 一路回车 保存后就是10G

  查看分区  fdisk  -l /dev/vdb

3.格式化

    格式化 mkfs.xfs /dev/vdb1

4.设置开机自动挂载 

 vim  /etc/fstab

 /dev/vdb1     /sitedir     xfs    defaults   0  0

5.创建挂载目录

 mkdir /sitedir   

 chmod o w /sitedir/  //赋予写权限

 mount –a  //加载文件中所有未加载的设备

 mount | grep  "/sitedir"  //查看加载信息 相当于  df -h 

案例6:配置NFS服务

1.安装软件

 yum -y install nfs-utils rpcbind

2.修改配置文件

 vim /etc/exports

 /sitedir *(rw)

 exportfs r  //加载配置

3.启动服务

 systemctl  start rpcbind

 systemctl  start nfs

 systemctl  start nfs

 systemctl  enable rpcbind

4.查看共享信息

 showmount  -e localhost

案例7:配置网站服务

1.安装软件

 yum -y install httpd nfs-utils

 重启:systemctl restart httpd nfs-utils

2.挂载共享存储 var/www/html

 showmount -e 192.168.4.30 //查看共享

 vim /etc/fstab  //配置开机自动挂载

 192.168.4.30:/sitedir  /var/www/html nfs   defaults  0 0

 mount -a //进行挂载

3.启动服务

 systemctl restart httpd 

 systemctl enable httpd

 systemctl enable remote-fs.target //设置远程加载服务开机运行

4.查看挂载(共享)信息

 mount | grep “/var/www/html”

 df -h

案例8:测试配置(nfs   4.30 服务器上创建网页)

.测试NFS服务

1.在nfs服务器创建网页 test.html

 echo  "web test page" > /sitedir/test.html

 ls /sitedir/

2.在客户端192.168.4.254 分别访问网站服务

 curl  http://192.168.4.33/test.html  //访问网站33主机

 curl  http://192.168.4.44/test.html   //访问网站44主机

.测试MySQL服务

1.用户授权

 mysql -uroot -p123qqq...A

 mysql> grant select,insert,update,delete on gamedb.* to [email protected]"%" identified by "123qqq...A";    create table gamedb.user(name char(15)); //建表

 create table gamedb.user(name char(15)); //建表

2.在从服务器查看授权信息是否同步数据

 [[email protected] ~]# mysql -uroot -p123qqq...A

 mysql> show grants for [email protected]"%"; //查看授权用户

 GRANT USAGE ON *.* TO ‘yaya99‘@‘%‘                                 

 GRANT SELECT, INSERT, UPDATE, DELETE ON `gamedb`.* TO ‘yaya99‘@‘%‘ 

 

3.主服务上插入信息

 select  * from gamedb.user;

 insert into  gamedb.user values("xdd"); //用来验证数据读写分离

 select  * from gamedb.user;

.测试读写分离服务

1.在网站服务器(33/44)上,连接数据读写分离服务器77

 ]# yum -y  install mariadb     //安装提供连接命令软件

 ]# mysql -h192.168.4.77 -P4006 -uyaya99 -p123qqq...A //连接读写分离服务

2.查询数据

 mysql> select  * from gamedb.user; //显示的是从服务器上的数据

3.存储数据

 insert into gamedb.user values("pmm"); //插入记录

 select  * from gamedb.user; //查看记录

4.在主服务器本机登录查看数据

 mysql -uroot -p123qqq...A -e "select  * from  gamedb.user"

案例9:配置监控服务

.部署运行环境LNMP

1.安装LNMP环境

 yum -y install gcc pcre-devel  openssl-devel

 ./configure --with-http_ssl_module

 make && make install

 yum -y install php php-mysql  mariadb mariadb-devel mariadb-server

 yum -y  install  php-fpm-5.4.16-42.el7.x86_64.rpm

2.修改Nginx配置文件

 vim /usr/local/nginx/conf/nginx.conf

   http{

   … …

    fastcgi_buffers 8 16k;                      //缓存php生成的页面内容,816k

    fastcgi_buffer_size 32k;                      //缓存php生产的头部信息

    fastcgi_connect_timeout 300;                 //连接PHP的超时时间

    fastcgi_send_timeout 300;                     //发送请求的超时时间

    fastcgi_read_timeout 300;                        //读取请求的超时时间

  location ~ .php$ {

                root           html;

3.启动服务

 systemctl start  mariadb

 systemctl start  php-fpm

 ln -s /usr/local/nginx/sbin/nginx /sbin/nginx

 启动NginxPHP-FPMMariaDB服务,关闭SELinux与防火墙。

4.客户端测试LNMP环境

服务器创建PHP测试页面,浏览器访问页面测试网页连通性

 vim /usr/local/nginx/html/test.php

 <?php

 $i=33;

 echo $i;

 ?>

.安装Zabbix软件(zabbix77)

1.安装源码Zabbix软件

 yum -y install  net-snmp-devel  curl-devel

 yum -y install  libevent-devel-2.0.21-4.el7.x86_64.rpm

 tar -xf zabbix-3.4.4.tar.gz

 cd zabbix-3.4.4

 ./configure  --enable-server 

 > --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config 

 > --with-net-snmp --with-libcurl

 [[email protected] zabbix-3.4.4]# make && make install

 mysql> create database zabbix character set utf8;

//创建数据库,支持中文字符集

mysql> grant all on zabbix.* to [email protected]‘localhost‘ identified by ‘zabbix‘;

  //创建可以访问数据库的账户与密码骤三:初始化配置

2.创建数据库

 [[email protected] ~]# mysql

 cd zabbix-3.4.4/database/mysql/

 mysql -uzabbix -pzabbix zabbix < schema.sql

 mysql -uzabbix -pzabbix zabbix < images.sql

 mysql -uzabbix -pzabbix zabbix < data.sql

3.安装依赖

 [[email protected] ~]# yum -y install  php-gd php-xml

 [[email protected] ~]# yum y install php-bcmath

 [[email protected] ~]# yum y install php-mbstring

4.修改php程序运行参数

 [[email protected] ~]# vim /etc/php.ini

 date.timezone = Asia/Shanghai                //设置时区

 max_execution_time = 300                    //最大执行时间,秒

 post_max_size = 32M                        //POST数据最大容量

 max_input_time = 300                        //服务器接收数据的时间限制

 memory_limit = 128M                        //内存容量限制

 :wq

5.重启服务

 ]# systemctl restart php-fpm

.修改配置文件(zabbix77)

 ]# vim /usr/local/etc/zabbix_server.conf

 DBHost=localhost //数据库主机,默认该行被注释

 DBName=zabbix //设置数据库名称

 DBUser=zabbix //设置数据库账户

 DBPassword=zabbix //设置数据库密码,默认该行被注释

 LogFile=/tmp/zabbix_server.log     //设置日志

 :wq

.启动服务

1.启动服务

 [[email protected] ~]# useradd -s /sbin/nologin zabbix //不创建用户无法启动服务

 [[email protected] ~]# zabbix_server                      //启动服务

2.查看服务状态信息

 [[email protected] ~]# ss -ntulp |grep zabbix_server   //确认连接状态,端口10051

 tcp=LISTEN 0 128 *:10051 *:*   users:(("zabbix_server",pid=23275,fd=4),("zabbix_server",pid=23274,fd=4)

 

 

案例10搭建zabbix_agent服务区(以网站服务器192.168.4.33为例)

一:安装软件

1.安装依赖软件

 yum -y  install gcc  pcre-devel

2.安装源码zabbix软件

 ]#tar -zxvf zabbix-3.4.4.tar.gz

 ]#cd zabbix-3.4.4/

 ]#./configure --enable-agent

 ]# make install

3.修改配置文件

 vim  /usr/local/etc/zabbix_agentd.conf

 #Server=127.0.0.1

 StartAgents=0

 ServerActive=192.168.4.55

 Hostname=web33 

 :wq

二:启动服务

1.启动服务,只有端口没有进程

   useradd  zabbix

]# zabbix_agentd

]# netstat -utnlp  | grep  :10050 没有端口

]# ps -C zabbix_agentd  有进程