zabbix监控(三)

2017年12月31日19:39:27zabbix监控(三)已关闭评论 519 views

第1章 分布式监控

1.1 分布式监控介绍

  • 分布式监控功能:
  1. 能够减轻服务端的压力,可以利用zabbix proxy服务器分担压力
  2. zabbix server只能在同一个局域网内监控,可以利用zabbix proxy实现跨网段监控
  • 分担压力场景图示:所有主机在同一个网段

zabbix监控(三)

  • 跨网段场景图示:

zabbix监控(三)

1.2 zabbix_proxy端配置

1.2.1 安装zabbix_proxy

1.2.1.1 安装zabbix源:

  • CentOS 6
1
[root@centos6 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
  • CentOS 7
1
[root@centos7 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

1.2.1.2 安装zabbix-proxy-mysql

1
[root@centos ~]# yum install -y zabbix-proxy-mysql

1.2.2 安装MySQL数据库

zabbix proxy需要数据库存储相关的配置信息,但是只存储主机等配置信息,监控数据不会存储,会直接发给server。

此处MySQL安装过程省略,使用m01上的数据库进行存储,生产环境中需要在proxy上安装数据库,或者使用专门的数据库服务器进行存储(对数据库性能无要求)。

1.2.3 配置MySQL数据库

1.2.3.1 更新zabbix用户权限

1
2
3
4
[root@m01 ~]# mysql
mysql> use mysql;
mysql> update user set host='172.16.1.%' where user='zabbix';
mysql> flush privileges;

1.2.3.2 创建zabbix_proxy需要的数据库和用户

1
2
3
4
5
6
[root@m01 ~]# mysql
# 创建proxy用的数据库
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
# 创建proxy用的账户
mysql> grant all privileges on zabbix_proxy.* to zabbix@'172.16.1.%' identified by 'zabbix';
mysql> flush privileges;

1.2.3.3 测试web01是否可以连接m01数据库

1
2
3
[root@web01 ~]# mysql -uzabbix -pzabbix -h172.16.1.61
...此处省略部分内容...
mysql>  #代表连接成功

1.2.3.4 导入SQL文件

1
[root@web01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.0.12/schema.sql.gz | mysql -uzabbix -pzabbix -h172.16.1.61 zabbix_proxy

1.2.4 修改zabbix_proxy配置文件

1
2
3
4
5
6
7
8
9
[root@web01 ~]# vim /etc/zabbix/zabbix_proxy.conf
24 Server=172.16.1.61
43 Hostname=web01
129 DBHost=172.16.1.61
139 DBName=zabbix_proxy
154 DBUser=zabbix
163 DBPassword=zabbix
# 或
[root@web01 ~]# sed -i.bak 's#Server=127.0.0.1#Server=172.16.1.61#;s#Hostname=Zabbix proxy#Hostname=`hostname`#;128a DBHost=172.16.1.61\nDBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf

1.2.5 启动zabbix_proxy服务

  • CentOS 6
1
[root@centos6 ~]# service zabbix-proxy start
  • CentOS 7
1
[root@centos7 ~]# systemctl start zabbix-proxy

1.2.6 设置zabbix_proxy开机自启动

  • CentOS 6
1
[root@centos6 ~]# chkconfig zabbix-proxy on
  • CentOS 7
1
[root@centos7 ~]# systemctl enable zabbix-proxy

1.3 zabbix_agent端配置

1.3.1 更改zabbix客户端配置文件

1
2
3
4
5
6
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
# 将所有客户端指向的服务改为zabbix_proxy服务器地址
95 Server=172.16.1.8          
136 ServerActive=172.16.1.8
# 或
[root@web01 ~]# sed -i 's#172.16.1.61#172.16.1.8#g' /etc/zabbix/zabbix_agentd.conf

1.3.2 重启客户端服务

  • CentOS 6
1
[root@centos6 ~]# service zabbix-agent restart
  • CentOS 7
1
[root@centos7 ~]# systemctl restart zabbix-agent

1.4 zabbix_server端配置

1.4.1 创建代理程序

zabbix监控(三) zabbix监控(三)

1.4.2 查看客户端状态

zabbix监控(三)

第2章 SNMP监控

2.1 SNMP简介

2.1.1 Zabbix监控的种类

前面的监控都是基于Zabbix agent的监控,主要有如下四种种类

  1. ZBX:Zabbix agent监控
  2. SNMP:简单网络管理协议(simple network manager protocol)监控
  3. JMX:专门对java应用的监控(讲完tomcat Java应用再讲)
  4. IPMI:对硬件的监控

2.1.2 使用SNMP监控的原则

  • 能安装zabbix agent的时候就用zabbix agent的方法
  • 不能安装zabbix agent的时候再使用SNMP监控,如交换机,打印机等智能设备
  • 生产环节建议:能够安装agent的时候先用agent;如果不能装或者装不了那么可以使用snmp

2.1.3 SNMP协议

snmp就是专门为设备监控开发的协议、软件,优缺点如下:

  • 优点:软件小巧,所以设备都可以安装
  • 缺点:支持的功能少

2.2 客户端SNMP安装配置

2.2.1 安装SNMP

1
[root@m03 ~]# yum install -y net-snmp net-snmp-utils

2.2.2 配置SNMP

1
2
3
4
5
[root@m03 ~]# cp /etc/snmp/snmpd.conf{,.bak}
[root@m03 ~]# vim /etc/snmp/snmpd.conf
57 view    systemview    included   .1      # 添加此行
# 或
[root@m03 ~]# sed -i.bak '57a view systemview   included  .1' /etc/snmp/snmpd.conf

2.2.3 启动SNMP

1
[root@m03 ~]# service snmpd start

2.2.4 添加SNMP开机自启动

1
[root@m03 ~]# chkconfig snmpd on

2.2.5 客户端获取SNMP数据测试

1
2
[root@m03 ~]# snmpwalk -v 2c -c public 172.16.1.13 sysname
SNMPv2-MIB::sysName.0 = STRING: m03
  • 命令说明:
  1. snmpwalk:类似 zabbix_get
  2. -v 2c:指定使用snmp协议的版本,snmp分为v1、v2、v3
  3. -c public:指定认证模式(程序固定好的,理解为固定格式即可)
  4. sysname:类似zabbix的key

2.3 zabbix服务web配置SNMP服务

2.3.1 添加SNMP主机

zabbix监控(三) zabbix监控(三) zabbix监控(三)

2.3.2 查看主机状态

zabbix监控(三)

第3章 监控Tomcat

3.1 安装zabbix-java-gateway

3.1.1 安装zabbix源

  • CentOS 6
1
[root@centos6 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
  • CentOS 7
1
[root@centos7 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

3.1.2 安装java网关

1
[root@centos ~]# yum install -y zabbix-java-gateway

3.2 配置zabbix server

1
2
3
4
5
6
7
8
9
10
[root@centos ~]# vim /etc/zabbix/zabbix_server.conf
217 JavaGateway=127.0.0.1
225 JavaGatewayPort=10052
235 StartJavaPollers=5
# 或
[root@centos ~]# sed -i -e '217a JavaGateway=127.0.0.1' -e '225a JavaGatewayPort=10052'  -e '235a StartJavaPollers=5' /etc/zabbix/zabbix_server.conf
[root@centos ~]# egrep -n '^J|^S' /etc/zabbix/zabbix_server.conf
217:JavaGateway=127.0.0.1
225:JavaGatewayPort=10052
235:StartJavaPollers=5

3.3 启动服务

  • CentOS 6
1
2
3
4
[root@centos6 ~]# /etc/init.d/zabbix-java-gateway start
[root@centos6 ~]# /etc/init.d/zabbix-server restart
[root@centos6 ~]# netstat -tunlp|grep java
tcp        0      0 :::10052                    :::*
  • CentOS 7
1
2
3
4
5
6
7
8
[root@centos ~]# systemctl start zabbix-java-gateway
[root@centos ~]# systemctl restart zabbix-server
[root@centos7 ~]# netstat -lntup | grep 1005
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2848/zabbix_agentd
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      2772/zabbix_server
tcp6       0      0 :::10050                :::*                    LISTEN      2848/zabbix_agentd
tcp6       0      0 :::10051                :::*                    LISTEN      2772/zabbix_server
tcp6       0      0 :::10052                :::*                    LISTEN      2745/java

3.4 Web界面配置

zabbix监控(三)

zabbix监控(三) zabbix监控(三) zabbix监控(三)

weinxin
我的微信
如果有技术上的问题可以扫一扫我的微信