环境介绍:

  centos7.4

  zabbix3.2

一、zabbix介绍

zabbix官网:https://www.zabbix.com/

zabbix下载页面:https://www.zabbix.com/download

zabbix rpm包下载页面:http://repo.zabbix.com/zabbix/

1.1 zabbix简介

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等平台上。

1.2 zabbix的组件

zabbix由以下几个组件部分构成:

Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行。
Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据。
Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上。
Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端(实现分布式监控专用组件非必要组件,被监控服务器过多或者跨机房可以使用此组件。)

Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端。

1.3 zabbix监控环境中相关术语

主机(host):要监控的网络设备,可由IP或DNS名称指定

主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用

监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识
触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK"
事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等
动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作
报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等
媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等
通知(notification):通过选定的媒介向用户发送的有关某事件的信息
远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机
应用(application):一组item的集合
web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求

前端(frontend):Zabbix的web接口

二、安装zabbix

  #准备环境

#yum install -y gcc gcc-c++ vim wget

  安装mariadb10.1数据库

  注意:默认centos7装的是mariadb5.x版本,我们这里要安装最新的稳定版。

vi /etc/yum.repos.d/MariaDB.repo

  添加如下内容(注意,这里你也可以选择其他的版本,直接改数字就行)

[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.1/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
  清除一下yum缓存
yum clean all
  开始yum安装
yum -y install MariaDB-server MariaDB-client mysql-devel 

  更改数据库配置文件

  cat /etc/my.cnf 

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[mysqld]
datadir=/var/lib/mysql/
socket=/var/lib/mysql/mysql.sock
pid_file=/var/lib/mysql/mariadb.pid [mysql]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock [mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock [client-server] [mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid #
# include all files from the config directory
#
!includedir /etc/my.cnf.d

my.cnf

  安装完成MariaDB,首先启动MariaDB

systemctl start mariadb

  设置开机启动

systemctl enable mariadb

  1、yum安装必要的环境

yum install -y  httpd php php-devel php-pear php-xmlrpc php-bcmath  httpd-manual mod_ssl  php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel php-mysql.x86_64

  

yum install -y libssh2-devel openldap openldap-devel  net-snmp-devel

  

  2、配置php环境

sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
sed -i "s/;mbstring.func_overload = 0/mbstring.func_overload = 0\n/" /etc/php.ini

  3、安装zabbix

# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz

# groupadd zabbix -g 201
# useradd -g zabbix -u 201 -m zabbix # tar zxf zabbix-3.2.6.tar.gz
#cd zabbix-3.2.6
# ./configure --prefix=/usr/local/zabbix-3.2.6 --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-snmp --with-ssh2 --enable-java
# make install
# ln -s /usr/local/zabbix-3.2.6 /usr/local/zabbix

  4、导入zabbix数据库

 systemctl start mariadb.service
mysqladmin -uroot password '123456' mysql -uroot -p123456 -e 'create database zabbix character set utf8;'
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';" mysql -uroot -p123456 -e "flush privileges;" mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/schema.sql mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/images.sql mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/data.sql

  4.5、拷贝启动脚本并配置

cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_* /etc/init.d/
sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_server
sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd

  5、copy启动配置文件并配置

# cat /etc/zabbix/zabbix_server.conf|grep -v "^#"|grep -v "^$"   #简单配置一下,主要是配置连接数据库的账号和密码

LogFile=/var/zabbix/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1

  # mkdir /var/zabbix
  # chown zabbix:zabbix /var/zabbix/

  7、拷贝网页文件到web站点目录下

cp -r /root/zabbix-3.2.6/frontends/php /var/www/html/zabbix
chown apache:apache /var/www/html/zabbix/conf #此目录下,程序要创建一个php,当然不授权的话,等到安装到哪部,下载下php文件也可以。

  注意事项:

 # setenforce
# systemctl start httpd
# systemctl enable httpd
# systemctl enable mariadb

  8、通过web也设置zabbix(http://192.168.1.238/zabbix/)

完成安装

启动zabbix服务端和agentd端(因为zabbix默认会监控自己,所以服务器已经安装agent)

启动服务
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start 开机自启
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on

  9、因为默认web端是使用的英文显示,所以我们首先要改成中文。

从上面看,我们已经完成了汉化,但是zabbix的图形还是乱码的。

解决办法:

进入到本地windos目录下:C:\Windows\Fonts(以微软雅黑msyh.ttf为例)。

将windows端的msyh.ttf文件上传到服务器端的/var/www/html/zabbix/fonts目录中。

还差一步,我们需要更改zabbix的配置文件中,指定让它使用我们上传的字体。

vim /var/www/html/zabbix/include/defines.inc.php +45

define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans');  替换为:define('ZBX_GRAPH_FONT_NAME',           'msyh');   #就是DejaVuSans替换为msyh

刷新一下页面,字体就正常了。

三、客户端的安装(agent)

Linux:

  1、准备环境(关闭firewalld、selinux、iptables)

yum install -y gcc gcc-c++ vim wget lrzsz

  2、下载安装

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz

  创建zabbix用户和组,编译安装。

# groupadd zabbix -g 201
# useradd -g zabbix -u 201 -m zabbix
# tar zxf zabbix-3.2.6.tar.gz
# cd zabbix-3.2.6 # ./configure --prefix=/usr/local/zabbix-3.2.6 --sysconfdir=/etc/zabbix --enable-agent # make
# make install
# ln -s /usr/local/zabbix-3.2.6 /usr/local/zabbix

  创建启动文件和修改agentd客户端配置文件,指向zabbix服务器。

# cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd # vim /etc/zabbix/zabbix_agentd.conf #就先修改一个地方,让Server端指向zabbix_server的IP地址
Server=192.168.1.103
# /etc/init.d/zabbix_agentd restart

  开机自启动

chkconfig zabbix_agentd on

  3、进入zabbix服务器,添加linux客户端。

  配置==》主机群组==》创建主机群组(web页面右上角)==》添加组名,如Linux_Server

  

  配置==》主机==》创建主机(web页面右上角),这里需要添加主机和模板。

  主机:

  

  模板:

  

  选择我们刚才创建的Linux_Server群组,因为我们给这个群组就添加了一个linux的监控项,所以直接选他就行。

  

  

  至此linux客户端的添加基本完成。

  Windows客户端:

  1、下载win客户端。https://www.zabbix.com/download_agents

  2、关闭监控主机windows server 2008防火墙或防火墙入放行zabbix_agentd客户端口号  10050 (TPC/UDP)。

  3、下载后解压zabbix_agents_3.2.0.win.zip 压缩包,里面有两个文件夹,一个是bin文件夹,另一个是conf文件夹。

  Bin文件夹里面有两个文件夹,一个是win32文件夹里存放zabbix_agentd安装程序应用于windows 32位操作系统,

  一个是win64文件夹里存放zabbix_agentd安装程序应用于windows 64位操作系统。

  Conf文件夹里存放是配置文件zabbix_agentd.win.conf

  

  4、在windows server 2008 操作系统  C盘目录下创建一个zabbix文件夹,把刚下载的zabbix_agentd压缩包里的win64位文件夹的zabbix_agentd.exe、zabbix_get.exe、zabbix_sender.exe、dev文件夹复制到zabbix文件夹里

   安装程序和conf文件夹zabbix_agentd.win.conf复制到windows server 2008操作系统C盘创建的zabbix文件夹里。(文件夹创建路径可以自定义,

   但后面zabbix_agentd客户端运行安装命令需要根据创建的路径运行)

    这里我们以win10x64为例

  

  5、右键以文本格式编辑zabbix_agentd.win.conf 配置文件。

  

修改下面几项:
EnableRemoteCommands= #允许在本地执行远程命令
LogRemoteCommands= #执行远程命令是否保存操作日志
Server = 192.168.1.2238 #填写zabbix服务器IP地址
Hostname=wintest01 #zabbix_agent客户端计算机名 (被监控主机)

  6、开始搜索"运行",以管理员方式运行,cmd进入。

#安装zabbix客户端
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf #启动zabbix服务
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf

  

  这里别忘记设置自动启动,手动启动就麻烦了。

  

  删除客户端操作:

C:\zabbix\zabbix_agentd.exe  -d  -c  C:\zabbix\zabbix_agentd.win.conf

  

  7、服务端操作。

  创建windows群组。

  

  创建windows主机。

  

  

  

  总结:

  上面我们添加的windows和linux已经监控成功。

  

  参考与:

  http://www.51niux.com/?id=146

  https://www.cnblogs.com/zoulongbin/p/6395047.html

centos7之zabbix3.2搭建的更多相关文章

  1. centos7安装zabbix3.0超详细步骤解析

    centos7安装zabbix3.0超详细步骤解析 很详细,感谢作者 以下是我操作的history 622 java -version 623 javac -version 624 grep SELI ...

  2. centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)

    搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...

  3. Centos7下Zabbix3.4至Zabbix4.0的升级步骤

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Centos7下Zabbix3.4至Zabbix4.0的升级步骤 查看现在centos版本和zab ...

  4. centos7下git服务器端搭建

    git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...

  5. centos7下git服务器端搭建(转)

    git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...

  6. centos7.3使用squid搭建代理服务器

    centos7.3使用squid搭建代理服务器 1 安装 yum install squid 2 编辑 vi /etc/squid/squid.conf 3 设置 最底部增加 如下http_acces ...

  7. centos7.6_x86_64使用Squid搭建代理服务器让windows上网

    centos7.6_x86_64使用Squid搭建代理服务器让windows上网 windows机器很多站点访问受限,可以在没有限制外网的机器上面搭建代理服务器,其它电脑可以配置代理通过这台不受限制的 ...

  8. 【MIT6.828】centos7下使用Qemu搭建xv6运行环境

    title:[MIT6.828]centos7下使用Qemu搭建xv6运行环境 date: "2020-05-05" [MIT6.828]centos7下搭建xv6运行环境 1. ...

  9. Centos7 Samba共享服务搭建

    Centos7 Samba共享服务搭建 1.安装启动和端口 ---------------------------------------------------------------------- ...

随机推荐

  1. 【查漏补缺】File的path、absolutePath和canonicalPath的区别

    背景 在学习Idea的插件开发时,用到了相关的VirtualFileSystem这个东西,里面的VirtualFile有一个getCanonicalPath()方法引起了我的注意,我发现我不知道-- ...

  2. Java设计模式-单例模式详解(上)

    单例模式整理 敲了多年代码后,回头来看会别有一番滋味在心头.. 概念 单例模式是为了保证在一个jvm环境下,一个类仅有一个对象. 代码中常见的懒汉式.饿汉式,这些实现方式可以通过代码的设计来强制保证的 ...

  3. Fundebug后端Java异常监控插件更新至0.3.1,修复Maven下载失败的问题

    摘要: 0.3.1修复Maven下载失败的问题. 监控Java应用 1. pom.xml 配置fundebug-java依赖 <dependency> <groupId>com ...

  4. 好吧,CSS3 3D transform变换,不过如此!——张鑫旭

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  5. Vue介绍

    1.Vue的简介 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 AP ...

  6. python3 OrderedDict类(有序字典)

    创建有序字典 import collections dic = collections.OrderedDict() dic['k1'] = 'v1' dic['k2'] = 'v2' dic['k3' ...

  7. Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍

    Lecture 5 CNN 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit 不错的总结笔记:https://blo ...

  8. Python爬虫之Requests库的基本使用

    import requests response = requests.get('http://www.baidu.com/') print(type(response)) print(respons ...

  9. 雨后清风教你如何在Windows 7中对硬盘进行分区

    磁盘分区是将硬盘驱动器分成多个逻辑单元.人们通常不会选择对硬盘进行分区,但它有很多好处.主要是,通过对磁盘进行分区,您可以将操作系统与数据分开,从而减少数据损坏的可能性. 磁盘分区方法 打开“计算机管 ...

  10. LeetCode算法题-Next Greater Element I(Java实现)

    这是悦乐书的第244次更新,第257篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第111题(顺位题号是496).你有两个数组(没有重复)nums1和nums2,其中nu ...