一、简介

zabbix(音同 zbix)是一个基于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等平台上。


二、实验环境

主机
操作系统 IP地址 主要软件
Zabbix Server Centos7.2 192.168.1.103 zabbix-3.2.4、httpd、mariadb、PHP等。
Zabbix Agent Centos7.2 192.168.1.105 zabbix-3.2.4
Zabbix Agent Windows Server 2008 R2 192.168.1.106


三、搭建Zabbix Server并添加主机


1、安装Zabbix Server


安装所需软件包

[root@bogon ~]# yum -y install gcc* makePHP PHP-gd PHP-MysqL PHP-bcmath PHP-mbstring PHP-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb*MysqL-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel vim


创建zabbix用户

[root@bogon zabbix-3.2.4]# useradd zabbix


关闭防火墙(由于本次是实验环境为了调试方便所以关闭防火墙,生产环境中一定要打开防火墙,并配置相关规则)

[root@bogon zabbix-3.2.4]# systemctl stop firewalld.service


[root@bogon ~]# tar xf zabbix-3.2.4.tar.gz

[root@bogon ~]# cd zabbix-3.2.4

[root@bogon zabbix-3.2.4]# ./configure --enable-server --enable-agent --with-MysqL --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc

[root@bogon zabbix-3.2.4]# make install


启动数据库

[root@bogon zabbix-3.2.4]# systemctl start mariadb.service


给数据库设置密码(本次试验中是新安装的数据库,所以将密码设置为linux.com123)

[root@bogon zabbix-3.2.4]# MysqLadmin -u root -p password linux.com123

Enter password:←直接敲回车即可(新安装的数据库默认是没有密码的)

[root@bogon zabbix-3.2.4]# MysqL -u root -p

Enter password:←输入刚刚设置的密码


创建新用户,用户名为“zabbix”密码“zabbix”,并将zabbix数据库授权给zabbix用户

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

MariaDB [(none)]> insert into MysqL.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));

MariaDB [(none)]> flush privileges;


MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;


MariaDB [(none)]> flush privileges;

MariaDB [(none)]> quit


导入sql语句

[root@bogon zabbix-3.2.4]# MysqL -uzabbix -pzabbix zabbix < database/MysqL/schema.sql

[root@bogon zabbix-3.2.4]# MysqL -uzabbix -pzabbix zabbix < database/MysqL/images.sql

[root@bogon zabbix-3.2.4]# MysqL -uzabbix -pzabbix zabbix < database/MysqL/data.sql


在/etc/PHP.ini中添加或修改如下内容

[root@bogon zabbix-3.2.4]# vim /etc/PHP.ini

878 date.timezone= Asia/Shanghai

384 max_execution_time = 300

672 post_max_size = 32M

407 memory_limit = 128M

1707 mbstring.func_overload = 1


将httpd、mariadb添加到系统启动

[root@bogon ~]# systemctl enable httpd.service

[root@bogon ~]# systemctl enable mariadb.service


[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd


[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_server

[root@bogon zabbix-3.2.4]# chkconfig zabbix_server on


[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd

[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on

[root@bogon zabbix-3.2.4]# cp -r ./frontends/PHP/ /var/www/html/zabbix

[root@bogon zabbix-3.2.4]# chown -R apache.apache /var/www/html/zabbix


启动httpd服务

[root@bogon ~]# systemctl start httpd.service


Zabbix Agent配置(被监控端)

[root@bogon ~]# yum -y install gcc* make vim

[root@bogon ~]# setenforce 0

[root@bogon ~]# vim /etc/sysconfig/selinux

[root@bogon ~]# systemctl stop firewalld.service

[root@bogon ~]# setenforce 0

[root@bogon ~]# vim /etc/sysconfig/selinux

[root@bogon ~]# systemctl stop firewalld.service


编译安装Zabbix Agent

[root@bogon zabbix-3.2.4]# ./configure --enable-agent

[root@bogon zabbix-3.2.4]# make install


[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd

[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on

[root@bogon zabbix-3.2.4]# chkconfig --list zabbix_agentd

[root@bogon zabbix-3.2.4]# useradd zabbix


更改如下三项

[root@bogon zabbix-3.2.4]#vim /usr/local/etc/zabbix_agentd.conf

Server=192.168.1.104

ServerActive=192.168.1.104

Hostname=Linux←需要和下文Web中添加的主机名一致

[root@bogon ~]# systemctl start zabbix_agentd.service


Web端配置

通过浏览器访问“http://192.168.0.104/zabbix”


点击“next step”(如果出现红色选项需要在/etc/PHP.ini中将相应的值修改为与required相等)



wKioL1jIm13haI2BAAEYgzz8eVI120.png


输入数据库名、用户名以及密码

wKiom1jIm12T6BgoAACL7Obpwp0545.png


输入主机名

wKioL1jIm13Q4SuPAAB1N2AC0p0788.png


确认信息是否正确

wKioL1jIm16QU4y1AACkhAiJjbs887.png



zabbix对网页目录权限不足,所以需要我们手动下载配置文件,并放到网页中提示的位置(1、点击Download the configuration file。 2、将该文件存放到“/var/www/html/zabbix/conf/zabbix.conf.PHP”)

wKiom1jIm16zjC78AAB2imv0v6E055.png


刷新网页发现已经找到该配置文件

wKioL1jIm3yhLxr_AAB6YGcvfjM868.png






默认用户名“Admin”、密码“zabbix”

wKiom1jImdfQ-8JjAABRXHgXP0w969.png


进入到zabbix首页面发现zabbix服务显示没有启动,但通过shell查看服务的状态发现服务已经启动

[root@bogon ~]# systemctl status zabbix_server.service

● zabbix_server.service - SYSV: Starts and stops Zabbix Server using chkconfig

Loaded: loaded (/etc/rc.d/init.d/zabbix_server; bad; vendor preset: disabled)

Active: active (running) since 三 2017-03-15 09:20:20 CST; 30min ago


这是由于selinux机制限制所造成的,关闭selinux机制即可

[root@bogon ~]# setenforce 0


将SELINUX项更改为disabled

[root@bogon ~]# vim /etc/sysconfig/selinux

SELINUX=disabled


wKioL1jImdiAkpuHAAEauQMFPS4337.png


刷新页面即可

wKiom1jImdmgXGHuAAEP_VMRexU511.png


点击“configuration → Host groups”并点击右上角的“create host group”创建一个新的host group


wKiom1jImduxhr2RAAEQDVFMIrE224.png


数据新建host group的名称,并选择需要用到的模板(添加到该组的主机默认会使用添加该模板)

wKioL1jImduwBR1jAADJV9pE5lg351.png


2、添加主机

点击“configuration→hosts”然后点击右上角的create host新建主机

输入主机名、选择主机组、填写被监控主机的IP地址

wKiom1jIqn-w_Yv4AAEPEaqGf3Q469.png



点击templates并添加相应模板

wKioL1jIqoChYnIpAACptUB-AWg568.png


等待Availability中的ZBX变为绿色即表示可以与被监控主机正常通信

wKiom1jIqoHx6ljPAAD3vicCPYE934.png









点击“Monitoring→graphs在右上角选择主机后即可查看被监控主机的数据

wKioL1jIrPGDuUPMAADithTzHEA886.png


添加网卡监控项目

进入到“configuration→templates→选择需要添加网卡监控的模板→itmes”本次笔者选择的是Template OS Linux模板添加网卡监控

wKioL1jIsmPw8Ee4AAECNRLg9NU092.png


添加网卡监控需要添加两个Item(因为网卡流量是一进一出)

添加In方向item

1、在Name中填写In方向的名字本次实验使用的是“Incoming network traffic on Networkinterfacecard”

2、type中选择“Zabbix_agent”

3、key中输入“Net_incoming”

4、Type of information中选择“Numeric(float)”

5、Units选择Bps

6、其他按照下图中更改即可


wKiom1jIs8Dw77suAAE1NzciU1g703.png


添加Out方向item

1、在Name中填写In方向的名字本次实验使用的是“Net_Outgoing network traffic on Networkinterfacecard”

2、type中选择“Zabbix_agent”

3、key中输入“Net_Outgoing”

4、Type of information中选择“Numeric(float)”

5、Units选择Bps

6、其他按照下图中更改即可

wKiom1jItvOhZv4rAAE2mWgMqI0151.png


添加完In、Out方向的item之后需要回到“configuration→templates→选择需要添加网卡监控的模板→graphs”

wKiom1jIt4WRf_BbAAIYZzxdSrs470.png


点击右上角的"Create graph"并在items中添加刚刚添加的两个item

wKioL1jIuLiy4FUWAAEOQ1Ee4lw725.png


在“monitoring→graphs”中查看

wKiom1jIuTWSccvnAAHV2_8YCQs176.png


添加Windows监控

在官网下载Zabbix Agent windows版http://www.zabbix.com/download

wKiom1jI117gyA2uAAG3inY5Jcw596.png


将文件解压放到windows的c盘下

wKiom1jI19Pjek-LAABrU9mN0vE539.png


编辑conf/zabbix_agentd.win.conf(建议使用notepad++编辑)

修改如下项:(和linux上类似)

Hostname=WindowsServer2008R2

ServerActive=192.168.1.104

Server=192.168.1.104


打开cmd,输入如下信息(将zabbix_agent添加到服务中)

c:\bin\win64\zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -i


启动服务

c:\bin\win64\zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -s


使用netstat -an | find "10050"查看端口是否启用

wKiom1jI2kHyLBcwAABfa9D8oqM817.png


打开服务控制台也可以看到

wKioL1jI2p3SW70XAAEGVGL_F5Q697.png


在Zabbix Server web界面中添加主机

进入到“configuration→hosts”点击“create host”输入主机名、主机IP等信息

wKioL1jI3DvTr6ouAAEc4vRi6zA754.png


点击templates选择windows模板

wKiom1jI3Dyzv78iAAC6Y8Vj8fo974.png


添加完成

wKioL1jI3D2xr4ghAAEsdg4wVMk622.png


点击“monitoring→graph”并在右上角选择刚刚添加的windows主机查看图像

wKioL1jI3MyxZ3ezAAEwjoXiLtQ319.png


3、添加邮件报警

[root@bogon ~]#yum -y install mailx


添加如下几行

[root@bogon ~]#vim /etc/mail.rc

set from=1861097xxxx@163.com←发送邮件的邮箱地址

set smtp=smtp.163.com

set smtp-auth-user=1861097xxxx@163.com←同上,发送邮件的邮箱地址

set smtp-auth-password=lx3768150←笔者使用的是163的邮箱,需要使用授权码登录

set smtp-auth=login

[root@bogon ~]# systemctl start mailx.service


发送邮件测试

[root@bogon ~]#echo "zabbix test" | mail -s "zabbix" 1247718627@qq.com


编写发送脚本

[root@bogon ~]#vim /usr/local/share/zabbix/alertscripts/sendmail.sh

#!/bin/sh

#

#echo "$3" | mail -s "$2" $1

echo "$3" | sed s/'\r'//g | mail -s "$2" $1


[root@bogon ~]# chmod +x /usr/local/share/zabbix/alertscripts/sendmail.sh


接下来需要在Web中配置报警


打开“Administrator→media type →create media type”

wKiom1jJBMrgjFpwAACncBWSWfo314.png


打开“Administrator→user”点击admin,选择“media”并点击“add”

wKioL1jJBVWx9SR9AADKmp2RkT8817.png


点击update更新

wKiom1jJBVajOXCfAACY5jQ0WXg810.png


关闭Windows Server 2008 R2邮箱收到报警信息

wKioL1jJBcug2U83AAH7YpxYpk8647.png


问题汇总:

将zabbix更改为中文之后图像乱码

wKioL1jJBoGilQhuAAIVEUI7s4g769.png


解决方法:

这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可。

1、选择C:\Windows\Fonts\选择一种中文字库例如“简体字”。点击右键复制

wKiom1jJCevjWZg8AAJKQvJ7D3I329.png


将字体上传到“Zabbix Server”的zabbix自体库中

wKioL1jJCojQ-SidAAA-bcm8BaI349.png



将刚刚上传的文件名改为小写

[root@bogon fonts]# mv SIMFANG.TTF simfang.ttf


在如下两行中将默认的“DejaVuSans”更改为刚刚上传的“simfang”

[root@bogon ~]# vim /var/www/html/zabbix/include/defines.inc.PHP

//define('ZBX_FONT_NAME','DejaVuSans');

define('ZBX_FONT_NAME','simfang');


//define('ZBX_GRAPH_FONT_NAME',0);font-size:14px;">define('ZBX_GRAPH_FONT_NAME',0);">simfang');


刷新网页

wKioL1jJDPDyIO3VAAI1EbzqxFc316.png


相关资料:

百度知道zabbix

zabbix中文乱码

《Zabbix监控深度实践》


笔者最近刚刚开始使用Zabbix,还不是特别的熟悉,如有哪里写错或者忘写的地方还请大家指出,谢谢!

Centos7.2下搭建Zabbix3.2简的更多相关文章

  1. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  2. 记一次云计算测试实验-openstack-icehouse-安装swift

    -----------------------controller:---------------------------------sourceadmin-openrc.shkeystoneuser-create--name=swift--pass=000000--email=swift@localhostkeystoneuser-role-add--user=swift--tenant=ser

  3. openstack学习笔记七 swift安装

    指定映射位置创建ring文件启动服务代维服务proxyserver

  4. openstack安装liberty--安装对象存储服务swift

    通常使用CACHE技術提高性能Accountservers賬戶服務,管理對象存儲中的賬戶定義。Containerservers容器服務,在對象存儲中管理容器或文件夾映……Objectservers對象服務,在存儲節點管理實際的對象,比如文件。Wsgimiddleware處理認證,通常使用OPENSTACKIdentityswiftclient為用戶提供命令行接口使用RESTAPIswift-init初始化和構建RING文件腳本swift-recon一個命令行工具,用於檢索群集的各種度量和測試信息。

  5. 将我的Android应用程序签名为系统应用程序

    将我的Android应用程序签名为系统应用程序在我的公司,我们希望在现场完全控制电池消耗,仅使用2g和gps可以快速耗尽电池.我们的决定是我们需要拥有移动电话的root权限,这样当手机闲置时,我们就会关掉那些不必要的电池消耗.而且我们也不允许用户将其卸载并清除数据.我的问题是:>我从哪里获得这些签名密钥?>它是否会像root访问权限一样如果我成功地成功了签字?

  6. 获得Android App的“root”权限

    我想知道如何从Android应用程序获得root权限?我尝试了下面的代码行来列出文件但没有发生任何事情我试图在我的清单文件中给予TEST_FACTORY权限,但是我收到错误“允许系统应用”如何制作我的应用系统应用?

  7. android – 模拟器中hosts文件中的Url映射被忽略

    我正在使用genymotion仿真器,并使用它从主机文件中提取adbremountadbpull/system/etc/hostsC:\Users\Rkn09\Desktop\hosts我添加了新的映射192.168.0.115xxx.mydomain.com,我把它推回到模拟器使用adbpushC:\Users\Rkn09\Desktop\hosts/system/etc/hosts但是当我向x

  8. Android 实现永久性开启adb 的root权限

    这篇文章主要介绍了Android 实现永久性开启adb 的root权限,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  9. 如何删除零计数和don&#39;不要在Zabbix上显示它们的图形?

    我已经为此创建了发现项,但有一个问题,该设备有多个{ENT_NAME}。其中一个ENT_NAME有关于正常运行时间的信息,但没有关于cpu和temp的信息(显示0)。因此,Zabbix显示了一些未使用的图形。

  10. postfix – CentOS 7上的sendEmail等价物是什么?

    t=1323您应该安装mailx.看起来你可以用这个替换脚本:如果这些消息总是直接发送到传送MTA,请考虑使用端口587(提交).否则,请查看联机帮助页以了解使用STARTTLS保护密码的方法.示例作者应该因为没有引用它们的shell变量而感到羞耻……我认为centos将mailx放在/bin/mailx,但也可能在/usr/bin/mailx中.

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部