Zabbix——Zabbix的安装和基本配置

Posted 0611#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix——Zabbix的安装和基本配置相关的知识,希望对你有一定的参考价值。

什么是Zabbix?

Zabbix是一个用于网络,操作系统和应用程序的开源监控软件,它旨在监视和跟踪各种网络服务,服务器和其他网络硬件的状态。

Zabbix简介

  • 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集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能

Zabbix主要功能

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

Zabbix架构中的组件

  • zabbix-server: C语言
  • zabbix-agent: C语言
  • zabbix-web:GUI,用于实现zabbix设定和展示,php开发
  • zabbix-proxy: 分布式监控环境中的专用组件

Zabbix监控流程

一个监控系统运行的大概的流程是这样的:

  • agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:
  • 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
  • 被动:server向agent请求获取监控项的数据,agent返回数据
  • 主动模式:由Agent主动建立TCP链接并向Server端发送请求。
  • 被动模式:由Server建立TCP链接并向Agent端发送请求。

一个完整的监控系统所需指标

  • 采样:周期性的获取某个被监测指标的相关数据
  • 存储:将采集到的数据存储在指定的存储系统中,Zabbix默认是mysql
  • 对于数据的存储可分为两大类:
  • 历史数据:可理解为过去某一时间点的数据
  • 趋势数据:可理解为过去某一段时间的数据
  • 展示:采集完数据后,为了使数据能更直观的展现在用户面前,可将采集到的数据做二次处理,做成各类图形。Zabbix就是使用的PHP程序将采集的数据通过Web GUI直观的展示给用户。
  • 报警:当监控的指标出现异常时需要监控系统能自动的发出告警信息,甚至在出现报警后能自动完成修复。

Zabbix-Server安装

一、环境准备

Zabbix-ServerIP地址: 192.168.100.60/24
[root@zabbix-server ~]# systemctl stop firewalld        #关闭防火墙
[root@zabbix-server ~]# systemctl disable firewalld     #设置开机不启动
[root@zabbix-server ~]# setenforce 0                    #关闭selinux

二、Zabbix官网:Zabbix官方下载地址

选择5.0LTS版本(长期支持版)

三、安装Zabbix存储库

[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix-server ~]# yum clean all

安装完成后进入repo路径检查zabbix的repo源是否安装成功

#进入zabbix存储库文件进行修改
[root@zabbix-server yum.repos.d]# vim zabbix.repo  
#在vim的末行模式进行替换
:% s#http://repo.zabbix.com/#https://mirrors.tuna.tsinghua.edu.cn/zabbix/#g

四、安装Zabbix服务器和代理

目的:与对方服务器客户端进行对接,同时也要监控自己

[root@zabbix-server ~]# yum -y install zabbix-server-mysql zabbix-agent
#zabbix-server-mysql:数据库  zabbix-agent:代理程序(上报信息的程序)

五、安装Zabbix前端软件集

启用Red Hat软件集合

[root@zabbix-server ~]# yum -y install centos-release-scl

六、安装Zabbix前端包

[root@zabbix-server ~]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
#zabbix前台页面

七、创建初始数据库

确保数据库服务器已启动并正在运行

#安装数据库
[root@zabbix-server ~]# yum -y install mariadb-server
[root@zabbix-server ~]# systemctl enable mariadb       #设置开机自启动
[root@zabbix-server ~]# systemctl start  mariadb       #开启数据库

安装完成后确定端口号检查3306端口是否开启
安装完成后输入mysql可以直接进入数据库

注意:此时数据库没有密码保护属于“裸奔状态”,我们需要设置密码

[root@zabbix-server ~]# mysqladmin -uroot password '123456' #为数据库设置密码123456
[root@zabbix-server ~]# mysql -uroot -p #登陆数据库输入密码123456进入数据库

#进入数据库后在数据库主机上运行以下代码
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; #创建zabbix数据库携带字符集
MariaDB [(none)]> create user zabbix@localhost identified by 'password';      #创建用户并设置密码
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;       #授权
MariaDB [(none)]> flush privileges;                                           #刷新数据库
MariaDB [(none)]> quit;                                                       #退出

八、导入初始架构和数据(初始化zabbix)

  • 刷新时注意自己的zabbix系统版本
  • 然后根据系统提示输入新创建的密码
[root@zabbix-server ~]# ls /usr/share/doc/zabbix-server-mysql* -d                                                     #注意版本号的问题先查看自己的数据库版本
/usr/share/doc/zabbix-server-mysql-5.0.12
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.12/create.sql.gz | mysql -uzabbix -p zabbix     #密码为我们刚才设置的password

九、为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

[root@zabbix-server ~]# cp /etc/zabbix/zabbix_server.conf  /etc/zabbix/zabbix_server.conf.backup  #习惯性备份主配置文件
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf #进入配置文件
#找到 #DBHost=localhost删除注释
DBHost=localhost     #如果使用了分离部署数据库在别的地方那么需要写入数据库的所在主机地址

#找到 [# DBPassword=]
DBPassword=password  #为数据库添加密码

十、为Zabbix前端配置PHP

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

取消注释并为您设置正确的时区

#找到被分号注释掉的末行; php_value[date.timezone] = Europe/Riga
php_value[date.timezone] = Asia/Shanghai        #修改为亚洲/上海

十一、启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启

[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm # 重启zabbix服务
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm #设置为开机自启

十二、检查端口

10051为服务器端口
10050为代理端口

十三、配置Zabbix前端

#连接到新安装的Zabbix前端 
#在浏览器输入服务器IP地址以及zabbix
192.168.100.60/zabbix/

进入主页面显示zabbix5.0向导

注:进入之后右边一栏必须全部绿色的OK才能继续操作


完成配置前的最后确认


安装完成

十四、解决语言问题

  • 进入User settings
  • 编辑用户基本资料语言选chinese(zh_CN)
  • 点击Update完成配置中文

十五、解决中文乱码

[root@zabbix-server ~]# yum -y install wqy-microhei-fonts #微软雅黑
[root@zabbix-server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc  /usr/share/zabbix/assets/fonts/graphfont.ttf

Zabbix-Agent 安装

一、环境准备

Zabbix-ServerIP地址: 192.168.100.61/24
[root@zabbix-agent01 ~]# systemctl stop firewalld        #关闭防火墙
[root@zabbix-agent01 ~]# systemctl disable firewalld     #设置开机不启动
[root@zabbix-agent01 ~]# setenforce 0                    #关闭selinux

二、准备zabbix的repo源

[root@zabbix-agent01 ~]# scp 192.168.100.60:/etc/yum.repos.d/zabbix.repo /etc/yum.repos.d    #将sever服务器的zabbix.repo源复制到agent服务器上

习惯性的检查一下

[root@zabbix-agent01 ~]# yum clean all
[root@zabbix-agent01 ~]# yum repolist

三、安装zabbix-agent

[root@zabbix-agent01 ~]# yum -y install zabbix-agent

四、配置主服务器地址

[root@zabbix-agent01 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.backup #备份主配置文件
[root@zabbix-agent01 ~]# vim /etc/zabbix/zabbix_agentd.conf
#找到Server=127.0.0.1 将其修改为192.168.100.60对应zabbix-server服务器地址或注释掉再输入如果监控服务器多那么可以同时对应多台zabbix服务器以“,” 隔开不同的zabbix监控服务器 (此行为被动模式)
Server=192.168.100.60
#找到ServerActive=127.0.0.1 将其修改为192.168.100.60 (此行为主动模式或意为谁从我这里采集数据)
ServerActive=192.168.100.60
#找到Hostname=Zabbix server 将其修改为zabbix-agent(这台主机在zabbix上叫什么)或使用$HOSTNAME
Hostname=zabbix-agent

五、启动zabbix-agent :10050

[root@zabbix-agent01 ~]# systemctl start zabbix-agent
[root@zabbix-agent01 ~]# systemctl enable zabbix-agent  #启动agent 

注:如果启动失败那么第四步配置文件写错了

检查: 找到10050端口

安装配置完成后的测试

#在zabbix-server服务器端安装zabbix-get命令
[root@zabbix-server01 ~]# yum -y install zabbix-get
[root@zabbix-server01 ~]# zabbix_get -s 192.168.100.61 -k system.uname                #get:获得 -s:目标 获取对方主机名
Linux zabbix-agent 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64
[root@zabbix-server01 ~]# zabbix_get -s 192.168.100.61 -k system.cpu.load[all,avg15]  #获取对方主机在15分钟内cpu的平均负载
0.050000

Zabbix的基础配置

注:这里重新配置了环境,以上的192.168.100.60=现在的192.168.100.25
192.168.100.61=现在的192.168.100.26

一、创建主机
二、添加agent模板能够自动识别

总结

届时,监控服务器与被监控服务器之间一个能监控一个能被监控,证明两方的配置是正确而又成功的

  • 总共完成了zabbix监控服务器的部署以及zabbix客户端的部署
  • 并且通过实验证明了两台服务器能够正常进行监控与被监控

以上是关于Zabbix——Zabbix的安装和基本配置的主要内容,如果未能解决你的问题,请参考以下文章

zabbix6.0安装教程:从源代码安装

zabbix6.0安装教程:从源代码安装

Zabbix——Zabbix的安装和基本配置

Zabbix——Zabbix的安装和基本配置

.NET自动安装zabbix客户端(代码)

zabbix监控安装与配置