zabbix安装与部署

一、Zabbix简介

1.zabbix简介

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 由 server、agent、web、proxy 以及 db 组成。
其中:
server:是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。
agent:部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
web:为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。
proxy:可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。主要体现分布式特点。
db:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
这里写图片描述

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
Zabbix 通过 C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过SNMP方式采集数据
Server 端:通过收集SNMP和agent发送的数据,写入数据库(MySQL,ORACLE等),再通过 php+apache 在 web 前端展示。

zabbix的主要特点:

      - 安装与配置简单,学习成本低
      - 支持多语言(包括中文)
      - 免费开源
      - 自动发现服务器与网络设备
      - 分布式监视以及WEB集中管理功能
      - 可以无agent监视
      - 用户安全认证和柔软的授权方式
      - 通过WEB界面设置或查看监视结果
      - email等通知功能

Zabbix主要功能:

     - CPU负荷
     - 内存使用
     - 磁盘使用
     - 网络状况
     - 端口监视
     - 日志监视

1.1 Zabbix运行条件:

  Server:Zabbix-Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。

  Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。

  SNMP:支持各类常见的网络设备

1.2 Zabbix功能

具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘 制) 支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。

1.3 优劣势

优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。

缺点:中文资料较少。

默认的用户名为 admin,密码是zabbix

使用 zabbix 进行监控之前,要理解zabbix监控的流程。

一次完整的监控流程可以简单描述为:

Host-Groups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控 项)->Triggers(触发器)->Actions(告警动作)->Medias(告警方式)->User Groups(用户组)->Users(用户)

1.Server

zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。

2.Agent

部署在被监控主机上用于监控本地资源和应用并向zabbix-server汇报结果。使用本地系统调用故非常高效。
有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表再检 测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。angentd 的作用就是获取 host 数据,然后将收集到的数据发送给 server(主动模式)。或者是server 主动来拿取数据(被动模式)。

3.Proxy

可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。

host

需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等

host group

被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制

item

需要被监控的项,如CPU空闲率、某一块磁盘的使用率等

trigger

用于评估收到的监控值是否超出设定的阈值的逻辑表达式

event

如trigger状态改变等值得注意的事件

action

预先定义的响应event的一系列operations

escalation

执行action中的operations的定制场景;一连串的发送通知、执行远程命令

media

传递notification的方式

notification

通过media发送给用户的关于某个event的消息

remote command

在被监控机器上触发并自动执行的预定义命令

template

用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applications, low-level discovery rules

application

逻辑组中的一组items

web scenario

一个或多个HTTP request用以检查web站点可用性

frontend

zabbix的web界面

zabbix api

允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务

zabbix server

zabbix核心,履行监控,与zabbix proxies、zabbix client交互、计算trigger、发送notification、存储数据等任务

zabbix agent

部署在被监控主机上用于监控本地资源和应用

zabbix proxy

可代zabbix server收集数据分担处理负载

二、Zabbix的安装与部署

实验环境:

server11:172.25.51.11(rhel7.3版本)作为Zabbix server

server12:172.25.51.12(rhel6.5版本)作为Zabbix agent

server11/12的DNS解析:

[root@server11 ~]# vim /etc/hosts
172.25.51.11 server11
172.25.51.12 server12

详细配置如下:

Zabbix server端:

1.安装zabbix及依赖性

iksemel-1.4-2.el7.centos.x86_64.rpm 
zabbix-agent-3.4.6-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm  
zabbix-web-3.4.6-1.el7.noarch.rpm
zabbix-web-mysql-3.4.6-1.el7.noarch.rpm     
fping-3.10-1.el7.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm 
php-mbstring-5.4.16-42.el7.x86_64.rpm

2.安装并配置数据库

[root@server11 ~]# yum install -y mariadb-server
[root@server11 ~]# systemctl start mariadb
[root@server11 ~]# mysql_secure_installation
[root@server11 ~]# mysql -uroot -pwestos
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';

3.配置zabbix

[root@server11 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@server11 zabbix-server-mysql-3.4.6]# zcat create.sql.gz | mysql -uzabbix -p zabbix
Enter password:       ##键入密码,等待,不要Ctrl+c
[root@server11 zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@server11 zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
[root@server11 zabbix]# vim zabbix_server.conf 
125 DBPassword=westos              ##数据库密码
133 DBSocket=/var/lib/mysql/mysql.sock   ##连接数据库的sock

这里写图片描述

[root@server11 zabbix]# cd /etc/httpd/conf.d/
[root@server11 conf.d]# vim zabbix.conf  ##时区
 19         php_value date.timezone Asia/Shanghai
[root@server11 conf.d]# systemctl restart zabbix-server zabbix-agent httpd
[root@server11 conf.d]# systemctl enable zabbix-server zabbix-agent httpd

4.访问http://172.25.51.11/zabbix,进行监控项配置即可

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


注意:初始帐号密码

帐号:Admin
密码:zabbix


Zabbix agent端:

1.安装zabbix agent

[root@server12 ~]# rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm 

2.配置zabbix agent

[root@server12 ~]# vim /etc/zabbix/zabbix_agentd.conf 
 97 Server=172.25.51.11
138 ServerActive=172.25.51.11
149 Hostname=server12
[root@server12 ~]# /etc/init.d/zabbix-agent start

这里写图片描述
查看日志报错:

[root@server12 zabbix]# tail -f /var/log/messages 
  • 1

这里写图片描述

3.添加zabbix agent

配置—>主机—>创建主机—>模板—>更新
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/chao199512/article/details/81697359