Zabbix监控系统功能及基本使用

一、Zabbix基本介绍:

   zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

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等系统之上。

Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。

  Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。

  SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。

  IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。

zabbix的体系结构图

 

二、Zabbix安装配置

第一步:下载所需要用的的程序包:
1、zabbix-2.0.8-3.el6.x86_64.rpm                # 主程序包
2、zabbix-agent-2.0.8-3.el6.x86_64.rpm          # 被监控端需要安装的代理程序包
3、zabbix-get-2.0.8-3.el6.x86_64.rpm            # 去被监控端拉取数据的程序包
4、zabbix-sender-2.0.8-3.el6.x86_64.rpm         # 发送数据所需要安培的程序包
5、zabbix-server-2.0.8-3.el6.x86_64.rpm         # 做为服务器端所需要安装的各
6、zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm   # 服务器端安装数据库程序包
7、zabbix-web-2.0.8-3.el6.noarch.rpm            # web界面需要安装的程序包
8、zabbix-web-mysql-2.0.8-3.el6.noarch.rpm      # web界面需要安装的数据库程序包


# 作为服务器端需要安装的程序包除了2和4都要安装

[[email protected] ~]# yum -y install zabbix-2.0.8-3.el6.x86_64.rpm zabbix-get-2.0.8-3.el6.x86_64.rpm zabbix-server-2.0.8-3.el6.x86_64.rpm zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm zabbix-web-2.0.8-3.el6.noarch.rpm zabbix-web-mysql-2.0.8-3.el6.noarch.rpm

# 安装好之后可以查看一下数据库程序包安装的位置,特别要注意红色的数据库文件

[[email protected] ~]# rpm -ql zabbix-server-mysql
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-2.0.8
/usr/share/doc/zabbix-server-mysql-2.0.8/create
/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql

[[email protected] ~]# cd /etc/zabbix/
[[email protected] zabbix]# ls 
web  zabbix_server.conf
[[email protected] zabbix]# vim zabbix_server.conf

DBHost=172.16.27.88  # 连接数据库的主机名

DBName=zabbix  # 数据库名

DBUser=zabbix  # 连接数据库所使用的用户

DBPassword=linux # 用户的数据

DBPort=3306   # 连接数据库的端口

配置文件中各参数的详细说明如下表,按需要启动这些参数:

DBName=zabbix zabbix所属数据库名称
DBUser=zabbix zabbix所属数据库用户
DBPassword=www.tanxw.com zabbix数据库密码
StartPollers=30 开启多线程数,一般不要超过30个
StartIPMIPollers=4 IPMI轮询的初始值
StartPollersUnreachable=30 该线程用来单独监控无法连接的主机,1个即可

StartTrappers=8

trapper线程数
StartPingers=4 fping线程数
StartDiscoverers=0 自动发现的线程数
CacheSize=384M 缓存空间大小
CacheUpdateFrequency=300 缓存更新的频率
StartDBSyncers=8 与数据库同步数据的线程数
TrendCacheSize=128M 总趋势缓存大小
AlertScriptsPath=/path/something/script 脚本的存放位置
LogSlowQueries=1000 日志慢查询设定

 

第二步:如果数据库跟zabbix server不在同一台主机上,那就要去远程主机上创建数据库了和给用户授权了,这里我们也是在不同的上机上进行操作:

[[email protected] ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8174
Server version: 10.0.10-MariaDB-log MariaDB Server

Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

MariaDB [(none)]> GRANT ALL ON *.* TO ‘root‘@‘172.16.%.%‘ IDENTIFIED BY ‘linux‘ WITH GRANT OPTION;
Query OK, 0 rows affected (0.06 sec)

MariaDB [none]> GRANT ALL ON zabbix.* TO ‘zabbix‘@‘172.16.%.%‘ IDENTIFIED BY ‘linux‘;
Query OK, 0 rows affected (0.27 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> CREATE DATABASE zabbix;

Query OK, 0 rows affected (0.31 sec)

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.16 sec)

MariaDB [(none)]>

第三步:在服务器端安装上mysql客户端,或者把上面安装zabbix-server-mysql生成的数据库文件复制到数据库服务器上去,再导入到数据库中去,这里我们使用的是远程导入,就是在zabbix服务器端安装上mysql客户端,再把/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql、/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql、/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql这三个文件导入到已经创建好的数据库中去;

[[email protected] zabbix]# rpm -q mysql

mysql-5.1.71-1.el6.x86_64

# 使用刚授权的远程用户把数据导入到数据库中去

[[email protected] ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql 
[[email protected] ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql

[[email protected] ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql

# 而后再回去172.16.27.88这台主机上的数据库中查看一下导入的数据是否成功

MariaDB [(none)]> USE zabbix
Database changed
MariaDB [zabbix]> SHOW TABLES;
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          |
| actions               |
| alerts                |
| applications          |

.........................

103 rows in set (0.07 sec)

MariaDB [zabbix]>

# 再回到zabbix-server服务器端修改一下时区

[[email protected] zabbix]# vim /etc/php.ini
date.timezone = Asia/Shanghai
[[email protected] zabbix]# service httpd restart

Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[[email protected] zabbix]#

 

第四步:启动zabbix-servere服务,这里要注意的是httpd安装好和php也要安装上,启动httpd服务和zabbix-server之后就可以在页面上访问安装了,zabbix-server会启动一大堆进程,默认监听的端口是10051:


[[email protected] zabbix]# service zabbix-server start

Starting Zabbix server:                                    [  OK  ]

[[email protected] zabbix]# ss -tlnp

到这里就就算是配置安装好了,那接下来的的很多操作基本上都是在这个界面上完成的,定义各个监.控对象等。现在我们再找几个节点,也就是再弄几台虚拟机安装上zabbix-agent,把这几个安装了zabbix-agent的主机添加到监.控服务中来:

1、在被监.控的主机上安装zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm这几个包,但sender这个包不是必须的,只有在被监.控端主动向服务器端发送监.控数据库时才需要安装,这里我们就一并安装了吧,先把数据库这台主机安装上agent,而后再安装其实主机测试使用:


[[email protected] ~]# yum -y locainstall zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm

# 修改配置文件,指定zabbix的服务器端的地址

[[email protected] ~]# cd /etc/zabbix/
[[email protected] zabbix]# ls 
zabbix_agentd.conf  zabbix_agentd.d
[[email protected] zabbix]# vim zabbix_agentd.conf 
Server=172.16.27.1# 只需要改这个监.控服务器地址就可以启动了

[[email protected] ~]# service zabbix-agent start
Starting Zabbix agent:                                     [  OK  ]
[[email protected] ~]# ss -tnlp # zabbix agent监听的端口是10050sss

2、添加监.控主机到zabbix服务中去,在这里要说的是里面的选项很多,不过官方文档有很详细的说明,https://www.zabbix.com/documentation/2.0/manual/config/hosts/host

3、再创建一个监.控项item,点击上图中的Item项,再点击右上角的create item就可以创建item项了,这里我们添加两个做为测试,一个是eth0的数据流出量和流入量:

4、创建图形展示数据,点击Graphs,再点create graphs就可以创建图形展示数据了,填上相关的参数:

5、多个图组合在一个屏幕上查看的创建,也就是定义screens:

基本的监.控对象定义大概就是这个步骤,很多的监.控项还需要多花时间去了解认识,还是要结合官方文档了解清楚,这样才可以准确定义我们所需要监.控的对象,那接下来我们再来定义邮件通知、自动发现并添加主机和定义模板:

1、定义模板和发现主机,并自动添加主机:

定义一个发现规则:

2、报警发送邮件的定义,先定义一个媒介,而后再去定义一个用户,用来接收邮件的:

定义一个actions:

当流量超过我们定义的阈值时就会发送报告信息,通过邮件发送信息给我们的监.控用户:

总结:

zabbix是一个很强大并且开源的监.控系统,很多功能有待我们去了解去发现,通过上面的一些相关配置我们大概了解一这个监.控系统的基本的配置过程了,当然,于由水平有限,不难会出错或做得不到位的,还望大神多多指点。

本文出自 “温水煮青蛙” 博客,请务必保留此出处http://tanxw.blog.51cto.com/4309543/1411328

Zabbix监控系统功能及基本使用

时间: 2024-10-25 22:18:11

Zabbix监控系统功能及基本使用的相关文章

Zabbix监控系统详解:系统功能介绍

监控系统在运维自动化里的角色,可以用下面三点来概括: 1.监控数据收集及可视化 2.异常数据报警 3.和其他系统协同工作. 使用zabbix时,一般需要在被监控的服务器上安装Zabbix Agent,Zabbix Server 会和Zabbix Agent进行过通信,获取监控数据,这是Zabbix监控的一般模式. 选择Zabbix的理由: 监控系统能够自定义监控的内容,可以自己写脚本来收集需要的数据 数据要保存在数据库中,这样在需要的时候可以对这些数据进行分析计算 能够方便.快速得将监控加入到服

Zabbix监控搭建

系统环境:Centos 6.6 软件环境:Zabbix-2.4.4 1.Server端安装基础软件包 在Server端安装基础软件包,这里使用的是系统自带的网络Yum源(本地Yum源会出现部分软件包安装不上,也可以使用源码包安装) yum -y install wget vim tree gcc gcc-c++ autoconf httpd php mysqlmysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql p

zabbix监控环境搭建错误(1)

我们在搭建zabbix监控时由于自己的操作错误会出现下图的错误: 我们在组态中创建动作时:要是在动作那栏把配置写好后直接点存档后就会出现如图上的错误,具体解决方法如下 点到操作选项并添加新的动作操作后将配置填好后先点添加最后点存档,要不然就会报图1的错误!

资源汇集:跟着ttlsa学习zabbix监控

从2009年开始接触zabbix,当时版本在1.8,经过差不多5年的时间,zabbix历经2.0,2.1,2.2数个版本,虽然大多数功能保持不变,但是还是有非常明显的改变. Zabbix VS Nagios指数 我们来看看zabbix的发展趋势,打开http://index.baidu.com/?tpl=trend&word=zabbix,可以看到这个月的日平均指数在258,整体同比增长928%,环比增长10%.nagios月平均指数在308,同比增长13%,环比24%,可以看出zabbix虽然

zabbix监控LINUX下CPU,硬盘,流量,内存

1.LINUX下zabbix客户端安装 [[email protected] ~]# mkdir /usr/local/zabbix [[email protected] ~]# mv zabbix_agents_2.0.3.linux2_6.amd64.tar.gz /usr/local/zabbix/ [[email protected] ~]# cd /usr/local/zabbix/ [[email protected] zabbix]# tar zxvf zabbix_agents_

部署zabbix监控mysql (一) 安装zabbix

部署zabbix监控mysql (1)安装LAMP环境 [[email protected] ~]# yum -y installmysql-server http php (2)安装zabbix web所需要的依赖包 [[email protected] ~]# yum -y installmysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmathphp-mbstring php-xml 安装Fpin

zabbix监控MySQL(windows和linux环境)

一.linux环境下监控MySQL Zabbix Server自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了 监控项目: Com_update:     mysql执行的更新个数 Com_select:     mysql执行的查询个数 Com_insert:     mysql执行插入的个数 Com_delete:     执行删除的个数 Com_rollback:   执行回滚的操作个数 Bytes_received:  接

Zabbix监控

一.监控概述: ·初级: ·1.识别监控对象 (分级) ·2.理解监控对象  (理论基础) ·3.细分监控对象的指标 ·4.确定告警的基准线 ·预中级: 1.工具化和监控分离 2.监控对象的分类: 2.1 硬件监控 (方法:机房巡检.IPMI.SNMP简单网络管理协议.) 2.2 系统监控  (对象:cpu.内存.IO[磁盘.网络]) 2.3 服务监控  (对象:分类服务) 2.4 日志监控   (方法:Elastic Stack) 2.5 网络监控   (方法: 第三方.Smokeping)

Zabbix监控PostgreSQL

Zabbix监控PostgreSQL 学习 PostgreSQL zabbix Zabbix监控PostgreSQL 1. 安装libzbxpgsql 2. 配置zabbix配置文件zabbix_agentd.conf 3. 创建监控用户 4. 导入监控模板 5. 主机链接模板,设置宏变量 因上次用到了PostgreSQL,而所使用的监控又是Zabbix,所以找到了此插件用于Zabbix监控PostgreSQL. 插件网站:PostgreSQL monitoring for Zabbix Git