zabbix从听说到学会
一、zabbix简介
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安装使用
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主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
2.1 zabbix安装
2.1.1 zabbix WEB环境搭建
zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
2.1.2 zabbix 数据库设置
zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
grant all privileges on zabbix.* to zabbix_user@'ip' identified by '123456';
注:ip为zabbix服务器的IP地址。
关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。
启动数据库
/usr/local/mysql/bin/mysqld_safe --user=mysql &
登录数据库,创建帐号和设置权限:
- mysql> use mysql;
- mysql>create database zabbix character set utf8;
- mysql>grant all privileges on zabbix.* to zabbix_user@'192.168.10.197' identified by '123456';
2.1.3安装zabbix服务
增加zabbix用户和组
#groupadd zabbix
#useradd -g zabbix -m zabbix
官网下载解压软件包:点击下载
#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz
# tar -zxvf zabbix-2.0.3.tar.gz
#cd zabbix-2.203
导入数据库表
#cd zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < mysql.sql
#mysql -uroot -pmysql zabbix < images.sql
#mysql -uroot -pmysql zabbix < schema.sql
编译安装zabbix
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可
#make
#make install
添加服务端口
1. vim /etc/services
2. zabbix-agent 10050/tcp # Zabbix Agent
3. zabbix-agent 10050/udp # Zabbix Agent
4. zabbix-trapper 10051/tcp # Zabbix Trapper
5. zabbix-trapper 10051/udp # Zabbix Trapper
添加配置文件
# mkdir -p /etc/zabbix
# cp -r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix
修改server配置文件
添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix数据库密码
ListenIP=192.168.10.197 #服务器IP地址
修改Agentd配置文件
更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf
1. PidFile=/tmp/zabbix_agentd.pid #进程PID
2. LogFile=/tmp/zabbix_agentd.log #日志保存位置
3. EnableRemoteCommands=1 #允许执行远程命令
4. Server=192.168.10.197 #agent端的ip
5. Hostname=client1 #必须与zabbix创建的host name相同
设置hostname
添加web前段php文件
# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix #虚拟主机目录
# chown -R zabbix:zabbix zabbix
web前端安装配置
修改PHP相关参数
vim php.ini
1. max_execution_time = 300
2. max_input_time = 300
3. memory_limit = 128M
4. post_max_size = 32M
5. date.timezone = Asia/Shanghai
6. mbstring.func_overload=2
PHP还必须支持一下模块,在php源码包直接编译安装。具体模块需求在安装时会提示。
bcmath.so
、gettext.so
在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix ,按提示点击下一步
Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。
Step4:输入服务器端 host name or host IP addres;
最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。
启动zabbix服务
在zabbix安装目录下面可以直接启动
#/usr/local/zabbix/sbin/zabbix_server start
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7140/zabbix_agentd
设置开机自启动
vim /etc/rc.d/rc.local
最后添加下面两行
1. /usr/local/zabbix/sbin/zabbix_server start
2. /usr/local/zabbix/sbin/zabbix_agentd start
至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。
接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。
三、搭建Zabbix监控环境
在一个数据中心里,了解某个主机正在发生什么是非常重要的一件事。适当地监控一些网络节点能够帮助防止发生网络功能问题。在这一系列的文章中,你能够学到如何用Zabbix来实现。
Zabbix是一个开源网络监控工具,并采用一台基于Linux为中心的Zabbix服务器。服务器与那些本机代理相互联系,目前所适用的操作系统包括Linux、 UNIX和Windows。如果没有安装代理的操作系统,可采用通用的监控协议如SNMP或IPMI。
使用Zabbix监控工具有许多优点。作为初学者,Zabbix能够在特定预先定义的事件发生时发出告警和提醒。还提供图像功能,帮助系统管理员对当前特殊节点和整个网络有一个大致了解。
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
3.1 Zabbix安装选项
安装Zabbix有两种方法:下载安装包并把它安装在你Zabbix的linux服务器主机上,或者使用包含一些Linux发行版的安装包。使用发行版的安装包使得安装和更新Zabbix更方便,但是编译你自己的Zabbix意味着需要针对每一个Linux发行版,包括最新和最棒的功能。
预先编译的安装包对某些Linux发行版还不支持,比如SUSE。如果你不想和那些底层的Linux系统打交道,Fedora或者Ubuntu可能是你的最佳选择。它们从安装储存库开始就包含了Zabbix安装包。编译你自己的Zabbix同样可行,但是那样则需要更多的Linux技术知识。在本篇中,我们将使用预先编译的Fedroa 17的安装包来安装Zabbix,完全免费。
3.2 安装基础包
确保你的Fedora Linux服务器至少有10GB的有效磁盘空间。在初期进行Zabbix安装时并不需要,但是当Zabbix开始在一个大环境下产生数据时就会需要。
下一步,使用Yellow Dog更新修改(YUM)命令yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql mysql zabbix-agent
来安装Zabbix和所有需要的组件。在安装软件之后,你需要开启Zabbix服务并确保他们在你重启服务器之后仍然开启。要想完成这个,运行以下命令并重启服务器:
systemctl enable mysqld.service
systemctl enable zabbix-server-mysql.service
systemctl enable httpd.service
在继续之前,你需要创建一个MySQL数据库。使用mysql -u root 作为Root用户登录。这样就打开了一个mysql提示。键入以下命令来创建需要的数据库:
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by ‘password';
mysql> quit
数据库的默认名字是zabbix,管理员用户名也是zabbix,密码是password。现在你需要使用zabbix模式和一些初始数据来填充数据库。要想这样做,你可以使用默认的安装在/usr/share/doc/zabbix-server-mysql-/create/schema
下的SQL文件。从Linux的shell中使用以下mysql命令来导入文件:
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/schema/mysql.sql
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/data.sql
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/images_mysql.sql
这些命令会将SQL文件导入MySQL数据库中,使用用户名“zabbix”。选项 –p 告诉mysql命令提示需要输入密码,接下去用户zabbix告诉MySQL将所有数据添加至zabbix数据库中。下一步,输入的文件被特指使用输入重定向(<),在文件名之后被用来当作输入文件。
在你继续下一步配置之前,确保Zabbix能够连接到你刚刚创建的数据库。想要这样做,打开配置文件/etc/zabbix/zabbix_server.conf
并确保以下内容在其中。
DBHost=localhost
DBName=zabbix
DBPassword=password
重启你的服务器并确保所有信息都显示正确。在重启之后,使用命令systemctl status zabbix-server.service
。这会显示所有已经开启的Zabbix进程。
3.3 与Web界面对连
一旦所有系统都已经开启,你可以打开一个浏览页面至Zabbix Web前端http://yourzabbixserver/zabbix, 这里你可以配置你的Zabbix服务器。
在继续之前,确保你满足了最低系统要求。
第一个导入的屏幕是为了检查先决条件。在许多情况下,你会发现系统分配使用的默认PHP设置是不完整的,所以记录下有关的设置并打开/etc/php.ini
来进行调整。在完成调整之后,重启Fedora 17的Apache服务,可以输入systemctl restart httpd.service
命令来完成。
3.4 配置数据库连接
在下一个窗口中,配置Zabbix和数据库之间的连接。在这个屏幕里,默认用户名为root;确保将用户名改为zabbix。
在建立数据库连接之后,键入Zabbix服务器的网络地址和你正使用的端口。如果Web前端正从服务器进程运行,指定Zabbix服务器所拥有的IP地址或者直接点击"next"继续。现在你会看到一个预安装的摘要。确认各个参数都正确再结束整个安装流程。一个进入Zabbix的登录窗口就会打开,你可以使用默认的用户Admin和密码zabbix进行登录。现在你的zabbix环境已经可以开始使用。
四、特点
4.1 zabbix的主要特点
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
4.2 Zabbix主要功能
- CPU负荷
- 内存使用
-磁盘使用 - 网络状况
- 端口监视
- 日志监视。
五、Zabbix版本发布
2012年07月31日,ZABBIX 2.0.2 正式版发布。
2012年08月01日 ,ZABBIX 2.0.2 正式版发布,分布式系统监控。
2012年08月09日,ZABBIX 1.8.15 RC1 发布,该版本修复很多 bug ,其中包括一个安全相关的问题。
2012年08月21日,ZABBIX 1.8.15 正式版发布,该版本包含很多 bug 修复,其中有一个是安全相关的。
2012年09月11日,ZABBIX 2.0.3 RC1 发布,该版本包含前端的一些改进,以及引入 flicker free screens。
2012年11月28日,ZABBIX 2.0.4 RC1 发布,企业级监控系统。
2013年2月12日,ZABBIX 2.0.5 正式版发布,分布式系统监控
2013年4月15日,ZABBIX2.0.6 RC1发布,分布式系统监控。
2013年4月22日,ZABBIX2.0.6 正式版发布,企业级分布式监控系统。
2016年2月16日,ZABBIX3.0.0 正式版发布,企业级分布式监控系统。
2016年7月15日,ZABBIX3.0.4 RC1发布,企业级分布式监控系统。
作者:JokerW
链接:https://www.jianshu.com/p/49ef09f6d8db
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
zabbix从听说到学会的更多相关文章
- Nginx从听说到学会
第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一 ...
- Codeforces543BDestory Roads心得
题目描述: In some country there are exactly n cities and m bidirectional roads connecting the cities. Ci ...
- 面试官:连Spring三级缓存都答不好,自己走还是我送你?
面试官:简历上写了精通Spring,那你回答一下Spring为什么用“三级缓存”去解决循环依赖? 我:.......应该有三个缓存的map结构 面试官:具体回答一下 我:平时没认真深入过 面试官:公司 ...
- python爬虫17 | 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部
这两天 有小伙伴问小帅b 为什么我爬取 xx 网站的时候 不返回给我数据 而且还甩一句话给我 “系统检测到您频繁访问,请稍后再来” 小帅b看了一下他的代码 ): requests.get(url) 瞬 ...
- 【腾讯Bugly干货分享】深入理解 ButterKnife,让你的程序学会写代码
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578753c0c9da73584b025875 0.引子 话说我们做程序员的,都 ...
- Zabbix监控系统深度实践
Zabbix监控系统深度实践(企业级分布式系统自动化运维必选利器,大规模Zabbix集群实战经验技巧总结,由浅入深全面讲解配置.设计.案例和内部原理) 姚仁捷 著 ISBN 978-7-121-24 ...
- [转]七天学会NodeJS
转:http://nqdeng.github.io/7-days-nodejs/ NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS, ...
- zabbix服务器监控suse系统教程
zabbix服务器监控suse系统教程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 花了近一个星期才学会了如何监控window和linux主机的基本信息以及报价情况(我已经把笔记 ...
- zabbix添加邮件报警机制
zabbix添加邮件报警机制 作者:尹正杰 还记得之前跟大家聊过的一个如何监控一个目录的话题吗?我们虽然监控出来数据了,也有数据了,但是,只是监控也没有用啊~因为我们不能24小时盯着屏幕然后 出了事情 ...
随机推荐
- js面向对象的选项卡
前言: 选项卡在项目中经常用到,也经常写,今天在github突然看到一个面向对象的写法,值得收藏和学习. 本文内容摘自github上的 helloforrestworld/javascriptLab ...
- 部分城市关于.Net招聘数量
2016-12-09更新统计数据 上海 10730 北京 6322 广州 4157 深圳 3548 成都 2291 重庆 706 厦门 285 2015-01-30日,前程无忧搜索".Net ...
- Centos配置java环境
安装jdk JDK 是开发Java程序必须安装的软件,我们查看一下 yum 源里面的 JDK:yum list java* 选择适合本机的JDK,并安装:yum install java-1.7.0- ...
- mysql 存相同内容:utb8mb4 会比 utf8 占用更多的内存吗,utf8mb4 浪费内存吗?utf8 utf8mb4 区别
原文:mysql 存相同内容:utb8mb4 会比 utf8 占用更多的内存吗,utf8mb4 浪费内存吗?utf8 utf8mb4 区别 参考:http://www.fengyunxiao.cn u ...
- Bash玩转脚本1之自己的脚本安装程序
Bash之打造自己的脚本安装器 前言 还是理所当然的前言,我一直想找一套管理脚本的"框架",能让自己杂乱的脚本有点规整.无奈眼界尚浅,未能找到. 因此萌生自己写一点优化脚本的工具来 ...
- 【苦读官方文档】2.Android应用程序基本原理概述
官方文档原文地址 应用程序原理 Android应用程序是通过Java编程语言来写.Android软件开发工具把你的代码和其它数据.资源文件一起编译.打包成一个APK文件,这个文档以.apk为后缀,保存 ...
- 使用Opencv中matchTemplate模板匹配方法跟踪移动目标
模板匹配是一种在图像中定位目标的方法,通过把输入图像在实际图像上逐像素点滑动,计算特征相似性,以此来判断当前滑块图像所在位置是目标图像的概率. 在Opencv中,模板匹配定义了6种相似性对比方式: C ...
- 【41.43%】【codeforces 560C】Gerald's Hexagon
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- centos7安装nginx的两种方法
第一种方式:通过yum安装 直接通过 yum install nginx 肯定是不行的,因为yum没有nginx,所以首先把 nginx 的源加入 yum 中 运行下面的命令: 1.将nginx放到y ...
- 华为上机试题(java)
一.题目描述:通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉.比如字符串“abacacde”过滤结果为“abcde”. ...