zabbix自动注册简单介绍---创建自动注册的actions

 
怎么把1000台机器加zabbix里
zabbix提供了网络发现和自动注册2个功能,发现有机器连过来,给它加个模板
如果是windows,link一个win的模板。如果是linux,link一个linux的模板。
server主动发现,是你设置一个IP范围,server主动去扫描
自动注册是agent端发起的。这些都依赖于action
甚至可以让它自动加入到主机组
 

下面就是自动注册

在operations这里找到Add host

 
 
 
 action里面可以加入如下动作。自动加入到组,并且自动Link一个模板
 

 

 
 
创建Screen

screen让你可以把喜欢或者觉得重要的graph加入到一个图形界面里显示。比如同时显示2个监控图形。

 

创建1个2行2列的screen。

 

 
 
 

 点击change可以添加图形

点击change可以随便选择,选择放graph
注意下面Dynamic要勾上

4个change都改了

 面板这里这里可以添加喜爱的screen

加入进来了

从Monitor--Screens里也可以加

zabbix监控主动模式


默认情况下zabbix是运行在被动模式,这个主动和被动是针对zabbix-agent来说的
agent默认监听一个端口,10050,server会定期主动过来要数据。server端主动的发命令,告诉agent。取哪些数据
如果1万台机器,zabbix同时要发10000个请求到agent,问他们数据。这么弄肯定有问题
zabbix agent也支持主动模式,主动给服务器发消息,这时候用于分布式比较好了

 
下面是目前被动模式的配置

 

 
 
 
 
 添加agent主动监控模板
模板可以克隆目前的被动模板,然后更改为主动模式

全部克隆

 

 
zabbix基本上除了加机器,所有地方都可以克隆,其余均不动,这里加个Active。点击下面的add即可

 
看到了刚才克隆的
 

 
 
点开这个模板,你能看到它连接了某个模板

点击进去

点击Full clone

 
 

把克隆出来的改成如下名字,多了个Active用来区分,然后点击Add

 
 

把系统模板的链接改下,改成主动的那个

改成如下

以上更改仅仅是添加了新的模板,items这里并没改掉

 
找到这个模板,然后全选

批量修改

 

下面这里改成Active的

右边的items这里都变成了Active的。上面没变的是link的另一个模板的,因此link的模板也要改

 

 
批量更改link的模板的items
 

也改成active的

 改成如下的了
 
 

 再次查看系统active的模板,items全部变成active的了

删除之前的node2主机,改成主动模式添加

node2的配置文件需要更改
把Server和ListenPort都注释掉

下面是设置为0才表示agent开启主动监控模式

把ServerActive改成Zabbix Server的地址,把Hostname改成自己的主机名

 

 过滤下配置
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.1.161
Hostname=linux-node2.example.com
Include=/etc/zabbix/zabbix_agentd.d/
UserParameter=login-user,uptime | awk -F ' ' '{print $4}'
[root@linux-node2 ~]#

重启agent服务

[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@linux-node2 ~]#

看到不再监听端口了

[root@linux-node2 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2075/sshd
tcp 0 0 :::22 :::* LISTEN 2075/sshd
[root@linux-node2 ~]# ps -ef | grep zabbix
zabbix 76194 1 0 19:38 ? 00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 76195 76194 0 19:38 ? 00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix 76197 76194 0 19:38 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root 76211 75384 0 19:42 pts/0 00:00:00 grep --colour=auto zabbix
[root@linux-node2 ~]#

  

网页里添加主机

 
 
 模板里添加此主机
 

 
 
 这时候,主机这里显示灰色

 监控这里开始有数据了,表示主动监控成功了

 
 
 
Zabbix Proxy

 
假如你有多个机房,你每个机房都可以部署zabbix proxy,它的作用主要方面是减轻Zabbix Server的压力
有些公司有1万个主机需要监控,部署了10个Zabbix Proxy,proxy 不处理任何东西,仅仅搜集数据
在10.0.1.163机器上安装Zabbix Proxy
先配置yum源
mkdir /tools -p
cd /tools/
wget http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm

  

zabbix-proxy需要有一个数据库,因为它要搜集数据,另外zabbix-proxy是没有web界面的,它只是一个进程
yum install -y zabbix-proxy  zabbix-proxy-mysql mysql-server

  

安装完毕
[root@linux-proxy tools]# yum install -y zabbix-proxy  zabbix-proxy-mysql mysql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirrors.cn99.com
* updates: mirrors.cn99.com
Package zabbix-proxy-2.4.8-1.el6.x86_64 already installed and latest version
Package zabbix-proxy-mysql-2.4.8-1.el6.x86_64 already installed and latest version
Package mysql-server-5.1.73-8.el6_8.x86_64 already installed and latest version
Nothing to do
[root@linux-proxy tools]#

启动刚装的mysql,并设置密码

[root@linux-proxy tools]# /etc/init.d/mysqld start
Initializing MySQL database: WARNING: The host 'linux-proxy.example.com' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h linux-proxy.example.com password 'new-password' Alternatively you can run:
/usr/bin/mysql_secure_installation which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [ OK ]
Starting mysqld: [ OK ]
[root@linux-proxy tools]# /usr/bin/mysqladmin -uroot password 'zabbix'
[root@linux-proxy tools]# mysql -uroot -pzabbix
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec) mysql>

  

创建zabbix_proxy库,并授权zabbix用户,导入数据

[root@linux-proxy tools]# rpm -ql zabbix-proxy-mysql
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-2.4.8
/usr/share/doc/zabbix-proxy-mysql-2.4.8/create
/usr/share/doc/zabbix-proxy-mysql-2.4.8/create/schema.sql
[root@linux-proxy tools]# /usr/bin/mysqladmin -uroot password 'zabbix'
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@linux-proxy tools]# mysql -uroot -pzabbix
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database zabbix_proxy character set utf8;
Query OK, 1 row affected (0.00 sec) mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec) mysql> use zabbix_proxy;
Database changed
mysql> source /usr/share/doc/zabbix-proxy-mysql-2.4.8/create/schema.sql
Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

  

修改proxy配置文件

[root@linux-proxy tools]# vim /etc/zabbix/zabbix_proxy.conf

看到如下注释,proxy也可以运行在Active和Passtive模式下,工作中主要还是运行在Active模式下

这里虽然默认是0,最好是取消注释,下面是Zabbix Server的地址

下面这里是Zabbix Server的端口,默认就是10051,不用更改,下面是proxy的名称,这里不要和别的proxy以及agent重名了。
 

DBHost和DBName都没变,不用修改

 

 用户名和密码。

检查配置

[root@linux-proxy tools]# vim /etc/zabbix/zabbix_proxy.conf
[root@linux-proxy tools]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=10.0.1.161
Hostname=node3-proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
ExternalScripts=/usr/lib/zabbix/externalscripts
[root@linux-proxy tools]#

  

 启动服务,检查监听,看到proxy使用的是10051端口
[root@linux-proxy tools]# /etc/init.d/zabbix-proxy start
Starting Zabbix proxy: [ OK ]
[root@linux-proxy tools]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2076/sshd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13310/zabbix_proxy
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13219/mysqld
tcp 0 0 :::22 :::* LISTEN 2076/sshd
tcp 0 0 :::10051 :::* LISTEN 13310/zabbix_proxy
[root@linux-proxy tools]#

  

接下来在zabbix-server上加上这个proxy节点

生产中最好把描述写上,方便别人

接下来类似正常添加主机,先把下面的删除了

接下来把node2加进去,让proxy监控,和一般加主机没太多区别

下面这里要选择proxy

 

先别着急add,模板这里也要改。改成如下

 添加完毕,如下

还需要把node2的指向改成proxy

[root@linux-node2 ~]# vim /etc/zabbix/zabbix_agentd.conf

下面改成proxy地址,因为它要把数据发给proxy

重启agent

[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@linux-node2 ~]#

  

配置的一个小插曲
网页上加入对linux-node2.example.com 主机的监控,Zabbix Proxy必须能解析node2的主机名。如果解析不了,会报如下错误
[root@linux-proxy tools]# tail -f /var/log/zabbix/zabbix_proxy.log
13537:20170315:225713.912 proxy #17 started [http poller #1]
13542:20170315:225713.918 proxy #22 started [history syncer #4]
13531:20170315:225713.918 proxy #11 started [trapper #2]
13543:20170315:225713.918 proxy #23 started [self-monitoring #1]
13532:20170315:225713.918 proxy #12 started [trapper #3]
13528:20170315:225713.919 proxy #8 started [poller #5]
13533:20170315:225713.922 proxy #13 started [trapper #4]
13538:20170315:225713.941 proxy #18 started [discoverer #1]
13520:20170315:225813.966 sending heartbeat message to server failed: error:"negative response: "failed"", info:"proxy "linux-proxy.example.com" not found"
13534:20170315:225858.853 cannot send list of active checks to [10.0.1.162]: host [linux-node2.example.com] not found

  

下面是正常情况下的日志,Proxy从Server那边获取数据,然后接受node2的数据,如果解析不了node2的主机名,就会报上面错误
[root@linux-proxy tools]# tail -f /var/log/zabbix/zabbix_proxy.log
13638:20170315:230149.414 proxy #17 started [http poller #1]
13642:20170315:230149.415 proxy #21 started [history syncer #3]
13634:20170315:230149.415 proxy #13 started [trapper #4]
13637:20170315:230149.420 proxy #16 started [housekeeper #1]
13641:20170315:230149.420 proxy #20 started [history syncer #2]
13633:20170315:230149.424 proxy #12 started [trapper #3]
13643:20170315:230149.426 proxy #22 started [history syncer #4]
13635:20170315:230149.431 proxy #14 started [trapper #5]
13639:20170315:230149.448 proxy #18 started [discoverer #1]
13620:20170315:230149.453 received configuration data from server, datalen 7423

  

 另外proxy的配置文件,这里可以随便写,但是要有意义,还不能和别的重名

 网页这里配置的proxy名字也要对应

 
 
 

Zabbox自动化监控---自动注册


自动化监控分为:
agent自动注册
server端自动发现
通过zabbix api方式插入数据(比如从cmdb读取资产里的主机,然后通过Zabbix的api插入Zabbix数据库)

 
 
 自动注册肯定运行在主动模式下了
页面上删除机器,使用自动注册让它被监控
更改agent配置
 

下面的163结尾的地址是proxy的地址
 

hostname肯定是唯一的

1、自动注册
下面这个类似角色,模板
下面是你的主机元数据,通过获取agent端的元数据,可以提取关键字,然后关联相应的模板。这里不用修改

 
system.uname是什么呢,作用是什么呢,我这metadata是通过这个监控项获取,你不用设置

通过zabbix_get 获取值下面,类似uname -a的输出
看到有Linux,server端就给你加Linux模板
[root@linux-node1 ~]# zabbix_get -s 10.0.1.161 -k system.uname
Linux linux-node1.example.com 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64
就改了上面这一个
[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@linux-node2 ~]#

  

接下来web页面配置
配置一个事件,很少有人看到事件源自哪里
选择自动注册,这样再选择create action
 

条件,因为那个zabbix连在proxy上的
首先你那个agent主机是连在proxy上的,其次你的matedata类似Linux

 
就是下面这种
[root@linux-node1 ~]# zabbix_get -s 10.0.1.161 -k system.uname
Linux linux-node1.example.com 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64

这两个条件
注意你的条件是a and b,operation 表示你想让它干什么。添加这台主机,然后添加主机组,再link一个模板

创建完毕,等着,一会就出现了发现的主机

 

一会出来了
你要是觉得慢,可以重启下agent,agent第一次起来就去请求数据了
检查,已经自动加入到组里了

已经自动link上模板了

 
 
Zabbox自动化监控---自动发现

 
这次不会用到Zabbix proxy,是Zabbix server主动扫描IP段,继续删除这台机器

删除完毕后action这里自动注册关闭了,防止干扰下面的实验,你以为成功了,其实是它的功劳

接下来不使用proxy了
使用discovery,你可以配置一下扫描一个ip段,扫描到之后把它加进来
先改成被动模式,node的agent.conf改成如下,server的地址

StartAgents改成3

下面这里改成默认的127.0.0.1

 
其余的不用管了
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.1.161
StartAgents=3
ServerActive=127.0.0.1
Hostname=linux-node2.example.com
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/
UserParameter=login-user,uptime | awk -F ' ' '{print $4}'
[root@linux-node2 ~]#

  

以上就是改成被动模式,启用监听端口,连上server
[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@linux-node2 ~]#
 
discovery默认有一个,点开

 
IP range小点,不然等待所有主机超时,慢,因为做实验,所以无所谓
以IP地址为标识
勾上enabled

这时候需要创建action,注意右边

默认有一个是关闭的,在它的基础上改

默认的这些都不用改

operation这里添加add host

然后点击右边的启用

看到这里又自动发现了

Zabbix-2.4-安装-3的更多相关文章

  1. zabbix 3.0 安装 ubuntu环境

    zabbix 3.0 安装 标签(空格分隔): 开发 [TOC] 下载deb # wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/z ...

  2. zabbix windows angent安装:

    zabbix windows angent安装:1.下载zabbix agent for windows客户端,直接解压到C盘下.C:\zabbix 的目录015/04/21 11:16 <DI ...

  3. Zabbix概念、安装以及快速入门

    Zabbix is an enterprise-class open source distributed monitoring solution.[1] Zabbix是一个企业级的.开源的.分布式的 ...

  4. 【zabbix系列】安装与加入host

    測试环境 Ubuntu 14.04.1 LTS [服务端安装] 关于安装官方提供了非常具体的安装方法,包含各平台的源代码及包安装.关于其它版本号Linux请參考 https://www.zabbix. ...

  5. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  6. zabbix学习笔记----安装----2019.03.26

    1.zabbix官方yum源地址:repo.zabbix.com 2.安装zabbix server zabbix server使用mysql作为数据库,在zabbix 3.X版本,安装zabbix- ...

  7. zabbix客户端的安装、zabbix主被动模式、添加主机模板等、处理页面的中文乱码

    1.zabbix客户端的安装: 如下步骤: wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch. ...

  8. 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装

    1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...

  9. CentOS7 zabbix服务 简单安装文档

    1. 简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快 ...

  10. zabbix v3.0安装部署

    这篇文章没有写明init的部分要注意 zabbix v3.0安装部署 摘要: 本文的安装过程摘自http://www.ttlsa.com/以及http://b.lifec-inc.com ,和站长凉白 ...

随机推荐

  1. linux安装jdk、tomcat、maven、mysql

    安装SZ rz与Gcc 首先需要tomcat的jar包,打算rz上去,发现没有安装 ./configure的时候发现缺少gcc和cc 安装解决: 再次执行成功安装了sz和rz 创建软链接然后就可以使用 ...

  2. CSS学习笔记-02. 2D转换模块-形变中心点

    简单粗暴,直接上重点:  transform-origin 接下来是代码. 首先 勾勒出 3个重叠的div 接着 给3个div分别添加 transform: rotate . <!DOCTYPE ...

  3. ubuntu 16.04 菜单栏中无网络链接的图标 无法上网 网络管理版本不兼容

    1 卸载network-manager 卸载后将不能联网 sudo apt-get remove network-manager 2 重新安装network-manager重启 引导界面选择ubunt ...

  4. L255

    If a farmer wishes to succeed, he must try to keep a wide gap between his consumption and his produc ...

  5. volatile(一)

    在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题.我们先看具体看一下这三个概念: 1.原子性  原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断 ...

  6. 关于urls 的基础

    1 普通正则 2 分组正则 url(r'/blog/(\d+)/(\d+)',views.blog)     blog(request,arq1,arq2) 按照位置传参 3 分组命名 url(r'/ ...

  7. Vuex的学习笔记一

    以下的解释,是在知乎看到的,感觉粗俗易懂. 组件之间的作用域独立,而组件之间经常又需要传递数据. A 为父组件,下面有子组件 B 和 C. A 的数据可以通过 props 传递给 B 和 C.A 可以 ...

  8. 【Python】进程-锁(1)

    #第二题,做一个加减乘除的考试系统,自动出题,自动判对错,并统计结果,一次考试10道题 import random symbols=["+","-"," ...

  9. shell统计当前文件夹下的文件个数、目录个数

    1. 统计当前文件夹下文件的个数 ls -l |grep "^-"|wc -l 2. 统计当前文件夹下目录的个数 ls -l |grep "^d"|wc -l ...

  10. Kaggle:Home Credit Default Risk 数据探索及可视化(1)

    最近博主在做个 kaggle 竞赛,有个 Kernel 的数据探索分析非常值得借鉴,博主也学习了一波操作,搬运过来借鉴,原链接如下: https://www.kaggle.com/willkoehrs ...