这篇文章主要对zabbix有一个全面且简单的了解
一.理论概述
zabbix功用
- 检测功能强大,手机监控信息,以及实时绘图(理论上实时绘图,测试时还是有时间延迟的),可以监控的比较全面,可以是windows或Linux服务器,也可以是网络设备,市面上大部分网络设备都支持SNMP(简单网络管理)协议
运行条件
-
zabbix server即监控端运行基本条件LAMP,相对来说,对硬件要求比较低(也可LNMP)
-
agent被监控端,安装zabbix agent软件包,而且基本市面上常见的设备
缺点
- 开源软件,免费版没有厂家支持,文献参观资料是比较多的,使用的企业也比较广泛
- 所有数据都在数据库里,会在数据库层面比较容易产生瓶颈
zabbix组件
- zabbix server:接受agent发送的报告信息,操作数据存储到数据库,以及如何绘图等.
- database storage:存储所有配置信息,以及监控的数据
- proxy:可选组件,用于监控节点很多,可以有效减轻server的压力
- agent:部署在被监控端,收集信息发往server端
- web interface:zabbix的GUI接口
监控流程概述
- agent定期收集各项数据,发送到server端,server将数据先存储到数据库,zabbix web根据数据在前端进行绘图展现
- agent监控模式
- 主动模式:agent主动向server请求,主动 将监控项内需要检测的数据提交给server端
- 被动模式:只要当server向agent请求获取监控项的数据时,agent返回数据
二.部署测试
环境
- 要求所有服务器配置yum epel源,且能上网,本案例演示部署配置zabbix,并且配置邮件报警
主机名 | IP地址 | 角色 |
---|---|---|
zserver | 192.168.111.3 | 负责监控所有主机,并处理数据 |
agent | 192.168.111.4 | 被监控端 |
[root@zserver ~]# uname -n
zserver
[root@agent ~]# uname -n
agent
部署
- 依赖包及LAMP部署
[root@zserver ~]# yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel
[root@zserver ~]# systemctl enable mariadb
[root@zserver ~]# systemctl start mariadb
[root@zserver ~]# systemctl start httpd
[root@zserver ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zserver ~]# mysqladmin -uroot password 123456
- 部署二进制包jdk
rm -rf /usr/bin/java
tar zxf jdk-8u191-linux-x64.tar.gz -C /usr/local/java8
echo "JAVA_HOME=/usr/local/java8" >> /etc/profile
source /etc/profile
echo "PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
source /etc/profile
[root@zserver ~]# javac -version
javac 1.8.0_191
- 安装rpm包zabbix
rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#下载源
yum clean all
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#安装Zabbix server,Web前端,agent
- 数据库进行授权
[root@zserver ~]# mysql -u root -p123456
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 5
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]>
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#给zabbix程序创建专用库,默认字符集为utf8
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@zserver identified by '123456';
#给zabbix用户授权
MariaDB [(none)]> grant all on zabbix.* to zabbix@'192.168.111.3' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
#给zabbix_server启动授权
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
- 导入初始架构和数据到zabbix库中
[root@zserver ~]# zcat /usr/share/doc/zabbix-server-mysql-3.0.27/create.sql.gz | mysql -u zabbix -p123456 zabbix
#zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
…………
- 为Zabbix server配置数据库
[root@zserver ~]# vim /etc/zabbix/zabbix_server.conf
114 DBPassword=123456
- 现将本机性能进行监控
[root@zserver ~]# vim /etc/zabbix/zabbix_agentd.conf
95 Server=127.0.0.1
#哪台主机可以对我进行监控
136 ServerActive=127.0.0.1
#开启主动检查
147 Hostname=zserver
#zabbixserver的主机名
- zabbix前端配置PHP
[root@zserver ~]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai
#取消注释,设置时区
- 启动zabbix server、agent进程
[root@zserver ~]# systemctl restart zabbix-server.service zabbix-agent.service
[root@zserver ~]# systemctl enable zabbix-server.service zabbix-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@zserver ~]# systemctl restart httpd
web安装zabbix
输入:http://192.168.111.3/zabbix
==>next step
==>Database host
填写数据库所在服务器的主机名,和配置文件里对应好的;往下依次为端口,数据库库名称,用户,密码
==>输入主机名和端口(自己定义的)
搭建已经成功
优化
实在是做不下去了,官方推荐的方法有点不舒服
总结
- 我用源码安装zabbix测试时好好地,速度什么都还行,用了官网推荐的方式,特别慢,也不知道是不是少配置了一些东西
- zabbix监控有时间延时,基本不可能得到完全解决
- zabbix监控监控涵盖的太全面了,很多被监控项,有时不能得到具体的值,但是可以定义一些代表值来获取监控信息