服务器
首先zabbix系统基于PHP环境运行,所以前提是系统上有PHP的运行环境,lnmp或者lamp环境都可以
如果您还不了解Linux下的PHP环境安装,也许下面两篇文章对你有所帮助
lnmp环境安装:https://www.jb51.net/article/97754.htm
lamp环境安装:https://www.jb51.net/article/68480.htm
请确认你的系统中PHP环境可以正常运行
首先介绍一下Zabbix
一、Zabbix的特点
数据收集
可用性和性能检查
支持SNMP(包括捕获和主动轮训),IPMI,JMX,VMware监控
自定义检查
按照自定义的间隔收集需要的数据
由Server/Proxy和agents执行
灵活的阀值定义
高度可配置化的告警
实时图表绘制
使用内置图表绘制功能可以将监控项的内容立即绘制成图表
Web监控功能
支持自定义图形
丰富的可视化选项
多个监控项组合在一个视图展示
网络拓扑图
基于模板分组检查
安全用户认证
用C语言编写,性能高效
二、Zabbix组成
Zabbix服务端
Zabbix Server是所有配置信息、统计信息和操作数据的核心存储器。用于报告系统可用性、系统完成整性和统计信息等。
Zabbix数据存储端
配置信息和Zabbix收集到的数据都被存储在数据库中,支持mysql,pg,oracle。
Zabbix Web展示端
提供了基于Web的访问界面(采用PHP语言编写)
Zabbix客户端
Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
Zabbix Proxy代理服务器
Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。
三、Zabbix典型架构部署图
# more /etc/redhat-release ##演示环境 CentOS Linux release 7.4.1708 (Core)
# vi /etc/selinux/config ##关闭selinux SELINUX=disabled # setenforce 0
# yum install mariadb-server mariadb -y ##安装mariadb数据库 # systemctl start mariadb # systemctl enable mariadb
##添加zabbix yum源,安装zabbix server以及web管理 # rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm # yum install zabbix-server-mysql zabbix-web-mysql -y
# mysql ##登陆到mysql创建数据库及目录 Welcome to the MariaDB monitor. Commands end with ; or \\g. Your MariaDB connection id is 3 Server version: 5.5.56-MariaDB MariaDB Server MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by \'zabbix#1235\'; Query OK, 0 rows affected (0.00 sec)
##将zabbix元数据添加到mariadb # zcat /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz | mysql -uzabbix -pzabbix#1235 zabbix
# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.1121 ##先备份一份原始文件 # vim /etc/zabbix/zabbix_server.conf ##使用缺省配置,仅仅设定数据库密码 DBPassword=zabbix#1235 # vim /etc/httpd/conf.d/zabbix.conf ##修改apache zabbix时区 php_value date.timezone Asia/Shanghai # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bk # vim /etc/httpd/conf/httpd.conf ##Author : Leshami Listen 3080 ##此处使用非缺省的80端口 ##Blog : http://blog.csdn.net/leshami
# systemctl start zabbix-server.service # systemctl enable zabbix-server.service # systemctl start httpd # systemctl enable httpd # netstat -nltp|egrep zabbix|httpd|mysql tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15720/zabbix_server tcp 0 0 0.0.0.0:3080 0.0.0.0:* LISTEN 15385/httpd tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 14146/mysqld tcp6 0 0 :::10051 :::* LISTEN 15720/zabbix_server
# firewall-cmd --add-port=3080/tcp --permanent ##添加WEB 端口 # firewall-cmd --add-port=10051/tcp --permanent ##添加zabbix_server 端口 # systemctl reload firewalld.service
对于非本机的agent安装,应先配置yum源,再安装agent端,修改agent配置文件指向服务端
# yum install zabbix-agent -y # systemctl enable zabbix-agent.service agent端配置 [root@ydq-mnt zabbix]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,10.80.234.38 ServerActive=127.0.0.1,10.80.234.38 # systemctl start zabbix-agent.service
2、服务器端和agent端配置文件中使用统一的Hostname,区分大小写。否则容易出现无法连接的情形
3、防火墙端口放开,对于非本地agent端,开放端口10050