一、Zabbix介绍
Zabbix是一个企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标,适用于任何IT基础架构、服务、应用程序和资源的解决方案
二、Zabbix架构
-
SERVER
- Zabbix server 是 Zabbix 软件的核心组件
- Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。
- Zabbix serve r也是存储所有配置信息、统计信息和操作信息的核心存储库。
- Zabbix server也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。
-
基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。
tips:
Zabbix 的所有配置信息都存储在 Server和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。
-
数据库
- 所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中
- 可以支持MySQL,PostgreSQL,Oracle 等多种数据库
-
WEB 界面
- WEB 界面是 Zabbix server 的一部分,用于实现展示和配置的界面通常(但不一定)和 Zabbix server 运行在同一台物理机器上基于 Apache(Nginx)+PHP 实现,早期只支持LAMP架构,从Zabbix5.0开始支持LNMP
-
AGENT
- Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给Zabbix server。从Zabbix5.0开始支技Zabbix Agent2
-
PROXY
- Zabbix Proxy 可以代替 Zabbix Server 采集性能和可用性数据
- Zabbix Proxy 在 Zabbix 的部署是可选部分
- Zabbix Proxy 的部署可以很好的分担单个Zabbix server的负载
-
Java 网关
- Zabbix 要监控 tomcat 服务器和其它JAVA程序,需要使用 Java gateway 做为代理,才能从JAVA程序中获取数据
三、Zabbix术语
-
被监控: 即 Zabbix 监控的主机或设备
-
监控项item:即 Zabbix 监控的相关指标,比如:CPU利用率,内存使用率,TCP连接数等
- 监控内容
-
应用集Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中,即应用集
-
触发器Trigger:是一个表达式,或者说一个条件,如磁盘利用率超过80%等,当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作
-
告警:当触发器和动作二者结合起来时,就构成了的告警机制,比如cpu的使用率达到80%以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误 host—> items—> triggers --> action
-
Web 监测:对WEB服务进行检测,比如:访问指定网站是否可正常访问
-
模板 Template: 可以方便地应用于多个主机的一组实体的集合。而这些实体包括:
- items(监控项)
- applications(应用集)
- triggers(触发器)
- graphs(图形)
- screens (聚合图形,自Zabbix 2.0起)
使用模板是减少工作量并简化Zabbix配置的好方法。
模板分为内置模板和自定义模板
四、编译安装zabbix
#解决依赖关系
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
#建立管理用户
groupadd zabbix
useradd -g zabbix zabbix
#解压包
tar xf zabbix-4.0.30.tar.gz
#编译安装主要组件 server agent java-gateway
./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
make
make install
客户端安转agent
./configure --prefix=/apps/zabbix --enable-agent
数据库可以安装在本地也可以分离
yum install mariadb-server.x86_64 -y
systemctl start mariadb
mysql_secure_installation 安全加固脚本
#输入当前密码
#修改root密码