一、什么是Zabbix?


zabbix由AlexeiVladishev首先开发,目前在维护的是Zabbix SIA。ZABBIX是一个企业级的开源分布式监控解决方案。

zabbix为监控网络和服务器的健康和完整提供了很多参数。使用一个灵活的通知机制,允许用户配置基于email的报警,几乎支持所有的事件。这可以快速的反应服务器的问题。zabbix基于存储的数据提供了极好的报告和数据可视化特性。这使得zabbix容量很好的规划。
zabbix支持轮循和捕获。所有zabbix的报告和数据以及配置参数,都是基于一个web前端界面。一个基于web的界面可以确保网络的状态和服务器的健康状态可以从任何地址获知。  适当的配置,zabbix在监控ip基础设施起到一个很重要的角色。
世界各地的组织使用zabbix作为主要的监控平台。

二、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(二) : 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
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time
php_value always_populate_raw_post_data -
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(一) : 简介以及Server端安装的更多相关文章

  1. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  2. zabbix 3.2.2 server端(源码包)安装部署 (一)

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  3. 2.Bacula Server端安装配置

    1.  Bacula Server端安装配置 1.1.  Bacula Server端安装 1.1.1.  安装bacula依赖包 For Centos6: yum install -y mysql ...

  4. Zabbix实战-简易教程(4)--Server端安装

    在数据库安装完成后,接着开始安装server端了.我们这里采用yum安装. 3.2.0 安装需求 ● PHP 5.6.18 ● curl 7.47.1 ● zabbix_server (Zabbix) ...

  5. zabbix server 端安装

    1.系统环境 [root@crazy-acong ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@crazy-acong ~] ...

  6. Centos6.5 Zabbix3 server端安装(一)

    一.准备阶段: 1.>关闭防火墙 /etc/init.d/iptables stop 2.>关闭selinux vim /etc/selinux/config SELINUX=disabl ...

  7. zabbix 3.2.2 server端添加客户端主机配置 (四)

    一.添加主机 主机是Zabbix监控的基本载体,所有的监控项都是基于主机的,那么我们如何来添加一台被监控的主机呢? 1.首先要在被监控的主机上安装好zabbix_agent服务,并可以正常启动zabb ...

  8. 详解zabbix安装部署(Server端篇)

    原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...

  9. 详解zabbix安装部署(Server端篇) (转)

    Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...

随机推荐

  1. ADO.NET中SQL Server数据库连接池

    连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...

  2. c89和c99中/运算符和%运算符为负数时的区别

    运算式 -8 / 5 = -1.6,在C89中取值为 -1 或 -2,C99的出现,CPU对除法的结果向零取整,上述运算式结果为 -1. 在C89和C99中都要确保 (a / b) * b + a % ...

  3. java8 去掉 perm 用 Metaspace 来替代

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt266 正如大家所知,JDK 8 Early Access版已经提供下载.这使 ...

  4. 为什么说汽车VIN码是汽车唯一的"身份证"

    人有身份证,那么车有吗?当然了,汽车也是有"身份证"的,出厂时就会跟着车辆一起出生, 一般在车辆的挡风玻璃处.按照国际SAE国际规定,Vin码由17位字符组成,其中包含了车辆的生产 ...

  5. Beta版本冲刺计划安排

    1.介绍小组新加入的成员,Ta担任的角色 王婧:web界面以及前端和后台的交互 柯怡芳:PM以及文档 陈艺菡:修复bug以及文档 钱惠:web界面以及前端和后台的交互 林凯:测试人员 吴伟君(新成员) ...

  6. 201521123066《Java程序设计》第七周学习总结

    第7周-集合 本周学习总结 其他注意点: (1)List主要特征: 其元素以线性方式存储 集合中允许存放重复对象 (2)Set中的对象: 不按特定方式排序 没有重复对象 Set最多有一个null元素 ...

  7. 201521123060 《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.object是所有类的父类: 2.继承的作用:抽取共同特征,复用代码: 3.设计类的继承 ...

  8. 201521123097《Java程序设计》第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  9. Java第十一周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  10. ThinkPHP空操作及命名空间

    空操作是指访问不存在的路径: 解决方法:在控制其中创建 _empty方法 空控制器是指访问存在的控制器: 解决方法:创建EmptyController控制器 命名空间: 初识命名空间是Library: ...