实战网络监控Zabbix(1)—— 远程监控主机服务

1. Zabbix 简介

Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。

官方网站: http://www.zabbix.com

1.1 zabbix模式

Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。

     被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据

      Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。

1.2 Zabbix 运行条件:

 Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低

   Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows

     SNMP:支持各类常见的网络设备

2.优劣势

优点:

开源,无软件成本投入

Server 对设备性能要求低

支持设备多,自带多种监控模板

支持分布式集中管理,有自动发现功能,可以实现自动化监控

开放式接口,扩展性强,插件编写容易

当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。

Api 的支持,方便与其他系统结合

缺点:

需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

实验环境:

物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64

虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64

服务器端: server1.example.com    172.25.254.1

客户端:    server2.example.com    172.25.254.2

所需软件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm

一.服务器端配置

Zabbix 需要 lamp 环境:

1. 安装 zabbix 所需软件包

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm

2. 配置 mysql 数据库

# service mysqld start

# mysql

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to [email protected] identified by willis;

mysql> quit;

# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create

# mysql -uzabbix -pwestos zabbix < schema.sql

## stop here if you are creating database for Zabbix proxy ##

# mysql -uzabbix -pwestos zabbix < images.sql

# mysql -uzabbix -pwestos zabbix < data.sql

3. 配置 zabbix server

[[email protected] create]# vim /etc/zabbix/zabbix_server.conf 

72    DBHost=localhost

82    DBName=zabbix

106  DBPassword=willis

163  StartTrappers=10

4. 配置 php

[[email protected] conf.d]# vim /etc/php.ini 

946 date.timezone = Asia/Shanghai

[[email protected] conf.d]# pwd

/etc/httpd/conf.d

[[email protected] conf.d]# vim zabbix.conf 

13     php_value max_execution_time 300

14     php_value memory_limit 128M

15     php_value post_max_size 16M

16     php_value upload_max_filesize 2M

17     php_value max_input_time 300

18     php_value date.timezone Asia/Shanghai

5. 启动 zabbix server、zabbix agent、httpd

# service httpd start

# service zabbix-server start

# service zabbix-agent start

6. 登陆 zabbix web

http://172.25.254.1/zabbix 按照提示完成安装并登陆:

Username: Admin

Password: zabbix

可以看到 Zabbix server is running 状态值为Yes.服务端部署完成。

二.被监控端配置(server2)

7. 添加 agent 主机

7.1在被监控端安装软件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

7.2配置 zabbix agent

# vim /etc/zabbix/zabbix_agentd.conf

85      Server=172.25.254.1

126    ServerActive=172.25.254.1

137    Hostname=server2.example.com    #主机名需要有解析

7.3启动 zabbix agent

[[email protected] zabbix]# /etc/init.d/zabbix-agent restart

网页端配置:

Configuration ->Discovery

8. 在 zabbix server 上激活 zabbix agent 自动注册功能

点击 Configuration -> Actions ->Auto registration ->Create action 按下图所示设置:

自定义 Action 的名字。

Conditions 选项卡保持默认即可。

Operations 选项卡添加如下 :

Add host:自动注册主机添加到 hosts 列表

Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)

Link to templates:自动注册主机应用模板 Template OS linux

点击 Configuration -> Hosts 可以看到新加的主机:

三. 添加http服务监控

Zabbix 的更多功能值得大家一起研究和分享。

来看看 zabbix 是怎样添加服务监控项的,利用 zabbix 自带的监控模版,以 http 服务为例:

点击 Configuration -> Templates 选择需要链接的模版

也可以在 Configuration -> Hosts -> server2.example.com -> Templates 选择需要的模版

这样主机 server2.example.com 的监控项中就出现了 HTTP 服务

四.监控远程主机Mysql服务

在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。

[[email protected] zabbix]# yum install mysql-server -y

[[email protected] zabbix]# /etc/init.d/mysqld start

[[email protected] zabbix]# mysql_secure_installation   

###初始化数据库 ,我把数据库密码改成了willis

[[email protected] zabbix]# mkdir /var/lib/zabbix

[[email protected] zabbix]# cp /etc/my.cnf /var/lib/zabbix/.my.cnf

[[email protected] zabbix]# vim /var/lib/zabbix/.my.cnf

[mysql]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

[mysqladmin]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

监控远程主机的 mysql 服务需要创建 zabbix 用户并授权,本机监控则不需要。

mysql> grant select on *.* to [email protected] identified by willis;

[[email protected] zabbix]# mysql -uzabbix -pwillis

[[email protected] zabbix]# /etc/init.d/zabbix-agent restart

Shutting down Zabbix agent:                                [  OK  ]

Starting Zabbix agent:                                     [  OK  ]

链接 mysql 监控模版:

点击 Configuration -> Hosts -> server2.example.com-> Graphs 可以看到两个新的监控图形

过一会可以看到监控的图形变化

  • 版权声明: 本文源自互联网, 于3个月前,由整理发表,共 4680字。
  • 原文链接:点此查看原文