天猫网站建设分析免费卡盟网站建设
web/
2025/9/26 0:18:34/
文章来源:
天猫网站建设分析,免费卡盟网站建设,精品课程网站建设论文,只做画册的网站目录 1 Zabbix简介1.1 软件架构1.2 版本选择1.3 功能特性 2 安装与部署2.1 时间同步需求2.2 下载仓库官方源2.3 Zabbix-Server服务端的安装2.3.1 安装MySQL2.3.1.1 创建Zabbix数据库2.3.1.2 导入Zabbix库的数据文件 2.3.2 配置zabbix_server.conf2.3.3 开启Zabbix-Server服务2.… 目录 1 Zabbix简介1.1 软件架构1.2 版本选择1.3 功能特性 2 安装与部署2.1 时间同步需求2.2 下载仓库官方源2.3 Zabbix-Server服务端的安装2.3.1 安装MySQL2.3.1.1 创建Zabbix数据库2.3.1.2 导入Zabbix库的数据文件 2.3.2 配置zabbix_server.conf2.3.3 开启Zabbix-Server服务2.3.4 防火墙、SELinux和权限的设置2.3.4.1 防火墙的设置2.3.4.2 SELinux的设置 2.3.5 php.ini配置文件的设置2.3.6 配置Zabbix-Web 2.4 Zabbix-Agent客户端的安装2.4.1 安装Zabbix-Agent2.4.2 防火墙的设置2.4.3 配置zabbix_agentd.conf 1 Zabbix简介 Zabbix是一个企业级的高度集成的开源监控软件提供了分布式监控解决方案可以用来监控设备、服务等的可用性和性能。其产品不分企业版和社区版是一个真正的源码开放产品用户可以自由下载并使用该软件。地址https://www.zabbix.com/cn 从功能上说Zabbix支持多种采集方式和采集客户端有专用的Agent代理也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议它将采集到的数据存放到数据库中可以支持MySQL、Oracle、PostgreSQL、SQLite、Elasticsearch等数据库然后对其进行分析整理达到条件触发告警并支持对告警数据的分析统计。Zabbix具有良好的管理界面。
1.1 软件架构
Zabbix的通用架构采用客户端/服务器端模式分布式架构采用客户端/代理端/服务器端模式Zabbix-Server将采集到的数据持久地存储到数据库中用前端UI友好地展示给用户。
客户端采集数据代理服务器做代理服务器端处理数据的架构模式 Zabbix数据的采集不仅可以使用Agent方式也可以使用其他方式如采用SNMP、SSH、Telnet、IPMI等多种协议。
1.2 版本选择 截图来自官网https://www.zabbix.com/cn/life_cycle_and_release_policy
Zabbix首个发行版本为Zabbix 1.0 alpha1其发行时间为2001年4月7日。随着版本的升级其功能特性也在不断地增强和完善。
1.X版本具备较完备的功能2.X版本增强了很多新的功能特性如对JMX、自动发现、LLDLow Level Discovery、虚拟化功能的原生支持。至此Zabbix在国内逐渐流行2013年前后开始逐渐被大多数公司所接受成为大多数公司首选的监控系统。3.X版本对用户体验进行了优化。随着版本的不断迭代功能持续增强性能逐步提高。
非LTS的版本均为实验版本每6个月发布一个新版本。因此对于生产环境版本的选择我们尽量选择LTS版本可享受长期更新支持服务这样即使出现安全漏洞等问题也会得到更新支持。
1.3 功能特性
Zabbix具有常见的商业监控软件所具备的功能如主机性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制、分布式、可扩展能力、API等。 数据收集 可用性、性能检测。支持Agent、SNMP包括Trapping和Polling、IPMI、JMX、SSH、Telnet等。自定义检测。自定义收集数据的频率。客户端/代理端/服务器端模式。 灵活的触发器 可以定义非常灵活的告警阈值和与多种告警相关联的条件。 高度可定制的告警 发送通知可定制包括告警级别、动作升级、收件人和媒体类型。通知可以使用全局宏变量和自定义变量。自动处理功能包括远程命令的自动调用和执行。 实时的绘图功能 监控项将数据实时绘制在图形上。 Web监控能力 Zabbix可以模拟浏览器请求访问一个网站并检查返回值和响应时间。 多种可视化展示 可以自定义监控的展示图将多种监控数据集中展示到一张图上。网络拓扑图。自定义的Screens和Slide shows可以将多种图形集中展示。报表功能。资源使用情况的监控展示。 历史数据的存储 将数据存储在数据库中。历史数据的存放周期可配置。定期删除过期的历史数据。 配置非常容易 配置比较简单只需要以下两步即可1添加设备。2应用模板即可完成监控。 使用模板 模板可以分组。模板具有可继承性。 网络发现 支持自动发现网络设备和服务器可以通过配置自动发现服务规则实现。Agent自动注册。支持用自动发现Low Level Discovery实现动态监控项的批量监控支持自定义内置的自动发现包括文件系统、网络接口、SNMP OID可定制自动发现。 快速的访问接口 Web页面基于PHP。远程访问。日志审计。 API功能 应用API功能可以方便地与其他系统结合包括手机客户端的使用。 系统权限 不同的用户展示监控的资源不同。用户身份认证。 程序特性 服务器端Zabbix-Server和采集端Zabbix-Agent使用C语言编写其性能非常高内存开销非常小。 大型环境的支持 利用Zabbix-Proxy方式可轻松构建远程监控。
2 安装与部署
软件环境由CentOS 764位、httpd、PHP和MariaDB组成。 由于Zabbix核心组件是用C语言写的所以理论上其可以支持Linux、UNIX、Windows等常见的操作系统但Zabbix-Server和Zabbix-Porxy均不支持Windows系统底层的实现依赖Linux系统的一些特性。在Zabbix 3.0版本以后对其支持最好的CentOS版本为7.0以上版本7.0以下版本的安装和配置均比较麻烦因此不再推荐使用。 注意如果仅仅检测网络服务FTP、SSH、HTTP、DNS、LDAP则无须安装任何客户端即可支持获取监控数据。
2.1 时间同步需求
Zabbix-Server对时间的精准要求比较高时间对数据的计算等都有影响因此必须设置NTP自动同步时间。
[rootlinux30 zabbix]# yum -y install ntp
2.2 下载仓库官方源
访问Zabbix的软件仓库网站网址为http://repo.zabbix.com 安装Zabbix的RPM包软件仓库官方源
[rootlinux30 zabbix]# pwd
/opt/itcast/zabbix
[rootlinux30 zabbix]# ll
总用量 16
-rw-r--r--. 1 root root 13712 2月 23 11:44 zabbix-release-4.0-1.el7.noarch.rpm
[rootlinux30 zabbix]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
警告zabbix-release-4.0-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中... ###################### [100%]
正在升级/安装...1:zabbix-release-4.0-1.el7 ###################### [100%]
[rootlinux30 zabbix]# rpm -ql zabbix-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
/etc/yum.repos.d/zabbix.repo
/usr/share/doc/zabbix-release-4.0
/usr/share/doc/zabbix-release-4.0/GPL
[rootlinux30 zabbix]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
nameZabbix Official Repository - $basearch
baseurlhttp://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled1
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591[zabbix-non-supported]
nameZabbix Official Repository non-supported - $basearch
baseurlhttp://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck1
[rootlinux30 zabbix]#2.3 Zabbix-Server服务端的安装
安装Zabbix-Server服务器端由于服务器端也是需要监控的故这里也一并安装了Zabbix-Agent。
[rootlinux30 zabbix]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
2.3.1 安装MySQL
在CentOS 7系统包仓库安装源中我们需要安装mariadb-server而不是MySQL数据库服务7.0以后的版本用MariaDB替换了MySQL命令如下
[rootlinux30 zabbix]# yum -y install mariadb-server
修改MySQL配置文件
[rootlinux30 zabbix]# vi /etc/my.cnf添加如下内容
[mysqld]
# 设置字符集为UTF-8
character-set-serverutf8
# 让InnoDB的每个表文件单独存储
innodb_file_per_table1
启动服务:
[rootlinux30 zabbix]# systemctl start mariadb
查看服务是否启动成功: 2.3.1.1 创建Zabbix数据库
首先设置MySQL的root用户密码然后创建zabbix数据库设置访问策略.
# 设置root用户密码为123456
[rootlinux30 zabbix]# mysqladmin -uroot password 123456
# 登录MySQL
[rootlinux30 zabbix]# mysql -uroot -p123456
# 创建数据库名称为zabbix并将其字符集设置为UTF-8
MariaDB [(none)] create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 设置zabbix数据库的权限允许用户zabbix的IP地址127.0.0.1和localhost访问
# 并将zabbix账号的密码设置为zabbix
MariaDB [(none)] grant all privileges on zabbix.* to zabbixlocalhost identified by zabbix;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)] grant all privileges on zabbix.* to zabbix127.0.0.1 identified by zabbix;
Query OK, 0 rows affected (0.00 sec)
# 刷新权限使其立即生效
MariaDB [(none)] flush privileges;
Query OK, 0 rows affected (0.00 sec)这里容易出现的问题是如果创建zabbix数据库的字符集不为UTF-8则可能会导致Web界面切换到中文语言时出现乱码。
2.3.1.2 导入Zabbix库的数据文件
导入Zabbix库的数据文件使用以下命令
# 进入对应版本目录
[rootlinux30 zabbix]# cd /usr/share/doc/zabbix-server-mysql-4.0.38/
# 将sql文件解压缩
[rootlinux30 zabbix-server-mysql-4.0.38]# gunzip create.sql.gz
# 以zabbix用户登录
[rootlinux30 zabbix-server-mysql-4.0.38]# mysql -uzabbix -pzabbix -h127.0.0.1
MariaDB [(none)] show databases;
--------------------
| Database |
--------------------
| information_schema |
| test |
| zabbix |
--------------------
3 rows in set (0.00 sec)
# 切换到zabbix数据库
MariaDB [(none)] use zabbix;
Database changed
# 导入sql文件
# create.sql是zabbix源码包中的3个SQL文件的集合即分别为schame.sql(表结构);images.sql(图形相关数据);data.sql(模板相关数据)
MariaDB [zabbix] source /usr/share/doc/zabbix-server-mysql-4.0.38/create.sql
2.3.2 配置zabbix_server.conf
配置zabbix_server.conf文件如下 vi /etc/zabbix/zabbix_server.conf
内容如下
# 日志文件
LogFile/var/log/zabbix/zabbix_server.log
LogFileSize0
PidFile/var/run/zabbix/zabbix_server.pid
SocketDir/var/run/zabbix
# 数据库连接
DBHost192.168.10.30
DBNamezabbix
DBUserzabbix
DBPasswordzabbix
DBPort3306StartPollers100
StartIPMIPollers10
StartPollersUnreachable10
StartTrappers10
StartPingers10
StartDiscoverers10
SNMPTrapperFile/var/log/snmptrap/snmptrap.log
CacheSize256M
HistoryCacheSize128M
TrendCacheSize128M
ValueCacheSize2048M
Timeout30
Timeout4
TrapperTimeout300
# 告警和扩展脚本路径
AlertScriptsPath/usr/lib/zabbix/alertscripts
ExternalScripts/usr/lib/zabbix/externalscripts
LogSlowQueries3000告警和扩展脚本路径可能默认不存在使用以下命令创建目录
[rootlinux30 zabbix]# mkdir -p /etc/zabbix/alertscripts /etc/zabbix/externalscripts
2.3.3 开启Zabbix-Server服务
启动服务
[rootlinux30 zabbix]# systemctl start zabbix-server
[rootlinux30 zabbix]# systemctl start httpd
查看进程 查看日志
[rootlinux30 zabbix]# tail -f /var/log/zabbix/zabbix_server.log
2.3.4 防火墙、SELinux和权限的设置
2.3.4.1 防火墙的设置
如果CentOS操作系统存在防火墙则需要允许相关端口能够访问配置命令如下
[rootlinux30 ~]# firewall-cmd --permanent --add-port80/tcp
# 10050是Agent的端口Agent采用被动方式Server主动连接Agent的10050端口
[rootlinux30 ~]# firewall-cmd --permanent --add-port10050/tcp
# 10051是Server的端口Agent采用主动或Trapper方式会连接Server的10051端口。
[rootlinux30 ~]# firewall-cmd --permanent --add-port10051/tcp
[rootlinux30 ~]# firewall-cmd -reload2.3.4.2 SELinux的设置
如果操作系统已开启SELinux则需要设置语句开启允许SELinux的相关策略。
[rootlinux30 ~]# setsebool -P httpd_can_connect_zabbix on
[rootlinux30 ~]# setsebool -P httpd_can_network_connect_db on
# 获取当前SELinux的运行状态
[rootlinux30 ~]# getenforce
Enforcing
# 设置为告警模式只给出提示不会阻止操作不用重启服务
[rootlinux30 ~]# setenforce 0
直接关闭SELinux的方法
[rootlinux30 ~]# vi /etc/selinux/config
SELINUXdisabled
注意此方式需要重启服务器才能生效。2.3.5 php.ini配置文件的设置
修改php.ini相关配置参数命令如下
[rootlinux30 etc]# vi /etc/php.ini
data.timezone Asia/Shanghai
max_execution_time 300
post_max_size 16M
max_input_time 300
# web页面内存不够用时调节此参数
memory_limit 128M
mbstring.func_overload 0修改zabbix.conf只需要修改date.timezone即可
[rootlinux30 etc]# vi /etc/httpd/conf.d/zabbix.conf
# 修改date.timezone
php_value date.timezone Asia/Shanghai如果在后面配置Web时提示任何参数不满足安装与配置要求则修改对应的参数后重启httpd即可。
2.3.6 配置Zabbix-Web
打开浏览器输入http://IP地址/zabbix会出现欢迎页面。
http://192.168.10.30/zabbix PHP提示的各项参数都满足后可以继续往下进行单击“Next step”按钮。如果提示参数不通过则修改php.ini配置文件并重启Webhttpd服务。
配置数据库连接的各项参数。单击“Next step”按钮进行下一步操作。 Zabbix-Server的连接地址、端口、名称设置将会显示在Zabbix的前端页面中。 这些配置信息将会被写入/etc/zabbix/web/zabbix.conf.php文件中 配置文件生成成功 登录页面默认账户是Admin密码是zabbix 登录成功后的首页 在System information面板中如Zabbix server is running为No则分别检查SELinux、iptables以及zabbix_server.conf和zabbix.conf.php中的各项配置参数
2.4 Zabbix-Agent客户端的安装
通过前面的介绍我们知道Zabbix监控可以采用服务器端/客户端架构其客户端的采集方式分为Agent、SNMP等。在这里我们先学习使用Agent方式对服务器进行监控。
2.4.1 安装Zabbix-Agent
在这里我们对需要进行监控的服务器安装Zabbix-Agent使用RPM包方式进行安装命令如下
# 将rpm包复制到linux31服务器
[rootlinux30 zabbix]# scp zabbix-release-4.0-1.el7.noarch.rpm root192.168.10.31:/opt/itcast/zabbix/
# 安装Zabbix官方yum源
[rootlinux31 zabbix]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
# 安装
[rootlinux31 zabbix]# yum -y install zabbix zabbix-agent2.4.2 防火墙的设置
如果操作系统开启了防火墙为了允许端口能够正常通信则需要使用下列命令进行配置
[rootlinux31 zabbix]# firewall-cmd --permanent --add-port10050/tcp
[rootlinux31 zabbix]# firewall-cmd --reload2.4.3 配置zabbix_agentd.conf
zabbix_agentd.conf是Zabbix-Agent的配置参数文件需要对配置参数进行手动修改。修改的参数如下
[rootlinux31 ~]# egrep -v (^#|^$) /etc/zabbix/zabbix_agentd.conf
PidFile/var/run/zabbix/zabbix_agentd.pid
LogFile/var/log/zabbix/zabbix_agentd.log
LogFileSize0
Server192.168.10.30
ServerActive192.168.10.30
HostnameZabbix server
Include/etc/zabbix/zabbix_agentd.d/*.conf
[rootlinux31 ~]# 参数含义如下。
Server被动模式允许zabbix_server服务器连接客户端此处允许192.168.10.30访问10050端口多个IP地址之间用逗号分隔。ServerActive主动模式向目标zabbix_server服务器传送数据。这种模式的性能较好建议使用但需要确保zabbix_agentd.conf的参数Hostname值与Zabbix-Web页面中的主机名一致
配置完成后使用如下命令启动Zabbix-Agent
[rootlinux31 zabbix]# systemctl start zabbix-agent
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81892.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!