企业级分布式开源监控Zabbix平台的搭建
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级分布式开源监控Zabbix平台的搭建相关的知识,希望对你有一定的参考价值。
什么是Zabbix?
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix 是一个高度成熟完善的网络监控解决方案,一个的软件包中包含了多种功能。
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。
Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。
这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。
Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。
基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。
适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。
Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。Zabbix公司还为全球用户提供专业的技术支持服务 。
Zabbix的架构
Zabbix 由几个主要的功能组件组成,其功能介绍如下所示。
Server
Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库。
数据库
所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。
Web 界面
为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
Proxy
Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。
Agent
Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
数据流
另外,回过头来整体的了解下 Zabbix 内部的数据流对Zabbix的使用也很重要。首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,在任务的另外一端,必须要有监控项才能创建触发器(trigger),必须要有触发器来创建动作(action)。因此,如果您想要收到类似“X个server上CPU负载过高”这样的告警,您必须首先为 Server X 创建一个主机条目,其次创建一个用于监控其 CPU的监控项,最后创建一个触发器,用来触发 CPU负载过高这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,实际操作非常简单。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。
Zabbix的工作流程
(1)Agent获取被监控端数据,发送给Server。
(2)Server记录所接收到的数据,存储在Database中并按照策略进行相应操作。
(3)Web Interface将收集到的数据和操作信息显示给用户。
Zabbix平台的搭建
为了后续zabbix的不断完善需要创建三个虚拟机(用的rh7.6版本的OS)
三台虚拟机主机名/ip/角色如下所示:
server1 192.168.122.11 zabbix-server,zabbix-web,mariadb-server监控方
server2 192.168.122.12 zabbix-agent(1)被监控方
server3 192.168.122.13 zabbix-agent(2)被监控方
##为了方便,可以在真机ssh连接虚拟机
在真机共享zabbix软件仓库
真机操作(真机ip:192.168.122.1):
将zabbix的软件包在的目录放到apache的默认发布目录下
下图4.0就是我的软件包在的目录
server1端操作:
[root@server1 yum.repos.d]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# vim zabbix.repo
[root@server1 yum.repos.d]# cat zabbix.repo
[zabbix]
name=zabbix
baseurl=http://192.168.122.1/4.0
gpgcheck=0
列出包里所有zabbix的软件
[root@server1 yum.repos.d]# yum list zabbix-*
各软件包的作用:
zabbix-agent.:zabbix客户端,用来收集客户端各种参数
zabbix-get:zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装)
zabbix-java-gateway:用于监控JMX应用的程序,它把收集到的信息发送给zabbix-server(这个看需求安装,我暂时没装)
zabbix-proxy:zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现了集中式、分布式监控。
zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。
zabbix-sender:用于发送数据给server或者proxy。
zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和php,mysql等之间的依赖关系。
zabbix-web-mysql:这个是zabbix前段支持mysql的
zabbix-web-japanese:支持日语
下载搭建zabbix所需的组件
安装zabbix-server服务、zabbix-web服务、数据库服务(这三个是整个zabbix的一套东西)
[root@server1 yum.repos.d]# yum install -y zabbix-server-mysql.x86_64 zabbix-agent.x86_64 zabbix-web-mysql.noarch
[root@server1 yum.repos.d]# yum install -y mariadb-server
[root@server1 yum.repos.d]# systemctl enable --now mariadb.service ##开启数据库服务
如果在下载时出现缺少依赖项的情况可以在http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/x86_64/这个网站找到
配置数据库并导入数据
先对数据库进行安全初始化
[root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password: ##这步输入你想用的root用户密码
Re-enter new password: ##之后的问题一直输入Y即可
Password updated successfully!
Reloading privilege tables..
... Success!
登录数据库创建库及用户
[root@server1 ~]# mysql -proot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; ##创建zabbix库
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'zabbix'; ##创建zabbix用户
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost'; ##给zabbix用户授予所有权限
MariaDB [(none)]> quit ##退出数据库
将数据导入数据库中
[root@server1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | mysql -uzabbix -pzabbix zabbix
配置zabbix
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# ls
[root@server1 zabbix]# vim zabbix_server.conf
将密码改为自己上面步骤设置的密码
[root@server1 ~]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# ls
[root@server1 conf.d]# vim zabbix.conf
将时区改为亚洲上海
开启zabbix-server
开启服务
[root@server1 conf.d]# systemctl enable --now httpd
[root@server1 conf.d]# systemctl enable --now zabbix-server.service
[root@server1 conf.d]# cat /var/log/zabbix/zabbix_server.log
##查看日志没有错误
浏览器访问
http://192.168.122.11/zabbix/
正常界面如下图所示
一直下一步,到如下图界面时输入前面我们设置的密码(我设置的zabbix)
下图界面输入内容如图所示,可以随便起
这个界面注意要使用管理员账号登录
用户名:Admin 密码:zabbix
出现下图界面则zabbix的初步搭建已经完成了!
将界面调整成中文的方便阅读,点击右上角的用户标识
按下图选择,更新
界面就是中文的了!
让Zabbix监控自己的服务器
点击配置-主机可以看到sever的状态是红的,因为我们还没有开启zabbix-agent,可用性ZBX表示对自己的监控还没有开启,要监控自己,首先要安装被监控的服务zabbix-agent(开始已经安装过了)。
[root@server1 zabbix]# systemctl enable --now zabbix-agent.service
[root@server1 zabbix]# netstat -antlp | grep 10050
如下图所示
过一会刷新页面会看到已经变绿了
监控自己成功!
以上是关于企业级分布式开源监控Zabbix平台的搭建的主要内容,如果未能解决你的问题,请参考以下文章