1、2019Zabbix培训1zabbix培训Zabbix简介及安装Zabbix是什么?是一个企业级解决方案,支持实时监控数千台服器,虚拟机和网络设备,采集百是什么?是一个企业级解决方案,支持实时监控数千台服器,虚拟机和网络设备,采集百万级监控指标。万级监控指标。Zabbix完全开源免费,没有任何隐藏收费功能。完全开源免费,没有任何隐藏收费功能。2zabbix培训Zabbix简介及安装3zabbix培训Zabbix简介及安装应用特色4zabbix培训Zabbix简介及安装Zabbix功能简介:5zabbix培训Zabbix简介及安装Zabbix功能简介:6zabbix培训Zabbix简介及安装Za
2、bbix功能简介:7zabbix培训Zabbix简介及安装Zabbix功能简介:8zabbix培训Zabbix简介及安装Zabbix功能简介:9zabbix培训Zabbix简介及安装Zabbix功能简介:10zabbix培训Zabbix简介及安装Zabbix功能简介:11zabbix培训Zabbix简介及安装Zabbix功能简介:12zabbix培训Zabbix简介及安装Zabbix功能简介:13zabbix培训Zabbix简介及安装Zabbix架构简介:1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;2)database
3、 storage:专用于存储所有配置信息,以及由zabbix收集的数据;3)web interface:zabbix的GUI接口;4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。14zabbix培训Zabbix简介及安装Zabbix架构简介:一个监控系统运行的
4、大概的流程是这样的:agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy被动:server向agent请求获取监控项的数据,agent返回数据。15zabbix培训Zabbix简介及安装Zabbix安装:Red Hat Enterprise Linux/CentOS概述概述官方的Zabbix
5、发行包适用于RHEL7、CentOS7和OracleLinux7。在本文中,将使用RHEL来指代这三个操作系统。一些Zabbixagent和Zabbixproxy发行包也适用于RHEL6和RHEL5。添加添加 Zabbix 软件件仓库安装软件仓库配置包,这个包包含了yum(软件包管理器)的配置文件。RHEL7:#rpm-ivh 前端安装的先决条件前端安装的先决条件Zabbix前端需要额外的基础安装包。您需要在运行Zabbix前端的系统中启用可选rpms的软件仓库:RHEL7:#yum-config-manager-enable rhel-7-server-optional-rpms安装安装 S
6、erver/proxy/前端前端安装Zabbixserver(适用于RHEL7,在RHEL6上弃用)并使用MySQL数据库:#yum install zabbix-server-mysql安装Zabbixproxy并使用MySQL数据库:#yum install zabbix-proxy-mysql安装Zabbix前端(适用于RHEL7,在RHEL6上弃用)并使用MySQL数据库:#yum install zabbix-web-mysql若使用PostgreSQL,则将命令中的mysql替换为pgsql;SQLite3则替换为sqlite3(仅Zabbixproxy)。16zabbix培训Za
7、bbix简介及安装Zabbix安装:创建数据建数据库对于Zabbixserver和proxy守护进程而言,数据库是必须的。而运行Zabbixagent是不需要的。如果Zabbixserver和Zabbixproxy安装在相同的主机,它们必须创建不同名字的数据库!使用MySQL或PostgreSQL提供的说明来创建数据库。导入数据入数据使用MySQL来导入Zabbixserver的初始数据库schema和数据,#zcat/usr/share/doc/zabbix-server-mysql*/create.sql.gz|mysql-uzabbix-p zabbix系统将提示您输入新创建的数据库密码
8、对于Zabbixproxy,导入初始的数据库schema:#zcat/usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz|mysql-uzabbix-p zabbix为 Zabbix server/proxy 配置数据配置数据库编辑zabbix_server.conf或zabbix_proxy.conf文件以使用已创建的数据库。例如:#vi/etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=在DBPassword参数中输入由My
9、SQL或PosgreSQL创建的Zabbix数据库密码。17zabbix培训Zabbix简介及安装Zabbix安装:启启动 Zabbix server 进程程运行以下命令以启动Zabbixserver进程:#service zabbix-server start并在系统启动时让它自启:RHEL7或更高版本:#systemctl enable zabbix-server使用zabbix-proxy替换命令中的zabbix-server以启动和自启Zabbixproxy。Zabbix 前端配置前端配置对于RHEL7和更高版本,Zabbix前端的Apache配置文件位于/etc/httpd/conf
10、d/zabbix.conf。虽然已经配置了一些PHP参数。但是有必要取消“date.timezone”注释,并为其设置正确的时区。php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_ 2M php_value max_input_time 300 php_value always_populate_raw_post_data-1#php_value date.timezone Europe/Riga18zabbix培训Zabb
11、ix简介及安装Zabbix安装:SELinux 配置配置在enforcing模式下启用SELinux状态后,您需要执行以下命令以启用Zabbix前端和Zabbixserver之间的通信:RHEL7或更高版本:#setsebool-P httpd_can_connect_zabbix on 如果数据库可以通过网络访问(在 PostgreSQL 情况下包括 localhost),您也需要允许 Zabbix 前端连接到数据库:#setsebool-P httpd_can_network_connect_db on#service httpd restart安装安装 Agent运行以下命令以安装Zab
12、bixagent:#yum install zabbix-agent运行以下命令以启动Zabbixagent:#service zabbix-agent start19zabbix培训功能流程简介0420zabbix培训功能流程简介1、自动发现21zabbix培训功能流程简介1、自动发现22zabbix培训功能流程简介1、自动发现23zabbix培训功能流程简介1、自动发现24zabbix培训功能流程简介1、自动发现25zabbix培训功能流程简介2、Mysql数据库监控“UserParameter”语法:UserParameter=,用户自定义一个key;后跟命令,该命令用来获取用户想要监控
13、的数据,也就是key的值;定好UserParameter参数后,在为主机或者模板配置监控项的时候,在”key”中输入上面自定义的key的名字就可以了.假如要获取MysqlServer的版本,我可以这样定义”UserParameter”:打开ZabbixAgent安装路径下的./etc/zabbix_agentd.conf配置文件,翻页到最后页面,键入如下行:UserParameter=mysql.version,mysql-V26zabbix培训功能流程简介2、Mysql数据库监控授权mysql登录用户(agent端):mysqlgrantusageon*.*toidentifiedby123
14、456;mysqlflushprivileges;1.利用UserParameter参数自定义AgentKey。判断数据库状态,我们采用mysqladmin这个工具来实现,命令如下:linux:/etc/zabbix/zabbix-agentd.conf.d#mysqladmin-uzabbix-p123456-h127.0.0.1pingmysqldisalive如果MySQL状态正常,会显示mysqldisalive,否则会提示连接不上。对于服务器端,mysqldisalive这样的句子不好理解,服务器端最好只接收1和0,1表示服务可用,0表示服务不可用。那么再改进一下这个命令,如下:li
15、nux:/etc/zabbix/zabbix-agentd.conf.d#mysqladmin-uzabbix-p123456-h127.0.0.1ping|grep-calive1用户名和密码放在命令中对于以后的维护不好,所以我们在/etc/zabbix/下创建一个包含MySQL用户名和密码的配置文件“f”,如下:clientuser=zabbixhost=192.168.2.6password=12345627zabbix培训功能流程简介2、Mysql数据库监控做完这一步后需要做的就是,将这个监控命令添加到ZabbixAgent中,并与一个Key对应,这样ZabboxServer就能通过这
16、个Key获取MySQL的状态了。我们使用mysql.ping作为MySQL状态的Key。首先在去除/etc/zabbix/zabbix-agentd.conf中包含子配置文件路径的注释,并修改Include=/etc/zabbix/zabbix-agentd.conf.d/(这里根据自己情况取名就行,别忘了创建这个目录)其次,在etc/zabbix/zabbix_agentd.conf.d/目录下创建userparameter_mysql.conf文件。在文件中添加如下命令:linux:/etc/zabbix/zabbix-agentd.conf.d#catuserparameter_mysq
17、l.confUserParameter=mysql.ping,mysqladmins-uzabbix-p123456-h127.0.0.1ping|grep-calive这个命令中”UserParameter”表示这是一个用户自定义的脚本;“=”号后是脚本的内容;“mysql.ping”是Key,“,”号后的命令会在ZabbixServer向Agent发起获取“mysql.ping”这个key的请求时被调用,并将返回值返回给Server。保存并退出后可以使用下面的命令测试是否正常工作。linux:/etc/zabbix#/usr/sbin/zabbix-agentd-tmysql.ping-c
18、/etc/zabbix/zabbix-agentd.conf.d/userparameter_mysql.conf(正常工作)mysql.pingt|128zabbix培训功能流程简介2、Mysql数据库监控同时,在Server端也可以使用使用zabbix_get命令来测试从Server端获取指定的Client端的数据,如下:rootZabbixserveralertscripts#zabbix_gets192.168.17.93-p10050-kmysql.ping129zabbix培训功能流程简介2、Mysql数据库监控添加mysql数据服务器30zabbix培训功能流程简介2、Mysql
19、数据库监控关联模板31zabbix培训功能流程简介2、Mysql数据库监控创建监控项32zabbix培训功能流程简介2、Mysql数据库监控创建图形33zabbix培训功能流程简介2、Mysql数据库监控设置报警,创建触发器,动作(当设置报警,创建触发器,动作(当STATUS=0时,报警)时,报警)34zabbix培训功能流程简介2、Mysql数据库监控设置报警,创建触发器,动作(当设置报警,创建触发器,动作(当STATUS=0时,报警)时,报警)35zabbix培训功能流程简介3、拓扑图36zabbix培训功能流程简介3、拓扑图37zabbix培训功能流程简介4、触发器38zabbix培训谢谢39zabbix培训