zabbix监控简介


Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。


优点:

开源,无软件成本投入

Server 对设备性能要求低

有图形的web配置界面,配置简洁

支持设备多,自带多种监控模板

支持分布式集中管理,有自动发现功能,可以实现自动化监控

开放式接口,扩展性强,插件编写容易

Api 的支持,方便与其他系统结合

当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。


缺点:

需在被监控主机上安装agent。

所有数据都存在数据库里,产生的数据很大,瓶颈只要在数据库。


zabbix的安装


本次部署环境为centos7.6,zabbix版本为3.4,服务端ip为192.168.11.11,agent端为192.168.11.112


#下载安装官方yum源
yum -y install wget
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install -y zabbix-release-3.4-2.el7.noarch.rpm

安装好之后更新一下yum仓库可以看到

[root@server ~]# yum repolist

image.png

安装所需的软件

[root@server ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql


安装设置数据库


yum install -y mariadb-server mariadb

#编辑配置文件
[root@server ~]# vim /etc/my.cnf.d/server.cnf
    [mysqld]
    skip_name_resolve = ON          #跳过主机名解析
    innodb_file_per_table = ON      
    innodb_buffer_pool_size = 256M  #缓存池大小
    max_connections = 2000          #最大连接数
    log-bin = master-log            #开启二进制日志
    
#启动数据库
[root@server ~]# systemctl restart mariadb

#创建数据库并授权账号
#创建一个名为zabbix的数据库,账号名为zbxuser,密码为keer
MariaDB [(none)]> create database zabbix character set 'utf8';
MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'192.168.11.%' identified by 'keer';
MariaDB [(none)]> flush privileges;            #刷新权限表

导入所需要的表

首先,我们来查看一下,zabbix-server-mysql这个包提供了什么

[root@server ~]# rpm -ql zabbix-server-mysql

image.png

[root@server ~]# cp /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz ./
[root@server ~]# gzip -d create.sql.gz
[root@server ~]# mysql -uzbxuser -h192.168.37.111 -p zabbix < create.sql 
Enter password:    #密码为keer

导入数据后,进入数据库查看

[root@server ~]# mysql -uzbxuser -h192.168.37.111 -p
MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> show tables;

image.png

到这里,可以看出我们的数据已经导入成功了。


配置server端

[root@server ~]# cd /etc/zabbix/
[root@server zabbix]# cp zabbix_server.conf{,.bak}  #备份配置文件
[root@server zabbix]# vim zabbix_server.conf
ListenPort=10051                            #默认监听端口
SourceIP=192.168.11.11                      #发采样数据请求的IP
LogFile=/var/log/zabbix/zabbix_server.log   #日志存放路径
LogFileSize=0                               #日志的论滚
DBHost=192.168.11.11        #数据库对外的主机
DBName=zabbix               #数据库名称
DBUser=zbxuser              #数据库用户
DBPassword=keer             #数据库密码
DBPort=3306                 #数据库启动端口

配置好文件,启动服务

[root@server zabbix]# systemctl start zabbix-server.service

开启服务以后,确认一下端口有没有开启

[root@server zabbix]# ss -nutl |grep 10051

image.png

如果查到的端口没有开启,等待一会,再不行的话就要去检查一下配置文件有没有出问题了


查看 web GUI 的配置文件

cat /etc/httpd/conf.d/zabbix.conf

image.png


时区设置


时区是一定要设置的,这里被注释掉是因为,我们也可以在php的配置文件中设置时区,如果我们在php配置文件中设置时区,则对所有的php服务均有效,如果我们在zabbix.conf中设置时区,则仅对zabbix服务有效。所以,我们去php配置文件中设置我们的时区

vim /etc/php.ini

image.png

设置好时区后启动httpd服务

[root@server ~]# systemctl start httpd


浏览器访问并进行初始化设置


浏览器访问http://192.168.11.11/zabbix,出现以下界面,然后按照提示操作即可

image.png

image.png

image.png

image.png

image.png

下一步进入登陆页面,默认用户名为:admin,密码为:zabbix

登陆进来就可以看到我们的仪表盘了

image.png


配置agent端


当我们把监控端配置启动以后,我们需要来设置一下我们的监控端,我们在被监控的主机安装好agent,设置好他的server,并把他添加到server端,就能将其纳入我们的监控系统中去了。


#安装zabbix
[root@node1 ~]# wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@node1 ~]# yum install -y zabbix-release-3.4-2.el7.noarch.rpm
[root@node1 ~]# yum install zabbix-agent zabbix-sender -y
[root@node1 ~]# cd /etc/zabbix/
[root@node1 ~]# cd /etc/zabbix/
[root@node1 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@node1 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@node1 zabbix]# vim zabbix_agentd.conf
Server=192.168.11.11       #指明服务器是谁的
ListenPort=10050            #自己监听的端口
ListenIP=0.0.0.0            #自己监听的地址,0.0.0.0表示本机所有地址
StartAgents=3               #优化时使用的
ServerActive=192.168.11.11 #主动监控时的服务器
Hostname=node1.keer.com     #自己能被server端识别的名称
[root@node1 zabbix]# systemctl start zabbix-agent.service   #启动服务

image.png

查看到端口表明安装成功


到此,服务端和agent端均安装成功!