共计 13157 个字符,预计需要花费 33 分钟才能阅读完成。
一、简介
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* make php 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 相等)
输入数据库名、用户名以及密码
输入主机名
确认信息是否正确
zabbix 对网页目录权限不足,所以需要我们手动下载配置文件,并放到网页中提示的位置(1、点击 Download the configuration file。2、将该文件存放到“/var/www/html/zabbix/conf/zabbix.conf.php”)
刷新网页发现已经找到该配置文件
默认用户名“Admin”、密码“zabbix”
进入到 zabbix 首页面发现 zabbix 服务显示没有启动,但通过 shell 查看服务的状态发现服务已经启动
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-03/142077p2.htm
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
[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
刷新页面即可
点击“configuration → Host groups”并点击右上角的“create host group”创建一个新的 host group
数据新建 host group 的名称,并选择需要用到的模板(添加到该组的主机默认会使用添加该模板)
2、添加主机
点击“configuration→hosts”然后点击右上角的 create host 新建主机
输入主机名、选择主机组、填写被监控主机的 IP 地址
点击 templates 并添加相应模板
等待 Availability 中的 ZBX 变为绿色即表示可以与被监控主机正常通信
点击“Monitoring→graphs 在右上角选择主机后即可查看被监控主机的数据
添加网卡监控项目
进入到“configuration→templates→选择需要添加网卡监控的模板→itmes”本次笔者选择的是 Template OS Linux 模板添加网卡监控
添加网卡监控需要添加两个 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、其他按照下图中更改即可
添加 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、其他按照下图中更改即可
添加完 In、Out 方向的 item 之后需要回到“configuration→templates→选择需要添加网卡监控的模板→graphs”
点击右上角的 ”Create graph” 并在 items 中添加刚刚添加的两个 item
在“monitoring→graphs”中查看
添加 Windows 监控
在官网下载 Zabbix Agent windows 版http://www.zabbix.com/download
将文件解压放到 windows 的 c 盘下
编辑 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” 查看端口是否启用
打开服务控制台也可以看到
在 Zabbix Server web 界面中添加主机
进入到“configuration→hosts”点击“create host”输入主机名、主机 IP 等信息
点击 templates 选择 windows 模板
添加完成
点击“monitoring→graph”并在右上角选择刚刚添加的 windows 主机查看图像
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”
打开“Administrator→user”点击 admin,选择“media”并点击“add”
点击 update 更新
关闭 Windows Server 2008 R2 邮箱收到报警信息
问题汇总:
将 zabbix 更改为中文之后图像乱码
解决方法:
这个问题是由于 zabbix 的 web 端没有中文字库,我们最需要把中文字库加上即可。
1、选择 C:\Windows\Fonts\ 选择一种中文字库例如“简体字”。点击右键复制
将字体上传到“Zabbix Server”的 zabbix 自体库中
将刚刚上传的文件名改为小写
[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’, ‘DejaVuSans’);
define(‘ZBX_GRAPH_FONT_NAME’, ‘simfang‘);
刷新网页
笔者最近刚刚开始使用 Zabbix,还不是特别的熟悉,如有哪里写错或者忘写的地方还请大家指出,谢谢!
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
PDF 文档可以到 Linux 公社资源站下载:
—————————————— 分割线 ——————————————
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /pub/ 常用工具 /Xshell/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
—————————————— 分割线 ——————————————
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142077.htm
一、简介
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* make php 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 相等)
输入数据库名、用户名以及密码
输入主机名
确认信息是否正确
zabbix 对网页目录权限不足,所以需要我们手动下载配置文件,并放到网页中提示的位置(1、点击 Download the configuration file。2、将该文件存放到“/var/www/html/zabbix/conf/zabbix.conf.php”)
刷新网页发现已经找到该配置文件
默认用户名“Admin”、密码“zabbix”
进入到 zabbix 首页面发现 zabbix 服务显示没有启动,但通过 shell 查看服务的状态发现服务已经启动
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-03/142077p2.htm
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm