zabbix(音同 zæbix)是一个基于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界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
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 agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
zabbix主要有5个主菜单栏:Moniting,Inventory,reports,configuration,Adminstration每个主菜单栏下面又多个二级菜单.
Moniting: 主要是对监控对象的一些相关展示,比如说对web应用的展示。
Inventory: 资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,mac地址,资产编号等
Reports; 这里主要展示了zabbix服务的状态,比如主机数,报警数。还有就是展示了一些设备的可用性报表等相关信息。
Congfiguration; 这里主要用来对系统的配置,比如创建主机,创创建模版,创建报警,创建流量图片等相关应用基本的配置主要通过这里来实现。
Adminstration: 这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置。
Zabbix的搭建
编译安装:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
# yum -y install zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql mariadb*
character_set_server=utf8
# vim /etc/my.cnf
# systemctl start mariadb.service
# systemctl enable mariadb.service
# mysql
> create database zabbix character set utf8;
> quit
# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
# gunzip create.sql.gz
# mysql zabbix < create.sql
# mysql_secure_installation
-
-Y
-birdteam
-birdteam
-Y
-Y
-Y
-Y
DBUser=root
DBPassword=birdteam
# vim /etc/zabbix/zabbix_server.conf
# systemctl start zabbix-server.service
# systemctl enable zabbix-server.service
php_value date.timezone Asia/Shanghai
# vim /etc/httpd/conf.d/zabbix.conf
# systemctl start httpd.service
# systemctl enable httpd.service
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
# yum -y install zabbix-agent
Server=192.168.7.251
ServerActive=192.168.7.251
Hostname=birdteam-252
# vim /etc/zabbix/zabbix_agentd.conf
# systemctl start zabbix-agent.service
# systemctl enable zabbix-agent.service
yum安装:
1:首先在安装zabbix之前一定要先清理环境,首先要安装epel源和zabbix源
# cd /etc/yum.repo.d/
# vim epel.repo下添加如下内容
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.ucloud.cn/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=http://mirrors.ucloud.cn/epel/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.ucloud.cn/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=http://mirrors.ucloud.cn/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.ucloud.cn/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=http://mirrors.ucloud.cn/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1
最后wq保存退出;
或者直接下载epel源: wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# vim zabbix.repo下添加如下内容
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
最后wq保存退出。
或者直接下载zabbix源: rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
2:然后安装zabbix对应的包(如果一台主机扮演三个端,那么可以都安装上,但是一般来说,都是在zabbix服务端安装zabbix-server-mysql ,zabbix-web, zabbix-web-mysql)
# yum install -y zabbix-server-mysql zabbix-get ——服务端安装的包
# yum install -y zabbix-web zabbix-web-mysql ——web-GUI端安装的包
# yum install -y zabbix-agent zabbix-sender ——agent端安装的包
安装php5.6:
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
安装mysql5.7
wget http://repo.mysql.com//mysql57-community-release-el6-8.noarch.rpm
yum install mysql
3:安装zabbix MaraiDB
先配置mysql文件
# /etc/my.cnf 在 [mysqld]下添加
skip_name_resolve=on
innodb_file_per_table=on
然后下载madiradb-server
# yum install -y mariadb-server
# systemct start mariadb.serrvice
# MariaDB [(none)]> create database zabbix charset'utf8';
# MariaDB [(none)]> grantall on zabbix.* to zabbix@'192.168.170.70' identified by'123456';
# MariaDB [(none)]> flush privileges;
4:zabbix server数据库初始化和导入数据;
# mysql_secure_installation
# zcat /usr/share/doc/zabbix-server-mysql-3.4.6/create.sql.gz |mysql -uzabbix -p123456 zabbix
登录到MySQL,可以查看zabbix数据中的初始化生成的表
5:启动zabbix-server进程
①:启动zabbix-server进程会读取配置文件:/etc/zabbix/zabbix_server.conf,这个配置文件中的指令有四类
GENERALPARAMETERS
ADVANCEDPARAMETERS
LOADABLEMODULES
TLS-RELATEDPARAMETERS
②:修改 GENERALPARAMETERS 中的指令
ListenPort=10051 : 监听的端口号
LogType=file :日志的类型
LogFile=/var/log/zabbix/zabbix_server.log:日志的路径
LogFileSize=0 :日志滚动的阈值,0表示不滚动
PidFile=/var/run/zabbix/zabbix_server.pid :pid的存放文件
DBHost=192.168.170.70:指定数据库的主机地址(也可以是localhost)
DBName=zabbix (zabbix数据库名称)
DBUser=zabbix (连接数据库的用户名)
DBPassword=123456 (数据库密码)
DBSocket=/var/lib/mysql/mysql.sock (mariadb是通过yum安装的,因此socket文件不在/tmp目录下面)
③:启动服务
systemctl start zabbix-server.service
④:确保本机的trousers程序包版本一定是0.3.11之后的版本
6:配置zabbix-web (在安装 zabbix-web和zabbix-web-mysql的时候,默认会安装httpd程序包和php-mysql程序包)
①:配置php的时区
# vim /etc/httpd/conf.d/zabbix.conf(使用这个)
php_value date.timezone Asia/Shanghai :表示在mod_php5.c模块里面,设定为上海的时间
②:启动httpd
systemctlstart httpd
7:登入http://192.168.23.67/zabbix/页面
Database type:Mysql
Database host:192.168.170.70
Database port:3306
Database name:zabbix
User:zabbix
Password:123456
8:zabbix-server登入名是:admain,密码为:zabbix
9:登陆后就可以监控你所需要监控的服务器把。
补充:
一、解决web页面乱码问题
1、上传字体到/usr/share/zabbix/fonts目录下
2、编辑/usr/share/zabbix/include/defines.inc.php配置文件,修改
define('ZBX_GRAPH_FONT_NAME', 'simhei'); ---在54行
define('ZBX_FONT_NAME', 'simhei'); ---在93行
二、修改zabbix登陆名和密码
编辑/etc/zabbix/web/zabbix.conf.php里的配置
直接修改密码和登陆名