简介:
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix特点:
数据收集,灵活的阈值定义,高度可配置的警告,实施绘图,web监控能力,广泛的可视化选项,历史数据存储,容易配置,使用模板,网络发现,快速的web接口,Zabbix API,权限系统,功能齐全且易于扩展的代理,二进制守护进程,为复杂环境准备
zabbix重要组件:
zabbix Server:负责接收Agent发送报告信息的核心组件
Database storage:负责存储所有的配置信息以及收集的数据
web interface:是zabbix的GUI接口
Pxory:属于可选组件,常用于分布式监控环境,可减少Server压力
Agent:部署在被监控的主机上
zabbix进程:
zabbix_agentd:客户端守护进程
zabbix_get:zabbix工具是单独使用的命令
zabbix_sender:用于发送数据给server或者prixy
zabbix_server:zabbix服务端守护进程
zabbix_proxy:zabbix代理守护进程
zabbix_java_gateway:在zabbix2.0之后引入的一个功能
zabbix监控架构:
server-client架构:是zabbix的最简单的架构,监控机,和被监控机之间不经过任何代理,直接在zabbix server和zabbix agent之间进行数据交互,适用于网络比较简单,设备比较少的监控环境。
master-node-client架构:是zabbix最复杂的监控架构,适用于跨网络,跨机房,设备较多的大型环境,每个node同时也是一个server端,node下面可以接proxy,也可以直接接client,node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,当master发生故障或损坏,node可以保证架构的完整性。
server-proxy-client结构:proxy是server,client之间沟通的一个桥梁,proxy本事没有前端,而且其本事并不存放数据,只是将agentd发送的数据暂时存放,而后再提交server,该结构是和master-node-client架构做比较的结构,一般适用于跨机房,跨网络的中型网络架构的监控
一,部署zabbix环境
初始化
[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost ~]# ip a 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:f1:3c:af brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::2821:f437:c2ab:5ca/64 scope link tentative valid_lft forever preferred_lft forever
1,安装MariaDB
[root@localhost ~]# yum install -y mariadb-server mariadb [root@localhost ~]# systemctl start mariadb [root@localhost ~]# mysqladmin -u root password "123456"
2.安装zabbix
[root@localhost ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent
安装zabbix之后需要配置数据库,并赋予权限,增加数据库的安全性
[root@localhost ~]# mysql -u root -p Enter password: MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456'; Query OK, 0 rows affected (0.00 sec)
导入数据库SQL脚本
1. [root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix 2. Enter password:
检查编辑配置文件,指定一下用户密码
1. [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf 2. DBPassword=123456
开启zabbix服务
[root@localhost ~]# systemctl start zabbix-server.service [root@localhost ~]# systemctl start zabbix-agent.service #开启客户端 [root@localhost ~]# systemctl enable zabbix-server.service Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
配置zabbix web接口
[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shangshai [root@localhost ~]# systemctl start httpd
使用web网页安装zabbix服务,使用浏览器登录192.168.2.1/zabbix/setup.php,来安装zabbix服务。
指定数据库配置,在配置数据库中,输入刚刚配置过的mariaDB数据库的用户名,和密码。
傻瓜式下一步就可以,进入登录界面
注: 默认用户名为Admin,默认密码为zabbix
成功进入登录界面
需要提前下载好的simkai.ttf配置文件,配置Zabbix防止中文乱码
[root@localhost ~]# cp /mnt/simkai.ttf /usr/share/zabbix/fonts/ [root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php define('ZBX_GRAPH_FONT_NAME', 'simkai');
二,Zabbix添加被监控设备
一,zabbix监控Linux服务器
[root@localhost ~]# yum -y install zabbix-agent
修改agent的配置文件/etc/zabbix/zabbix_agentd.conf。指定Server与ServerActive配置项指定zabbix服务器地址。
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf Server = 192.168.2.1 ServerActive = 192.168.2.1 Hostname = linux-server001
开启agent服务器,默认端口为10050,如果开启防火墙,需要开放响应端口
[root@localhost ~]# systemctl start zabbix-agent.service [root@localhost ~]# netstat -anpt | grep "agent" tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 14766/zabbix_agentd tcp6 0 0 :::10050 :::* LISTEN 14766/zabbix_agentd [root@localhost ~]#
在zabbix服务器上添加主机,配置--》主机--》创建主机--》添加主机名为”linux-server001“,群组为”Linux servers“的主机。
选择模板界面,模板选择”Template OS Linux“,点击添加按钮,完成主机添加
查看"ZBX"为绿色,表示添加成功
二,Zabbix监控Windows服务器
在windows服务器上安装agent程序,在windows客户端压缩包zabbix_agents_3.2.0.win.zip压缩。
修改配置项:
Server=192.168.2.1
ServerActive=192.168.2.1
Hostname=windows-server001
到zabbix服务器上添加主机
选择模板界面,模板选择为”Template OS Windows“ ,单击添加按钮,完成
查看是否连接成功,查看ZEX是否显示为绿色,要等待一段时间,刷新网页
三,zabbix监控网络设备
首先要配置你要管理的网络设备,我这里以路由器为例,需要配置地址,开启SNMP协议,才可以进行连接
R1# config #进入全局模式 R1(config)#interface f0/0 #进入接口 R1(config-if)#ip add 192.168.2.100 255.255.255.0 #配置IP地址和子网掩码 R1(config-if)#no shu #激活端口 R1(config-if)#exit #返回上一种模式 R1(config)#no ip routing #关闭三层的路由模式 R1(config)#snmp-server community centos RO #设置被服务器轮询的只读共同体 R1(config)#snmp-server enable traps config #允许发送trap消息 R1(config)#snmp-server host 192.168.2.100 centos #设置发送trap消息的共同体
配置主机--》填写主机名称--》添加群集网络设备--》设置SNMP接口
添加模块” Template Module interfaces SNMPv1 “
添加宏,设置{$SNMP_TIMEOUT}宏,设置为可用值与上面配置路由器的trap消息的共同体相同。
查看配置成功,SNMP为绿色