########31

https://www.cnblogs.com/yjt1993/p/10883345.html

1、概念

  在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些Iterms具有共同的特征,表现为某些特定的参数是变量,而其他设置都是一样的,例如:一个程序有多个端口,而需要对端口配置Iterms。再如,磁盘分区,网卡的名称等等,由于具有不确定性,古配置固定的Items会出现无法通用的问题。

  Low level discovery的Key可以对网卡、文件系统等进行自动发现,当然也支持自定义。

  Low level discovery的使用过程分如下两步:

    (1)自动发现特定变量的名称。

    (2)添加对变量的Items。

  Zabbix中Low level discovery的Key返回值是一个JSON格式。查看Low level discovery Key返回格式如下:

2、案列

  使用Zabbix监控Hadoop集群的进程。每台机器启动的进程不一样,而这个时候想要监控每一台机器的hadoop进程,就需要自动发现规则了,如果配置通用的模板,把每一个监控项(监控每一个hadoop的进程)都配置上,会发现每一台主机对有些监控项是不支持的。

zabbix客户端配置如下:

EnableRemoteCommands=1  开启远程执行命令,默认是0,当监控到hadoop进程掉了以后,自动启动。

Timeout=30  超时

StartAgents=8  开启处理线程 

编写自动发现脚本如下:

[root@manager1 script_py 19:20:09]#cat hadoopDiscovery.py
#!/usr/bin/env python3
import os
import json with open("/data1/zabbix_sh/jps.txt", "r") as f:
text_lst = [i.split("\n")[0] for i in f.readlines()] hadoopProcess = [] for i in text_lst:
hadoopProcess += [{'{#hadoopProcessName}':i}]
print(json.dumps({'data':hadoopProcess},sort_keys=True,indent=7,separators=(',',':')))
[root@manager1 script_py 19:20:12]#cat /data1/zabbix_sh/jps.txt    这里面存储的是当前节点本应该启动的进程
DataNode
Master

执行效果如下:

  (1)自定义Key,如下:

# cat /etc/zabbix/zabbix_agentd.d/hadoop_process.conf
UserParameter=hadoop_process[*],sudo /data1/zabbix_sh/hadoopProcess.py $1
UserParameter=hadoop_state,sudo /data1/zabbix_sh/hadoopState.py
UserParameter=hadoop.process.discovery,sudo /data1/zabbix_sh/hadoopDiscovery.py
hadoopProcess.py脚本如下:
# cat hadoopProcess.py
#!/usr/bin/env python3
'this is a system monitor scripts'
__author__="yjt" import os
import sys
def hadoop_program():
with open("/data1/zabbix_sh/jps.txt", "r") as f:
list_jps = [i.split("\n")[0] for i in f.readlines()] job_value = []
# hadoop_process = ['JournalNode','ResourceManager','HMaster','DataNode','DFSZKFailoverController','QuorumPeerMain','HQuorumPeerMain','JobHistory','Kfaka','NodeManager','Worker','Master','HRegionServer','NameNode','PrestoServer','RunJar']
job_lst = os.popen('/data1/jdk/bin/jps').readlines()
for i in job_lst:
value = i.split()[1]
if value != 'Jps':
job_value.append(value)
if sys.argv[1] in job_value:
print(1 )
elif sys.argv[1] in list_jps:
print(0)
# else:
# print(2) if __name__ == "__main__":
if len(sys.argv) > 1:
hadoop_program()

配置完重启zabbix客户端

测试,是否可以从server端获取到数据:

(2)web界面的配置:

  1)创建一个模板:配置---> 模板--->创建模板

  2)在改模板上创建自动发现规则:

  3)自动发现规则配置

  4)为这个模板创建原型的监控项

  5)创建触发器:

  6)创建图形:

到这里这个模板就创建好了。这个时候在创建主机的时候,关联这个模板看看效果,需要等待一段时间。效果如下:

第一台机器:

第二台机器:

OK

##########32

http://www.ttlsa.com/zabbix/zabbix-user-parameters/

为什么要自定义KEY

有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法。我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter.
语法如下:

 
1
UserParameter=key,command

用户自定义参数包含一个key和一个命令,key必须整个系统唯一,配置好之后,重启客户端。

然后配置item,在key的位置填上我们自定义的key即可。

用户自定义参数里指定的脚本由zabbix agent来执行,最大可以返回512KB的数据.

用户自定义key实例

简单点的命令示例:
UserParameter=ping,echo 1
如果调用ping这个key,将会收到返回值1.
更复杂的命令示例:
UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive
如果返回1表示MySQL运行中,如果返回0表示MySQL挂了

灵活的自定义key:

如下为灵活的用户自定义参数

 
1
UserParameter=key[*],command
参数 描述
Key 唯一. [*]表示里面可以传递多个参数
Command 需要执行的脚本,key的[]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令.

注意事项

1. 如果需要使用命令行里面出现$2这种变量,那么你要使用两个$$2,例如awk ’{ print $$2 }’,之前就遇到过这个问题,不停的测试自己脚本输出正常,但是zabbix却拿不到数据,原来是出在这里。为了防止和参数冲突,所以zabbix做了这个规定。
2. zabbix禁止使用一些不安全的参数,如下:
\ ' ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
3. 从zabbix 2.0开始,zabbix返回文本数据可以是空格。

示例1

UserParameter=ping[*],echo $1
ping[0] - 将一直返回0
ping[aaa] - 将一直返回 'aaa'

示例2

UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive
如下参数用于监控MYSQL,并且可以传递用户名和密码。
mysql.ping[zabbix,our_password]

示例3

统计一个文件中有多少行被匹配?
UserParameter=wc[*],grep -c "$2" $1
如下方法将会返回文件中出现指定字符的行数
wc[/etc/passwd,root]
wc[/etc/services,zabbix]

##########below is sample

1.percona Mysql template

1.1 单实例

一、概述

zabbix自带的MySQL插件来监控mysql数据库,但是太过简陋了,对于我们dba来说,基本没有啥作用,所以需要做更详细的监控,而percona就有这个详细监控的模版以及脚本,正好拿过来用。

percona官网: www.percona.com

Percona组成介绍

1、PHP脚本    用来数据采集  (ss_get_mysql_stats.php)

2、shell脚本  用来调用采集信息 (get_mysql_stats_wrapper.sh)

3、zabbix配置文件

4、zabbix模板文件

5. 300秒的轮询间隔,现有PHP脚本用于收集和缓存MySQL度量,除了一些触发器特定的项之外。由于结果的缓存,PHP脚本每个周期只运行一次。

$cache_dir  = '/tmp';  # If set, this uses caching to avoid multiple calls.

(以下都是在zabbix用户下调试)

6.整个流程

(ServerActive=10.0.0.106 #<====zabbix-server端的IP地址,主动方式)

Zabbix Agent /etc/zabbix/zabbix_agentd.d/ -〉读取 userparameter_percona_mysql.conf –〉调用 get_mysql_stats_wrapper.sh  ix  ->

调用   Php ->

二、安装及配置

1、下载及安装

https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

同时也支持Nagios和catcti

wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm

-〉1配置agent 配置

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

Scripts are installed to /var/lib/zabbix/percona/scripts

Templates are installed to /var/lib/zabbix/percona/templates

yum install percona-zabbix-templates php php-mysql -y

Installed:

  php.x86_64 0:5.3.3-47.el6                 php-mysql.x86_64 0:5.3.3-47.el6               

Dependency Installed:

  php-cli.x86_64 0:5.3.3-47.el6               php-common.x86_64 0:5.3.3-47.el6             

  php-pdo.x86_64 0:5.3.3-47.el6             

Complete!

[root@devops-mysql-node1 ~]# rpm -ql percona-zabbix-templates

/var/lib/zabbix/percona

/var/lib/zabbix/percona/scripts

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh

/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

/var/lib/zabbix/percona/templates

/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf

/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml   为MYSQL监控模板

-zabbix配置文件

将配置文件拷贝到/etc/zabbix/zabbix_agentd.d/目录

cp  /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf

/usr/local/zabbix/etc/zabbix_agentd.conf.d/

More /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf

(这里是支持扩展的脚本位置)

Useparameter=Mysql.rows-updated,****/get_mysql_stats_wrapper.sh ix

**

(Ensure zabbix_agentd.conf contains the line: Include=/etc/zabbix_agentd.conf.d/ )

->2建立本地用户

(如下2个授权grant 命令都需要执行)

> GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'localhost' IDENTIFIED BY '123456';

> grant all privileges on *.* to zabbix@localhost;

> flush privileges;

> select user,host from mysql.user;

> quit;

-〉3zabbix 脚本文件 ss_get_mysql_stats.php (重要,测试mysql 联通性 ,配置项目 使用用户/密码/本地socket连接)

1).vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

$mysql_user = 'root';

$mysql_pass = '123456';

$mysql_port = 3306;

$mysql_socket = '/db/mysql/data/mysqltmp/mysql.sock';

$mysql_flags = 0;

测试环境root密码为空,如果生产环境会创建专门只读账号。

2).同时注意:/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

以下参数定义缓存文件的具体位置

(如果port变量定义一个非默认的3306 端口,就会往/tmp 写入一个文件 t-mysql_cacti_stats.txt:$port)

$cache_file = "$cache_dir/$sanitized_host-mysql_cacti_stats.txt" . ($port != 3306 ? ":$port" : '');

 

注意:

测试1:(zabzabbix 用户下)

 

如果 密码  配置错误,

/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

会出现如下报错 :

root@centos6 ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

ERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

[root@centos6 ~]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

ERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[root@centos6 ~]#

如果连接失败,可以使用如下PHP 测试下

#######

<?php

$i = 10000;

$host= 'localhost';

$user = 'dbmonopr';

$pass = 'dbmonoprommo11';

$port = 3307;

$socket = '/db/mysql/data/mysqltmp/mysql.sock';

$flags = 0;

while($i>=0) {

$conn = mysqli_init();

$link =mysqli_real_connect($conn, $host, $user, $pass, NULL, $port, $socket, $flags) or die(mysqli_connect_error());

$info = mysqli_get_host_info($conn);

$i--;

mysqli_close($conn);

unset($conn);

}

?>

###

2.-> zabbix 脚本文件 get_mysql_stats_wrapper.sh   (如果mysql 端口 不是3306,而是3503。这个也需要修改)

修改1第15行,如果是默认端口,不需要修改这一项

change

CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt"

to

CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt:3503"

修改2: 第19行 到25行,变量里加入“mysql 的绝对路径”和“用户和密码” 和 “2〉/dev/null”

change

19 行 到 25行修改如下:

to

RES=`HOME=~zabbix /db/mysql/app/mysql/bin/mysql  -uuser-pdbmonoprommo11 -e 'SHOW SLAVE STATUS\G' 2>/dev/null | egrep '(Slave_IO_Running|Slave_SQL_Running):' | grep -i yes|wc -l`

if [ "$RES" -ne 2 ]; then

echo 1

else

      RES1=`HOME=~zabbix /db/mysql/app/mysql/bin/mysql  -uuser-pdbmonoprommo11 -e 'SHOW SLAVE STATUS\G' 2>/dev/null | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

     if [ "$RES1" = " Yes, Yes," ]; then

        echo 1

    else

        echo 0

    fi

fi

exit

测试2:(root 用户下)

sudo -u  zabbix -H /usr/local/zabbix/bin/get_mysql_stats_wrapper.sh running-slave

0

(正常情况下,应该返回0或者1,而不是“Access denied” 报错 )

/usr/local/zabbix/bin/get_mysql_stats_wrapper.sh running-slave

0

(正常情况下,应该返回0或者1,而不是“Access denied” 报错 )

需要改配置文件需要重启

/etc/init.d/zabbix-agent restart

或者

pkill zabbix

/usr/local/zabbix/sbin/*

测试3:(zabzabbix 用户下)

进行测试会返回测试结果

cd /var/lib/zabbix/percona/scripts/

./get_mysql_stats_wrapper.sh gm

0

./get_mysql_stats_wrapper.sh gw

20060

或者

/usr/bin/php  -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

0

-q 解读:

(#!/usr/bin/php -q /* -*- c -*- */

3.打开 Debug (zabbix 用户下修改ss_get_mysql_stats.php,确保/tmp/1.log  zabbix 用户有写的权限)

ss_get_mysql_stats.php

$debug    
= true;

$debug_log = '/tmp/1.log';

关闭debug

$debug    
= FALSE; # Define whether you want debugging behavior.

$debug_log = FALSE; # If $debug_log is a
filename, it'll be used.

ss_get_mysql_stats.php 解读:

-〉首先判断语法 是否正确

ss_get_mysql_stats.php --host localhost
--items gg

-〉 其次 语法正确,就会在输出 runquery    SHOW /*!50000 ENGINE*/ INNODB STATUS,

'SHOW /*!50002 GLOBAL */ STATUS'

(如果键值在status没有定义,有可能新版本废弃了,那么返回值为-1)

-> 
其次判断
如果cache_file 超过300秒,就会删除,重写一遍,如果不超过300秒,就不重写一遍。

->最后 如果有写的权限,就会写入一个临时文件 类似 localhost-mysql_cacti_stats.txt.port

附录:

主要运行的命令如下:run_query

命令如下:

SHOW MASTER LOGS

SHOW VARIABLES

SHOW  STATUS

SHOW SLAVE STATUS

SHOW PROCESSLIST

SHOW INNODB STATUS

主要的检查项目如下:

$keys = array(

'Key_read_requests'           => 
'gg',

'Key_reads'                   =>  'gh',

具体
各个属性的 缩写 请参考如下:

Php 连接调试

<?php

$host= 'localhost';

$conn = mysqli_init();

mysqli_real_connect($conn, NULL,
'dbmonopr', 'dbmonoprommo11', NULL, NULL, '/db/mysql/data/mysqltmp/mysql.sock');

?>

1.2 多实例

1台server 多个实例(即这些实例都绑定到同一个机器ip和不同端口)的问题,主要体现在采集端
需要适配多个server 进程

多个实例的监控用户和密码必须保持一致

1.1.->
zabbix
脚本文件
get_mysql_stats_wrapper.sh 

12 行加入

PORT=$2

 

13
host 修改localhost为IP

HOST=”10.241.1.1”

15 行更改为 加入 --port $PORT

CMD="/usr/bin/php -q
$DIR/ss_get_mysql_stats.php --host $HOST --items gg --port $PORT"

16修改为:


CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt”

修改为

if [ $PORT == 3306 ];then

CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt"

else

CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt":$PORT

fi

如下2修改为 加入-P$PORT

RES=`HOME=~zabbix
/db/mysql/app/mysql/bin/mysql 
-uuser-pdbmonoprommo11 -P$PORT -e 'SHOW SLAVE STATUS\G' 2>/dev/null | egrep
'(Slave_IO_Running|Slave_SQL_Running):' | grep -i yes|wc -l`

RES1=`HOME=~zabbix
/db/mysql/app/mysql/bin/mysql 
-uuser-pdbmonoprommo11 -P$PORT -e 'SHOW SLAVE STATUS\G' 2>/dev/null | egrep
'(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

1.2 用户授权

(如下4个授权grant 命令都需要执行,一台服务器多个实例
监控 需要允许 监控账号远程登陆)

>
GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'localhost' IDENTIFIED
BY '123456';

>
grant all privileges on *.* to zabbix@localhost;

>
flush privileges;

>
grant all privileges  on *.* to zabbix@'%' identified by "123456";

>
grant PROCESS,SUPER,REPLICATION CLIENT  on *.* to zabbix@'%' identified by
"123456";

>
flush privileges;

--查询权限:

>
select user,host from mysql.user;

>SELECT
Repl_slave_priv,Repl_client_priv,super_priv,host FROM mysql.USER WHERE USER='zabbix
';

> quit;

测试5.1

 

(使用如下带IP,端口,用户名,密码的登陆方式必须成功 )

mysql -uroot –p123456 -h10.241.1.1 –P3307

mysql -uroot -p123456 -h10.241.1.1 -P3306

测试5.2

(3306 和3307 分别对应着一台主机多个mysql
对外提供服务的 端口号,具体以实际为主,如下命令应该有数字返就是正常),

sh get_mysql_stats_wrapper.sh  gg 
3306

sh get_mysql_stats_wrapper.sh  gg  3307

如果返回值为空的话,使用-x 进行调试:

sh –x get_mysql_stats_wrapper.sh 
gg  3306

2.
zabbix  
自动发现脚本文件mysql_low_discovery.sh  

2.1  cp
mysql_low_discovery.sh 
 /var/lib/zabbix/percona/scripts/

chmod 755  /var/lib/zabbix/percona/scripts/*

2.2

(Use root) 注意:由于此处使用了
sudo ,所以要把zabbix用户加上sudo权限,且只能执行 ss命令

echo 'zabbix ALL=(ALL)
NOPASSWD:/usr/sbin/ss'>>/etc/sudoers

echo 'zabbix ALL=(ALL) NOPASSWD:/bin/netstat'>>/etc/sudoers

3.修改ss_get_mysql_stats.php脚本

<=====端口和socket要改为NULL

$mysql_port = NULL;

$mysql_socket = NULL;

测试5.3

以下2条命令应该返回 数值

php -q
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php  --host 10.241.1.1 --items gg --port 3306

php -q
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php  --host 10.241.1.1 --items gg --port 3307

4.修改userparameter_percona_mysql.conf
配置文件

 

4.1 把每行中的逗号',' 替换为[*],

sed -in 's#,#[*],#g' userparameter_percona_mysql.conf

 

4.2 在每行后面添加 $1

sed -in 's#$# $1#g' userparameter_percona_mysql.conf

4.3 最后在 首行添加端口自动发现脚本 (以下为一行)

sed -in '1i UserParameter=MySQL.discovery,/bin/bash
/var/lib/zabbix/percona/scripts/mysql_low_discovery.sh'
userparameter_percona_mysql.conf

 

验证结果如下:

cat userparameter_percona_mysql.conf

测试6zabbix 用户下执行mysql_low_discovery.sh

 

返回结果应该如下端口号,那就是正常:

 

测试7

(该测试是在zabbix  server上做,等待5分钟,进行测试,返回结果应该出现 端口号 就是正确)

cd
/usr/local/zabbix/bin/

->Server:

./zabbix_get -s 10.241.1.1 -k MySQL.discovery

Issue

有的时候,在
主机监控 ,自动发现里 的 percona 多实例会报错 监控出现 unsupported key 报错

 

解决方法:

1.确认4.3 已经做,并且测试7 通过

2.然后重启zabbix  agent

pkill zabbix

/usr/local/zabbix/sbin/*

3.一般10分钟,zabbix 才会重新检测
unsupported key 的定义

(实际情况,过了将近20分钟,unsupported key的报错才会取消)

->  Administration/General/通过右上角下拉框选择不同的项目完成相关配置和管理。

->  如下图2-36所示。

5.导入模板

5.1 Zabbix
管理网页 模板 导入功能  (Mysql_Multiport.xml)

确认是否导入成功

1.显示已成功导入

2. 自动发现规则如下

注意: 所有的监控项目 都在自动发现规则 下

5.2 将主机
链接到这个新模板

Mysql_Multiport

注意:如果原有的主机已经添加了mysql 单机监控模板,

需要在网页端
删除掉原来的主机。
在重新添加 新加的监控模板(template/percona
multiport template)
即可

ISSUE

2、导入模板

标签无效 "/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" 预计。

解决办法

将zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml导入zabbix2.4中再导出。之后将新的导出xml导入到3.2中问题解决。

或者使用

zbx_percona_mysql_template_v1导入

权限问题

Received value [rm: 无法删除"/tmp/localhost-mysql_cacti_stats.txt":
不允许的操作0] is not suitable for value type [Numeric (float)]

解决办法

cd /tmp

chown -R zabbix.zabbix
localhost-mysql_cacti_stats.txt

/etc/init.d/zabbix-agent restart

或者

pkill zabbix

/usr/local/zabbix/sbin/*

3.添加监控项目

->Agent:

cd /usr/local/zabbix/bin/

(More /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf

(这里是支持扩展的脚本位置)

Useparameter=Mysql.rows-updated,****/get_mysql_stats_wrapper.sh
ix  )

->Server:

./zabbix_get -s 10.241.1.1 -k MySQL.rows-updated

( below it from agent /usr/local/zabbix/bin/chk_mysql.sh)

->server

./zabbix_get -s 10.241.1.1 -k mysql.status[com_rollback]

---------------------

作者:思考v

来源:CSDN

原文:https://blog.csdn.net/xiegh2014/article/details/72859982

版权声明:本文为博主原创文章,转载请附上博文链接!

转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters的更多相关文章

  1. (17)zabbix自定义用户key与参数User parameters

    为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法. 我们可以在客户端配置文件zabbix_angentd.conf里面配 ...

  2. ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出

    zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求.幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据. 定义配置文件 通过yum安装的z ...

  3. zabbix server端自动发现和zabbix agent端自动注册

    一.zabbix自动发现 利用zabbix的discovery功能可以实现自动批量添加主机的功能. Zabbix自动发现实现自定义主机名: 通过自动发现添加的客户端主机的Host name 是以IP地 ...

  4. ZABBIX自动发现Redis端口并监控

    由于一台服务器开启许多Redis实例,如果一台一台的监控太耗费时间,也非常容器出错.这种费力不讨好的事情我们是坚决杜绝的,幸好ZABBIX有自动发现功能,今天我们就来用该功能来监控我们的Redis实例 ...

  5. zabbix/自动发现规则

      对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...

  6. zabbix 自动发现

    转自:https://blog.csdn.net/yyy72999/article/details/76065374 zabbix自动发现/zabbix自动发现规则 置顶2017年07月25日 14: ...

  7. zabbix自动发现与自动注册及SNMP监控

    自动发现与自动注册 自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多. 自动注册:zabb ...

  8. Zabbix自动发现之fping

    原文发表于cu:2016-06-21 Zabbix自动发现功能从配置流程上比较简单:Discovery与Action. 在做Zabbix的自动发现验证时,使用"ICMP ping" ...

  9. zabbix自动发现监控mysql

    一. 数据库给只读权限 1.1 grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix'; flush privileges; ...

随机推荐

  1. .NET CORE 升级3.0遇到的问题the project must provide a value for configuration

    将.NET Core 2.2应用程序迁移到Core 3.0时遇到了the project must provide a value for configuration的问题.原来在.proj项目文件文 ...

  2. destoon系统开发-最新利用浏览器的cookie 做历史浏览记录

      注意: 代码 放在要显示的为 (一般放在详情页),注意本教程不入库,直接利用浏览器的 cookie 缓存判断    <!--历史浏览记录 S--> <div class=&quo ...

  3. js不常用,但很实用的功能

    =============== 通知: 博主已迁至<掘金>码字,博客园可能以后不再更新,掘金地址:https://juejin.im/post/5a1a6a6551882534af25a8 ...

  4. “2018宁夏邀请赛 ” 兼 “The 2019 Asia Yinchuan First Round Online Programming”

    ------------7题弟弟,被各位半小时13题的大佬打惨了(滑稽)---------- 签到题就不写了. F :Moving On            (1247ms) 题意:给定大小为N的带 ...

  5. Python 类的继承__init__() takes exactly 3 arguments (1 given)

    类(class),可以继承基类以便形成具有自己独特属性的类,我们在面向对象的编程中,经常用到类及其继承,可以说没有什么不是类的,今天我们就来详细探讨一下在python中,类的继承是如何做的. 我们假设 ...

  6. Markdown插入图表

    链接:https://www.jianshu.com/p/3cf83d22dd3d Markdown图表语法 本文介绍如何用Markdown的mermaid等语法插入时序图.流程图.甘特图 如果是想学 ...

  7. oc语言源代码

    ? https://opensource.apple.com/source/objc4/objc4-493.9/runtime/

  8. 第2章 Spring中的Bean

    2.1 Bean的配置 Bean本质是Java中的类.Spring可以被看做一个大型工厂,这个工厂的作用就是生产和管理Spring容器zho中的Bean.想在项目中使用这个工厂,就需要对Spring的 ...

  9. luogu_4287:双倍回文

    洛谷4287:双倍回文 前言: 参考博文: https://www.cnblogs.com/Vscoder/p/10498625.html 题目描述: 记字符串\(w\)的倒置为\(w^R\).例如\ ...

  10. micronaut 学习 二 创建一个简单的服务

    micronaut 提供的cli 很方便,我们可以快速创建具有所需特性的应用,以下是一个简单的web server app 创建命令 mn create-app hello-world 效果 mn c ...