共计 4460 个字符,预计需要花费 12 分钟才能阅读完成。
一、什么是 Zabbix?
zabbix 为监控网络和服务器的健康和完整提供了很多参数。使用一个灵活的通知机制,允许用户配置基于 email 的报警,几乎支持所有的事件。这可以快速的反应服务器的问题。zabbix 基于存储的数据提供了极好的报告和数据可视化特性。这使得 zabbix 容量很好的规划。
zabbix 支持轮循和捕获。所有 zabbix 的报告和数据以及配置参数,都是基于一个 web 前端界面。一个基于 web 的界面可以确保网络的状态和服务器的健康状态可以从任何地址获知。适当的配置,zabbix 在监控 ip 基础设施起到一个很重要的角色。
世界各地的组织使用 zabbix 作为主要的监控平台。
二、Zabbix 的组成
server: zabbix server 是一个核心组件,agent 可以向它报告可用性和完整性信息和统计数据。该 server 所有的配置,数据和业务数据都存在数据库中。
数据库存储: 所有的配置信息包括采集的数据都被 zabbix 存储在数据库中。
Web 界面: 通过一个基于 web 的平台,我们可以从任何一个地方访问 zabbix。这个 web 是 zabbix server 的一部分,通常跟 server 运行在同一台物理机上。(SQLite 必须得配置在同一台物理机上)
Proxy: proxy 可以代替 server 收集性能和可用性的数据。proxy 是一个可选的部分,但它对于减弱 zabbix server 的负载非常有用。
agent: zabbix agent 被部署在监控的目标上,主机监控本地的资源和应用并汇报数据给 zabbix server。
三、Zabbix 几个定义组件
host: 你要监控的网络设备,使用 ip/ 域名.
host group: 主机的逻辑分组,可能包含主机和模板。主机组内的主机和模板是不以任何方式彼此连接。为不同的用户分配权限时,使用主机组。
item: 你想从监控主机获取到的某些数据
trigger: 定义一个阀值来看看从 item 中接收的数据是否有问题,使用逻辑表达式。当接收一个超过比阀值的,trigger 从 ok 变成 problem。当接收的数据低于阀值,trigger 变成 ok 状态。
event: 一些值得关注的例如 trigger 状态变化或者发现机制,agent 自动注册发生了。
action: 基于事件一个预定义的装置. 一个 action 包含条件和操作(发送一个邮件)。
escalation: 在 action 的操作中自定义,发送通知 / 远程执行命令
media: 发送通知的一种手段。
notification: 一个事件经由选择的媒体发送给用户.
remote command: 当一些条件触发时,预定义的远程命令执行.
template: 准备被应用到一台或多台主机的实体(items, triggers, graphs, screens,applications, low-level discovery rules, web scenarios),模板加快了监控的部署。大规模的更改应用到监测任务。模板直接关联到主机。
application: item 的逻辑分组
web scenario: 一个或多个 HTTP 请求来检查网站的可用性
frontend: zabbix 提供的 web 界面
zabbix api: Zabbix API 允许你使用 json rpc 协议来创建,更新和获取 zabbix 对象(likehosts, items, graphs and others) 或执行其它自定义任务.
zabbix server: zabbix 软件的中心,用来执行监控,跟 proxy 和 agent 交互,计算 trigger,发送通知,中央数据存储。
zabbix agent: 一个进程部署在监控主机上,主动监控本地资源和应用。
zabbix proxy: 代替 zabbix server 采集数据,代替 server 承受些压力。
四、Zabbix 硬件配置
Zabbix 所需硬件配置举例:
Name | Platform | CPU/Memory | Database | Monitored hosts |
---|---|---|---|---|
Small | CentOS | Virtual Appliance | MySQL InnoDB | 100 |
Medium | CentOS | 2 CPU cores/2GB | MySQL InnoDB | 500 |
Large | RedHat Enterprise Linux | 4 CPU cores/8GB | RAID10 MySQL InnoDB or PostgreSQL | >1000 |
Very large | RedHat Enterprise Linux | 8 CPU cores/16GB | Fast RAID10 MySQL InnoDB or PostgreSQL | >10000 |
五、Zabbix Server 端安装配置
我们这里使用 repository 安装,使用 MySQL 分支 MariaDB 数据库。
1> 环境介绍
系统版本:CentOS Linux release 7.3
内核版本:3.10.0-514.26.2.el7.x86_64
MariaDB 版本:5.5.56-2.el7
PHP 版本:5.4.16-42.el7
2> 安装,同时监控本机因此本机也安装 agent
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
yum install httpd mariadb mariadb-server mariadb-client php php-mysql
yum install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
3> 数据库初始化,<root_password> 替换成真实 root 密码,<password> 使用数据库 zabbix user 新密码
shell> mysql -uroot -p<root_password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
# zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix
4> 修改 zabbix_server.conf 中数据库配置,其他配置信息详解请参考另一篇文章:Zabbix Server 端配置文件说明
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
5> 修改 zabbix 前端配置文件中 PHP 相关信息,默认已配置,需要设定 timezone。文件路径 /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
6> 启动 zabbix-server
# sudo systemctl start httpd
# sudo systemctl enable httpd
# systemctl start zabbix-server
# systemctl enable zabbix-server
7> 登录 GUI 并完成部署
登陆 zabbix
http://IP/zabbix/
显示的界面
点击 next 会出现检查状态:
点击 next 配置 mysql:
点击下一步。此步出现错误,发现无法连接数据库,最后发现 zabbix 这个数据库中,没有任何数据,检查时加红色的那部分出问题。
next 到最后
默认用户名 / 密码:Admin/zabbix
更多 Zabbix 相关教程集合:
在 Ubuntu 16.04 服务器上安装 Zabbix 3.2 http://www.linuxidc.com/Linux/2017-07/145519.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Zabbix 触发器表达式详解 http://www.linuxidc.com/Linux/2017-03/141921.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
CentOS 7.4 安装 Zabbix 3.4 http://www.linuxidc.com/Linux/2017-09/147202.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147411.htm