images\cherry_red.png1 实训二前期LNMP简易架构
      images\cherry_blue.png1.1 php server安装
      images\cherry_blue.png1.2 安装初始化数据库
   images\cherry_red.png2 Mysql数据库
      images\cherry_blue.png2.1 Mysql5.7安装
         images\cherry_orange.png2.1.1 rpm安装
         images\cherry_orange.png2.1.2 yum安装
         images\cherry_orange.png2.1.3 源码安装
         images\cherry_orange.png2.1.4 编译好的非rpm包安装
         images\cherry_orange.png2.1.5 my.cnf常见选项
      images\cherry_blue.png2.2 Mysql基础
         images\cherry_orange.png2.2.1 MySql数据库操作
         images\cherry_orange.png2.2.2 MySql数据类型
            images\cherry_cyan.png2.2.2.1 整型
            images\cherry_cyan.png2.2.2.2 浮点数和定数
            images\cherry_cyan.png2.2.2.3 字符串类型
            images\cherry_cyan.png2.2.2.4 日期和时间类型
            images\cherry_cyan.png2.2.2.5 字段修饰和约束
            images\cherry_cyan.png2.2.2.6 业务建表练习
         images\cherry_orange.png2.2.3 MySql表操作
         images\cherry_orange.png2.2.4 MySql体系结构
         images\cherry_orange.png2.2.5 MySql存储引擎
      images\cherry_blue.png2.3 MySql操作
         images\cherry_orange.png2.3.1 MySql数据操作
         images\cherry_orange.png2.3.2 MySql单表查询
         images\cherry_orange.png2.3.3 MySql多表查询
         images\cherry_orange.png2.3.4 MySql存储过程与函数
      images\cherry_blue.png2.4 MySql操作-2
         images\cherry_orange.png2.4.1 MySql安全机制
         images\cherry_orange.png2.4.2 MySql日志管理
         images\cherry_orange.png2.4.3 MySql复制概述
         images\cherry_orange.png2.4.4 主从同步
      images\cherry_blue.png2.5 最基本sql语句及主从架构
      images\cherry_blue.png2.6 MyCat中间件
         images\cherry_orange.png2.6.1 部署Mycat
         images\cherry_orange.png2.6.2 配置读写分离
            images\cherry_cyan.png2.6.2.1 安全的读写分离
         images\cherry_orange.png2.6.3 XML语法格式
         images\cherry_orange.png2.6.4 mycat 分表分库
      images\cherry_blue.png2.7 Mysql MHA
         images\cherry_orange.png2.7.1 MHA-部署
         images\cherry_orange.png2.7.2 MHA-故障切换VIP透明
            images\cherry_cyan.png2.7.2.1 VIP切换脚本内容
            images\cherry_cyan.png2.7.2.2 VIP-手动在线切换脚本
         images\cherry_orange.png2.7.3 MHA+Mycat高可用Mysql读写分离
         images\cherry_orange.png2.7.4 MHA+VIP+Mycat
         images\cherry_orange.png2.7.5 MHA-故障切换邮件报警
         images\cherry_orange.png2.7.6 自动配置Slave主机
   images\cherry_red.png3 实验
      images\cherry_blue.png3.1 mysql授权问题
      images\cherry_blue.png3.2 1.单节点数据库
      images\cherry_blue.png3.3 2.主从同步
      images\cherry_blue.png3.4 3.实验(高可用)
         images\cherry_orange.png3.4.1 高可用keepalived
            images\cherry_cyan.png3.4.1.1 keepalived install
      images\cherry_blue.png3.5 4.实验(高可用+大并发)
         images\cherry_orange.png3.5.1 HAproxy代理
      images\cherry_blue.png3.6 4.实验(mycat-读写分离)
         images\cherry_orange.png3.6.1 mycat安装部署
         images\cherry_orange.png3.6.2 读写分离高可用
         images\cherry_orange.png3.6.3 mycat管理端口命令
      images\cherry_blue.png3.7 5.双主双从-读写分离-高可用
      images\cherry_blue.png3.8 6.mycat分库操作
      images\cherry_blue.png3.9 7.mycat分表
      images\cherry_blue.png3.10 8.mycat分库分表之下实现读写分离
   images\cherry_red.png4 Shell脚本编程
   images\cherry_red.png5 Zabbix监控
      images\cherry_blue.png5.1 zabbix设置邮件报警--自定义报警媒介
      images\cherry_blue.png5.2 zabbix解决中文界面乱码问题
      images\cherry_blue.png5.3 ziabbix自带的template Linux OS
      images\cherry_blue.png5.4 zabbix-agent自定义收集数据
      images\cherry_blue.png5.5 zabbix监控Nginx性能
      images\cherry_blue.png5.6 综合配置
      images\cherry_blue.png5.7 实验:监控nginx端口实现告警
   images\cherry_red.png6 ELK日志分析
      images\cherry_blue.png6.1 PS
      images\cherry_blue.png6.2 es-head插件安装
      images\cherry_blue.png6.3 安装filebeat nginx日志模板

=============================================================
zabbix监控有主动和被动两种常用模式,主动被动以zabbix-agent 而言的
主动模式:zabbix-agnet定时收集监控项的数据 主动提交zabbix-server
被动模式:zabbix-server定时请求zabbix-agnet数据(默认模式)


zabbix_get 命令 测试监控项数据
# yum install -y zabbix-get

# zabbix_get -s192.168.182.111 -p10050 -k "net.tcp.listen[25]"

-s : 指定 zabbix-agent 地址
-p: 指定 zabbix-agent 端口
-k:指定需要获取的键(监控项中的键)
-I : 指定当前zabbix-server以哪一个Ip求请求数据
=============================================================

Zabbix概述:
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,
保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与
可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集
等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上

官网:http://www.zabbix.com
===================================================================================
linux包安装方式:
1.bin/run后缀二进制包,直接运行,无需任何命令.类似window 的exe包


2.rpm 包二进制包,通过rpm -ivh 命令快速安装 (存在依赖)
>yum 命令解决rpm包的依赖难题
images\67-1.png





3.源码包,安装步骤复杂,可深度定制功能
>下载 xxx.tar.gz xxx.tar.bz2 xxxx.zip
>解压 tar uzip
>make distclean 或者 make clean 清除包中可能存在的配置和编译信息
>配置 ./configuer 定制安装功能模块 指定安装路径
>编译 make
>安装 make install

4.预编译好的包 (下载----直接解压到指定的目录即可)

===================================================================================

zabbix rpm 二进制安装:

因为zabbix依赖一些系统基础包,所以打开centos系统安装源,确保系统安装源可用

1.安装zabbix安装源
[root@localhost yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Sources.repo zabbix.repo
[root@localhost yum.repos.d]# yum clean all


2.安装zabbix-server 服务 zabbix-web-mysql 前端 zabbix-agent 数据采集端(客户端)
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent


安装zabbix-server-mysql得到zabbix-server
[root@localhost yum.repos.d]# systemctl status zabbix-server.service
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
Active: inactive (dead)

安装zbbix-web-mysql得到web 服务及前端代码
[root@localhost yum.repos.d]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
[root@localhost yum.repos.d]# ls /usr/share/z
zabbix/ zenity/ zoneinfo/ zsh/
[root@localhost yum.repos.d]# ls /usr/share/zabbix/
actionconf.php chart4.php httpdetails.php screenconf.php


安装zabbix-agent得到zabb-agent服务:
[root@localhost yum.repos.d]# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
Active: inactive (dead)

zabbix-server端建议安装zabbix_get命令 用于数据采集测试
[root@localhost yum.repos.d]# yum install -y zabbix-get



3.安装mysql数据库,并配置zabbix数据库,导入zabbix数据表结构
3.1安装mysql5.7数据库 由于zabbix需要连接libmysqlclient.so.18库文件,因此只支持数据库5.6及5.5版本,centos7直接安装系统自带的mariadb5.5即可
# yum install -y lrzsz unzip
# yum install -y perl.x86_64
# rz ----上传mysql5.7安装包
# unzip mysql5.7.zip
# rpm -e --nodeps mariadb-libs ----卸载有冲突的mariadb-libs包
# rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm mysql-community-libs-5.7.24-1.el7.x86_64.rpm mysql-community-client-5.7.24-1.el7.x86_64.rpm mysql-community-server-5.7.24-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm

3.2 初始化mysql数据库
# vi /etc/my.cnf
skip-name-resolve
# systemctl start mysqld ----启动
# systemctl enable mysqld
# iptables -F
# setenforce 0

#初始化密码
# cat /var/log/mysqld.log | grep password
2021-07-01T07:53:18.280707Z 1 [Note] A temporary password is generated for root@localhost: H5hDHMfDe=sR

# mysql -uroot -p
Enter password:
mysql> alter user 'root'@'localhost' identified by 'Uplooking_123';
mysql> flush privileges;


3.3.创建database 及授权用户
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'Uplooking_123';
mysql> flush privileges;


3.4 导入初始架构和数据,系统将提示您输入新创建的密码。
将create.sql.gz sql压缩文件解压通过 '|' 传递给 mysql 命令 导入到zabbix database 库中
# zcat /usr/share/doc/zabbix-server-mysql-4.0.32/create.sql.gz | mysql -uzabbix -pUplooking_123 zabbix

3.5配置zabbix-server指定数据库信息
[root@localhost ~]# grep -v "^#" /etc/zabbix/zabbix_server.conf | grep -v "^$"
#制定监听端口号 默认10051
ListenPort=10051
#建义指定,当服务器有多个IP时,制定以该IP去向zabbix-agent请求监控数据
SourceIP=192.168.182.111
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Uplooking_123

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

3.6 更改前端时区
# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

3.7 启动zabbix-server httpd
[root@localhost ~]# systemctl start zabbix-server.service
[root@localhost ~]# systemctl start httpd


[root@localhost ~]# netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 54286/zabbix_server
tcp6 0 0 :::80 :::* LISTEN 54362/httpd
tcp6 0 0 :::10051 :::* LISTEN 54286/zabbix_server


4.配置前端 <在浏览器中访问>
http://192.168.182.111/zabbix

登陆用户:Admin 密码 : zabbix

https://www.zabbix.com/documentation/4.0/manual/installation/install#installing_frontend ----前端安装的文档

+++++++++++++++++++++++++++++++++++++++++++++
新增监控主机:
1.在被监控主机上安装zabbix-agent


2.配置zabbix-agent.conf
[root@web-proxy ~]# vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
#日志容量最大3MB 超过3MB将轮转存储
LogFileSize=3
#当存在多个IP时,选用该IP 提交数据
SourceIP=192.168.182.111
#是否执行远程命令
EnableRemoteCommands=1
#远程执行命令是否记录到日志
LogRemoteCommands=1
#被动模式下 接受 服务器来自该IP的询问
Server=192.168.182.111
ListenPort=10050
ListenIP=192.168.182.111
#启动的线程数量 0:表示开启主动模式
StartAgents=5
#主动模式下 主动将数据提交给谁
ServerActive=127.0.0.1
#该节点的名称 与主机名无关,随意命令,但是要与 zabbix server前端 所填写的主机名一致
Hostname=nginx-proxy-1

Include=/etc/zabbix/zabbix_agentd.d/*.conf


3.启动服务
[root@web-proxy ~]# systemctl restart zabbix-agent
[root@web-proxy ~]# netstat -nlpt | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 26536/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 26536/zabbix_agentd
[root@web-proxy ~]#


[root@web-proxy ~]# cat /var/log/zabbix/zabbix_agentd.log
#####[nginx-proxy-1] not found 是由于在zabbix-server中还没有添加为监控主机
26541:20200704:101002.073 no active checks on server [192.168.110.150:10051]: host [nginx-proxy-1] not found


4.在zabbix-server 中添加主机 关联模板



==========================================================
告警机制:(模板--监控项--触发器<-------动作-------->【 指定告警媒介(指定告警发送方) 用户组--用户--接受告警信息的媒介)】
配置--->告警媒介类型=⇒ Email , SMS(短信/电话需要解调器设备支持), jabber

1.告警必须具备接收告警的用户
2.用户必须指定告警类型
3.关联动作
-----------------------------------------------------------------------------
实验:
自带的Email 告警机制
1.创建用户组 及需要接收某个主机组的告警的用户(指定接收告警的媒介,适当的权限)

2.配置--->报警媒介类型--->Email
images\67-2.png



======================================================
images\67-3.png