Zabbix-2.4-安装-3-程序员宅基地

技术标签: 网络  运维  数据库  

 
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

 

然后点击右边的启用

 

看到这里又自动发现了

 

 

转载于:https://www.cnblogs.com/nmap/p/6545859.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30475039/article/details/95327412

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签