考题
1. 请详细写出zabbix监控配置流程。
zabbix监控配置流程详解
- 开发人员要加监控
让开发人员提供获取监控信息放入方式 - 运维人员要加监控
让运营人员提供获取监控信息放入方式
配置监控的步骤
- 安装
安装agent
创建用户zabbix
编译并安装
配置zabbix_agentd.conf zabbix_server的ip,hostname的值
启动服务 - 添加主机组
添加机主机并加入主机组
在web界面添加主机 - 添加监控项
手动添加
模板添加 - 添加触发器
- 配置用户媒介(即通知人的方式)
- 添加动作
- 手动触发并验证
2. 常见的监控软件有哪些,分别有什么特点,说明其应 用场景和其所擅长的领域。
软件 | 特点 | 应用场景 | 擅长领域 |
---|---|---|---|
zabbix | 安装与配置简单 免费开源 自动发现服务器与网络设备 可以无agent(代理)监视 Email等通知功能 | zabbix是一个基于WEB界面的分布式系统的监控开源的企业级软件 | 灵活的通知机制,使得管理员快速的定位解决各种的问题。 通过SNMP agent ping 端口监视对远程的服务器进行监视,数据收集。 运行的平台众多,linux |
nagios | 开源的 可并行检查 可以支持并实现对主机的冗余监控 能够监控网络服务和主机资源 可以通过配置Nagios远程执行插件远程执行脚本,事先定义事件处理程序, 当对象出现问题时,自动调用对应的处理程序; | 网络服务监控 主机资源监控 | nagios是一款开源的免费网络监视工具,有效监控多种主机状态 交换机 路由器 |
zabbix+grafana | 灵活丰富的图形化选项 可以混合多种风格 | 是一个可视化面板(Dashboard),功能齐全的度量仪表盘和图形编辑器 支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。 | 常被用作基础设施的时间序列数据和应用程序分析的可视化,它在其他领域也被广泛的使用包括工业传感器、家庭自动化、天气和过程控制等。 |
cacti | 绘图方面不错 | 网络设备(监控CPU、内存、温度) 主机系统(监控CPU的负载、内存、磁盘的空间、进程数) cacti检测对象(网络接口的流量:转发速度以及丢包率;设备运行的状态:风扇/电源、温度;检测服务的web、数据库、中间件) | 基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具 |
Prometheus | 灵活的查询语言。 不依赖分布式存储,单个服务器节点是自主的 | Prometheus 是一个开源的服务监控系统和时间序列数据库多维度数据模型。 | Prometheus和Heapster相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群 |
3. 数据库管理
3.1 创建⼀个以你名字为名的数据库,并创建⼀张表student,该 表包含三个字段(id,name,age),表结构如下:
mysql> desc student;
+-------+--------------+------+-----+---------+--------------
--+
| Field | Type | Null | Key | Default | Extra
|
+-------+--------------+------+-----+---------+--------------
--+
| id | int(11) | NO | PRI | NULL | auto_incremen
t |
| name | varchar(100) | NO | | NULL |
|
| age | tinyint(4) | YES | | NULL |
|
+-------+--------------+------+-----+---------+--------------
--+
3 rows in set (0.01 sec)
create databases hhr;
create table student(id int(11)not null primary key auto_increment,name varchar(100)not null,age tinyint(4));
desc student
3.2 查看下该新建的表有无内容(用select语句)
select * from student;
3.3 往新建的student表中插入数据(用insert语句),结果应如下 所示:
+----+-------------+------+
| id | name | age |
+----+-------------+------+
| 1 | tom | 20 |
| 2 | jerry | 23 |
| 3 | wangqing | 25 |
| 4 | sean | 28 |
| 5 | zhangshan | 26 |
| 6 | zhangshan | 20 |
| 7 | lisi | NULL |
| 8 | chenshuo | 10 |
| 9 | wangwu | 3 |
| 10 | qiuyi | 15 |
| 11 | qiuxiaotian | 20 |
+----+-------------+------+
insert student(name,age) value('tom',20),('jerry',23),('wangqing',25),('sean',28),
('zhangshan',26),('zhangshan',20),('lisi',NULL),('chenshuo',10),('wangwu',3),('qiuyi',15),
('qiuxiaotian',20);
3.4 修改lisi的年龄为50
update student set age = 50 where name = 'lisi';
3.5 以age字段降序排序
select * from student order by age desc;
3.6 查询student表中年龄最小的3位同学跳过前2位
select * from student order by age limit 2,3;
3.7 查询student表中年龄最大的4位同学
select * from student order by age desc limit 4;
3.8 查询student表中名字叫zhangshan的记录
select * from student where name = 'zhangshan';
3.9 查询student表中名字叫zhangshan且年龄大于20岁的记录
select * from student where name = 'zhangshan' and age >20;
3.10 查询student表中年龄在23到30之间的记录
select * from student where age between 23 and 30;
3.11 修改wangwu的年龄为100
update student set age = 100 where name = 'wangwu';
3.12 删除student中名字叫zhangshan且年龄小于等于20的记录
delete from student where name = 'zhangshan' and age <=20;
4. 请说明数据库备份有哪些方案,应用场景分别是什么,各自有什么特点。
备份 | 场景 | 特点 |
---|---|---|
全量备份 | 全部数据都进行备份 | 备份的时间花的长,但是备份的数据全 |
增量备份 | 在上一次全量备份或上一次增量备份后,之后备份的都备份修改的或者增加的内容进行备份 | 备份时间短且没有重复的数据,但是在恢复数据时是按照一定顺序进行恢复 |
差异备份 | 在一次全备份后到进行差异备份的这段时间内对那些增加或者修改文件的备份。 | 在进行恢复时,我们只需对第一次全量备份和最后一次差异备份进行恢复。 |
5. 请说明数据库传统主从和GTID主从的工作原理,它们有什么区别。
传统主从:
主库会将所有写的操作记录到binlog日志中生成一个log dump线程,将binlog日志传给从库的I/O线程
从库中有IO线程和sql线程,IO线程会请求主库得到binlog日志,写道relay log(也就是中继日志)中,sql线程会读
取relay log日志文件的记录过程,并且解析具体操作,从而实现主从复制,达到数据一致性
gtid主从:
master更新数据时,会在事务前产生GTID,一同记录到binlog日志中。
slave端的i/o线程将变更的binlog,写入到本地的relay log中。
sql线程从relay log中获取GTID,然后对比slave端的binlog是否有记录。
如果有记录,说明该GTID的事务已经执行,slave会忽略。
如果没有记录,slave就会从relay log中执行该GTID的事务,并记录到binlog。
区别:
GTID主从更简单
一个GTID在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致。
传统的主从是基于二进制日志文件的复制,必须配置唯一的服务器id,并且服务器的id主必须大于从,否则主设备将拒绝来自从设备的任何连接
传统的主从复制从端,binlog是不用开启的,但是在GTID中从端的binlog是必须开启的,目的是记录执行过的GTID
6. 请说明数据库密码破解的步骤。
关闭mysqld服务
修改配置文件添加跳过验证授权表
开启mysqld服务
跳过密码验证登录
修改mysqlroot验证字符串
正常登陆修改密码
7. 请说明什么是正向代理、反向代理、透明代理,它们各自的应用场景是怎样的?
正向代理:就是代理服务器代理了客户端,去和目标服务器进行交互
反向代理:就是代理服务器代理了目标服务器,去和客户端进行交互,反向代理可以做负载均衡
透明代理:客户端根本不需要知道有代理服务器的存在,它改变你的报文,并会传送真实ip,多用于路
由器的NAT转发