强哥带你学zabbix 5.0

强哥带你学zabbix 5.01:什么是监控?2:常见的linux监控命令3:使用shell脚本来监控服务器4: zabbix的基础服务架构5: zabbix生产环境安装5.1:安装php运行环境5.2:安装数据库5.3:安装zabbix-server5.4: 安装zabbix-web6∶监控一台服务器主机7∶自定义监控项7.1:什么是监控项7.2 使用内置key监控nginx的状态7.3 使用自定义的监控项来监控nginx7.4 自定义带参数的监控项8∶自定义触发器9:自定义报警9.1 邮件报警9.2 微信报警(自定义脚本报警)9.3 报警升级10:自定义图形和grafana出图11∶自定义监控模板12:zabbix监控角度总结13: 用户访问量监控14:使用percona插件监控mysql15: snmp监控window和Linux16: zabbix自动发现和自动注册(主动)17: zabbix-agent主动和被动的区别18: zabbix版本升级19: zabbix分布式监控proxy20: zabbix监控java jvm原理21: zabbix性能优化22: zabbix低级自动发现23: zabbix api

1:什么是监控?

监视和控制,

生活中的监控:事后追责

运维中的监控:事后追责,事前预警,性能分析,实时报警

2:常见的linux监控命令

cpu,内存,磁盘,网络

3:使用shell脚本来监控服务器

没有监控工具的时候,shell脚本+定时任务 监控服务器

缺点:效率低,不能实现集中报警,不能分析历史数据

我只有一台云主机需要监控,适合shell脚本+定时任务

4: zabbix的基础服务架构

1612150965969

5: zabbix生产环境安装

主机 :zabbix-server

ip地址: 10.0.0.71

操作系统版本: centos 7.6

5.1:安装php运行环境

要求php版本 7.2以上+

安装php第三方源

安装nginx

配置php-fpm和nginx

启动nginx和php-fpm

准备zabbix-web的php代码

1612163592827

1612165883394

1612166054696

5.2:安装数据库

5.3:安装zabbix-server

配置zabbix 5.0的源

安装zabbix-server

导入zabbix初始数据

配置zabbix-server

启动zabbix-server

5.4: 安装zabbix-web

1612168732161

解决方法:

1612168927800

1612168967065

1612168990499

1612169039477

登录zabbix

用户名: Admin

密码:zabbix

1612169122899

1612170394972

调整语言为中文

1612170661937

6∶监控一台服务器主机

6.1 监控zabbix-server

6.2 监控其他linux主机

添加监控前准备

1612173184113

1612173349307

1612173477473

 

7∶自定义监控项

7.1:什么是监控项

监控项:就是我们想要监控的指标,例如剩余内存,磁盘空间,服务的状态等等

每一个监控项,都有一个唯一的key,简洁明了(相当于shell脚本的变量名)

只需要安装zabbix-agent,默认就支持大量的监控项,但是linux模板并没有使用所有监控项 Template OS Linux by Zabbix agent主要监控了cpu,内存,磁盘,网卡,安全,它们都属于通用监控

应用集是监控项的分组

7.2 使用内置key监控nginx的状态

1612228459188

1612228495979

1612229929066

1612230079911

注意:添加监控项之前最好使用zabbix-get测试取值

7.3 使用自定义的监控项来监控nginx

修改agent配置文件

重启agent生效

使用zabbix-get测试取值

注意 zabbix-agent 取值的时候权限不足解决方法:

web界面添加监控项过程,同上

7.4 自定义带参数的监控项

建议把agent自定义监控项独立成一个配置文件

好处:可以复用,管理更方便

 

对应有规律的监控项:

适合使用带参考的自定义监控项

取值效果

8∶自定义触发器

触发器:设置一个报警条件

一个触发器至少对应一个监控项

触发器表达式的格式

例子1:

例子2:

例子3:

自定义触发器表达

1612249703563

1612249730469

1612250398572

单条件

多条件

9:自定义报警

9.1 邮件报警

配置发件人

1612256728736

1612256915395

1612257022370

1612257108843

配置收件人

1612257198805

1612257299149

配置触发器动作

1612257503747

触发报警

效果

1612257834260

9.2 微信报警(自定义脚本报警)

准备好企业微信号

1612259715656

加入企业微信

1612259781757

使用微信关联企业微信

1612260152555

测试微信报警脚本

将脚本放在指定的位置

配置发件人

1612261711561

1612261760756

配置收件人

1612261886343

重新触发报警

注意权限问题

1612262200101

9.3 报警升级

增加一个用户

1612314780992

1612315369121

1612315943714

分别为oldboy和admin配置不同的收件人

1612317328323

1612317362273

报警升级设置

1612317434346

1612317716977

效果

1612317953744

10:自定义图形和grafana出图

1612319130614

1612319170655

解决中文乱码

1612319382982

自定义图形

1612320485076

1612320525823

1612320617333

使用grafana给zabbix出图

安装grafana

grafana的概念

安装zabbix插件

1612323373455

启用zabbix插件

1612323420903

新建zabbix数据源

1612323478136

1612323905062

1612324282179

1612324340173

1612324361991

效果

1612324405705

1612324738754

1612334132535

1612334264975

1612334357499

1612336266774

1612336230499

导入dashboard

1612336554930

1612336610162

1612336643142

1612338197132

11∶自定义监控模板

模板:定义好了,一些监控项,应用集,触发器,图形等资源

模板可以包含子模板

模板,可以导入导出,可以分享

自定义模板

1612340962025

1612340983072

制作模板

1612341037497

1612341141045

1612341189005

添加监控项

1612341281541

1612341318310

1612341346976

同样的方法,复制触发器,复制图形等资源

使用模板注意事项:

12:zabbix监控角度总结

 

13: 用户访问量监控

使用第三方统计平台

1612405298170

1612405362008

将统计分析的js代码添加到网站模板

discuz如何添加网站统计代码?

 

1612407806117

自建统计平台

使用开源的统计平台piwik

1612407688775

 

14:使用percona插件监控mysql

yum安装的mysql监控方法

其他方式安装的mysql监控方法

15: snmp监控window和Linux

不能安装zabbix-agent的设备,都可以使用snmp监控

snmp协议: simple network manager protocol

OID:监控标准都有一个唯一的id,object id

MIB:

snmp协议版本

安装snmp服务端

安装snmp客户端,测试取值

新建主机,链接模板

1612422915946

1612422975502

 

16: zabbix自动发现和自动注册(主动)

自动发现

1612424723983

1612424874144

添加主机的规则

1612424973053

1612425002183

1612425108569

1612425271995

自定注册:

1612425769327

1612425804413

1612425861832

1612425918260

1612426009237

agent配置

验证:

1612426222895

agent配置

验证:

1612426370023

ansible实现自动注册

17: zabbix-agent主动和被动的区别

被动:如果有100个监控项,zabbix-server对agent进行100次取值

主动:如果有100个监控项,agent主动向zabbix-server索要任务清单,根据清单采集所有监控项,一次性发送给zabbix-server

使用主动模式之前

1612428185227

使用主动模式之后

1612428533531

18: zabbix版本升级

19: zabbix分布式监控proxy

安装proxy

创建代理

1612487151543

1612487238824

1612487313572

调通

1612488545520

agent配置

1612488754391

1612488834484

20: zabbix监控java jvm原理

tomcat weblogic jboss resin

tomcat:

开启监控接口

安装zabbix-java-gateway来监控jvm

修改zabbix-server的配置文件

添加监控

1612492447851

1612492628744

1612492845886

21: zabbix性能优化

性能不足的时候:经常出现误报,断图,还有其他报警

1612495234732

优化:

数据库优化:业务类型 写多读少

zabbix-server服务优化

22: zabbix低级自动发现

1612508945724

1612508977996

1612509007126

1612509153532

1612509222936

1612509261160

通过低级自动发现监控mysql多实例

准备环境mysql多实例

创建低级自动发现规则

1612513544507

1612513571670

1612513662191

1612513779620

创建监控项原型

1612514197738

1612514234536

1612515333978

1612514402962

1612514448685

23: zabbix api

api:应用程序接口

什么是调用api

怎么调用api,常见的调用api,就是发起一个http请求

调用zabbix-api

获取token

删除主机

1612517626046

创建主机

批量创建主机